[evolvis-commits] r11749: committing a simple xhtml compliant theme [T557] ↵

mirabilos at evolvis.org mirabilos at evolvis.org
Thu Feb 24 18:23:48 CET 2011


Author: mirabilos
Date: 2011-02-24 18:23:48 +0100 (Thu, 24 Feb 2011)
New Revision: 11749

Added:
   trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/
   trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/Theme.class
   trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/css/
   trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/css/gforge-simple-theme.css
   trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/
   trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-grad.png
   trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-topleft.png
   trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-topright.png
   trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/logo.png
Log:
committing a simple xhtml compliant theme [T557]


Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/Theme.class
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/Theme.class	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/Theme.class	2011-02-24 17:23:48 UTC (rev 11749)
@@ -0,0 +1,1056 @@
+<?php
+/**
+ * Base layout class.
+ *
+ * Extends the basic Error class to add HTML functions
+ * for displaying all site dependent HTML, while allowing
+ * extendibility/overriding by themes via the Theme class.
+ *
+ * Make sure browser.php is included _before_ you create an instance of this object.
+ *
+ * Geoffrey Herteg, August 29, 2000
+ *
+ * @version   $Id$
+ */
+ 
+require_once ('www/search/include/SearchManager.class');
+
+class Theme extends Error {
+
+	/**
+	 * The default main page content */
+	var $rootindex = 'index_std.php';
+
+	/*
+     * The root location of the theme
+     * @var      string $themeroot
+	 */
+	 
+	var $themeroot;  	 
+	/**
+	 * The root location for images
+	 *
+	 * @var		string	$imgroot
+	 */
+
+	var $imgroot = '/themes/gforge/images/';
+
+	var $selected_title;
+
+	var $selected_dir;
+	
+	var $selected_id;
+	/**
+	 * Layout() - Constructor
+	 */
+	function Layout() {
+		
+		$this->themeroot=$GLOBALS['sys_themeroot'].$GLOBALS['sys_theme'];
+		/* if images directory exists in theme, then use it as imgroot */
+		if (file_exists ($this->themeroot.'/images')){
+			$this->imgroot='/themes/'.$GLOBALS['sys_theme'].'/images/';
+		}
+		// Constructor for parent class...
+		if ( file_exists($GLOBALS['sys_custom_path'] . '/index_std.php') )
+			$this->rootindex = $GLOBALS['sys_custom_path'] . '/index_std.php';
+		$this->Error();
+
+		
+	}
+
+	/**
+	 *	createLinkToUserHome() - Creates a link to a user's home page	
+	 * 
+	 *	@param	string	The user's user_name
+	 *	@param	string	The user's realname
+	 */
+	function createLinkToUserHome($user_name, $realname) {
+		return '<a href="/users/'.$user_name.'/">'.$realname.'</a>';
+	}
+
+	/**
+	 *	headerStart() - common code for all themes
+	 *
+	 * @param	array	Header parameters array
+	 */
+	function headerStart($params) {
+		global $Language;
+
+		if (!$params['title']) {
+			$params['title'] =  $GLOBALS['sys_name'];
+		} else {
+			$params['title'] =  $GLOBALS['sys_name'] . ': ' . $params['title'];
+		}
+		print '<?xml version="1.0" encoding="' . $Language->getEncoding(). '"?>';
+		?>
+
+<!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" xml:lang="en" lang="<?php echo $Language->getLanguageCode(); ?>">
+
+  <head>
+	<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $Language->getEncoding(); ?>" />
+	<title><?php echo $params['title']; ?></title>
+	<link rel="alternate" title="<?php echo $GLOBALS['sys_name']; ?> - Project News Highlights RSS" href="/export/rss_sfnews.php" type="application/rss+xml"/>
+	<link rel="alternate" title="<?php echo $GLOBALS['sys_name']; ?> - Project News Highlights RSS 2.0" href="/export/rss20_news.php" type="application/rss+xml"/>
+	<link rel="alternate" title="<?php echo $GLOBALS['sys_name']; ?> - New Projects RSS" href="/export/rss_sfprojects.php" type="application/rss+xml"/>
+	
+	<?php	if (isset($GLOBALS['group_id'])) { 
+			$activity = '<link rel="alternate" title="' . $GLOBALS['sys_name'] . ' - New Activity RSS" href="/export/rss20_activity.php?group_id='.$GLOBALS['group_id'].'" type="application/rss+xml"/>';
+			echo $activity;
+		}
+	?>
+<?
+
+/* check if a personalized css stylesheet exist, if yes include only
+   this stylesheet
+   new stylesheets should use the <themename>.css file
+*/
+$theme_cssfile=$GLOBALS['sys_themeroot'].$GLOBALS['sys_theme'].'/css/'.$GLOBALS['sys_theme'].'.css';
+if (file_exists($theme_cssfile)){
+echo '
+<link rel="stylesheet" type="text/css" href="/themes/'.$GLOBALS['sys_theme'].'/css/'.$GLOBALS['sys_theme'].'.css"/>';
+}
+?>
+
+	<script language="JavaScript" type="text/javascript">
+	<!--
+
+	function admin_window(adminurl) {
+		AdminWin = window.open( adminurl, 'AdminWindow','scrollbars=yes,resizable=yes, toolbar=yes, height=400, width=400, top=2, left=2');
+		AdminWin.focus();
+	}
+	function help_window(helpurl) {
+		HelpWin = window.open( helpurl,'HelpWindow','scrollbars=yes,resizable=yes,toolbar=no,height=400,width=400');
+	}
+	// -->
+	<?php plugin_hook ("javascript",false) ; ?>
+	</script>
+<?php plugin_hook ('cssfile',$this); ?>
+
+</head>
+<?php 
+
+	} 
+
+	function header($params) {
+		global $Language;
+
+		$this->headerStart($params); ?>
+<body>
+
+
+
+<div id="container">
+<div id="logo">
+<h1><a href="/">Goto GForge</a></h1>
+<!--<a href="/"><img src="/themes/gforge-simple-theme/images/logo.png" border="0" margin="0" padding="0" valign="top"/></a>-->
+</div>
+    <div id="util">
+
+<?php	if (session_loggedin()) {
+				?>
+
+<a href="/account/logout.php"><?php echo $Language->getText('common','logout'); ?></a><br/>
+<a href="/account/"><?php echo $Language->getText('common','myaccount'); ?></a><br/>
+			
+				<?php
+			} else {
+				?>
+				<a href="/account/login.php"><?php echo $Language->getText('common','login'); ?></a><br/>
+				<a href="/account/register.php"><?php echo $Language->getText('common','newaccount'); ?></a>
+				<?php
+			}
+?>
+            </div>
+
+    <div id="content">
+<br/>
+<?php echo $this->searchBox(); 
+?>
+
+    </div>
+
+
+</div>
+
+<div id="gforge-top-navigation">
+<div id="gforge-toptab-nav">
+<?php echo $this->outerTabs($params); 
+
+?>
+</div>
+</div>
+
+<?php
+if (isset($params['group']) && $params['group']) {
+	echo '<div id="gforge-secondlevel-nav">';
+	echo $this->projectTabs($params['toptab'],$params['group']);
+	echo '</div>';
+
+	}
+
+
+?>
+
+
+<div id="gforge-content">
+<div id="<?php echo "gforge-content-".$this->selected_id; ?>">
+<fieldset><legend><?php 
+echo '<a href="'.$this->selected_dir.'">'.$this->selected_title.'</a>';
+?></legend>
+<?php
+}
+
+
+	function footer($params){
+		echo '</fieldset></div></div>';
+		$this->footerEnd($params);
+
+	}
+	function footerEnd($params) { ?>
+
+<!-- PLEASE LEAVE "Powered By GForge" on your site -->
+<div id="footer">
+<a href="http://gforge.org/"><img src="/images/pow-gforge.png" alt="Powered By GForge Collaborative Development Environment" border="0" /></a>
+</div>
+<?php
+	global $sys_show_source;
+	global $Language;
+	if ($sys_show_source) {
+		print '<a class="showsource" href="/source.php?file=' . getStringFromServer('SCRIPT_NAME') . '"> '.$Language->getText('source','show_source').' </a>';
+	}
+?>
+
+</body>
+</html>
+<?php
+
+	}
+
+	function getRootIndex() {
+		return $this->rootindex;
+	}
+
+	/**
+	 * boxTop() - Top HTML box
+	 *
+	 * @param   string  Box title
+	 * @param   bool	Whether to echo or return the results
+	 * @param   string  The box background color
+	 */
+	function boxTop($title) {
+		return '
+		<!-- Box Top Start -->
+		
+		<table cellspacing="0" cellpadding="0" width="100%" border="0">
+		<tr class="tableheading">
+			<td valign="top" align="right" width="10"><img src="'.$this->imgroot.'clear.png" width="10" height="20" alt="" /></td>
+			<td width="100%"><span class="titlebar">'.$title.'</span></td>
+			<td valign="top" width="10"><img src="'.$this->imgroot.'clear.png" width="10" height="20" alt=""/></td>
+		</tr>
+		<tr>
+			<td colspan="3">
+			<table cellspacing="2" cellpadding="2" width="100%" border="0" class="tablecontent">
+				<tr align="left">
+					<td colspan="2">
+
+		<!-- Box Top End -->';
+	}
+
+	/**
+	 * boxMiddle() - Middle HTML box
+	 *
+	 * @param   string  Box title
+	 * @param   string  The box background color
+	 */
+	function boxMiddle($title) {
+		return '
+		<!-- Box Middle Start -->
+					</td>
+				</tr>
+				<tr align="center">
+					<td colspan="2"><span class="titlebar">'.$title.'</span></td>
+				</tr>
+				<tr align="left">
+					<td colspan="2">
+		<!-- Box Middle End -->';
+	}
+
+	/**
+	 * boxBottom() - Bottom HTML box
+	 *
+	 * @param   bool	Whether to echo or return the results
+	 */
+	function boxBottom() {
+		return '
+			<!-- Box Bottom Start -->
+					</td>
+				</tr>
+			</table>
+			</td>
+		</tr>
+		</table><br />
+		<!-- Box Bottom End -->';
+	}
+
+	/**
+	 * boxGetAltRowStyle() - Get an alternating row style for tables
+	 *
+	 * @param			   int			 Row number
+	 */
+	function boxGetAltRowStyle($i) {
+		if ($i % 2 == 0) {
+			return 'class="altRowStyleEven"';
+		} else {
+			return 'class="altRowStyleOdd"';
+		}
+	}
+
+	/**
+	 * listTableTop() - Takes an array of titles and builds the first row of a new table.
+	 *
+	 * @param	   array   The array of titles
+	 * @param	   array   The array of title links
+	 */
+	function listTableTop ($title_arr,$links_arr=false) {
+
+		$return = '
+	<div id="tabletop">
+	<table>
+		<thead><tr>';
+	$count=count($title_arr);
+	if ($links_arr) {
+		for ($i=0; $i<$count; $i++) {
+			$return .= '
+			<td><a href="'.$links_arr[$i].'">'.$title_arr[$i].'</a></td>';
+		}
+	} else {
+		for ($i=0; $i<$count; $i++) {
+			$return .= '
+			<td>'.$title_arr[$i].'</td>';
+		}
+	}
+	return $return.'</tr></thead>';
+
+
+}
+
+function listTableBottom() {
+	return '</table></td>
+		<!-- <td valign="top" align="right" width="10" background="'.$this->imgroot.'box-grad.png"><img src="'.$this->imgroot.'box-topright.png" width="10" height="75" alt=""/></td> -->
+			</tr></table></div>';
+	}
+
+
+	function outerTabs($params) {
+		global $Language,$sys_use_trove,$sys_use_snippet,$sys_use_people;
+
+		$selected=0;
+		$TABS_DIRS[]='/';
+		$TABS_IDS[]='home';
+		$TABS_TITLES[]=$Language->getText('menu','home');
+
+		$TABS_IDS[]='my';
+		$TABS_DIRS[]='/my/';
+		$TABS_TITLES[]=$Language->getText('menu','mypage');
+		if (strstr(getStringFromServer('REQUEST_URI'),'/my/') || strstr(getStringFromServer('REQUEST_URI'),'/account/') ) {
+			$selected=count($TABS_DIRS)-1;
+		} 
+
+		if ($sys_use_trove) {
+			$thistab='softwaremap';
+			$TABS_IDS[]='softwaremap';
+			$TABS_DIRS[]='/'.$thistab.'/';
+			$TABS_TITLES[]=$Language->getText('menu','projectree');
+			if (strstr(getStringFromServer('REQUEST_URI'),$thistab)){
+				$selected=count($TABS_DIRS)-1;
+			}
+		}
+		if ($sys_use_snippet) {
+			$thistab='snippet';
+			$TABS_IDS[]=$thistab;
+			$TABS_DIRS[]='/'.$thistab.'/';
+			$TABS_TITLES[]=$Language->getText('menu','code_snippet');
+			if (strstr(getStringFromServer('REQUEST_URI'),$thistab)){
+				$selected=count($TABS_DIRS)-1;
+			}	
+		}
+		if ($sys_use_people) {
+			$thistab='people';
+			$TABS_IDS[]=$thistab;
+			$TABS_DIRS[]='/'.$thistab.'/';
+			$TABS_TITLES[]=$Language->getText('menu','project_help_wanted');
+			if (strstr(getStringFromServer('REQUEST_URI'),$thistab)){
+				$selected=count($TABS_DIRS)-1;
+			}	
+		}
+		// outermenu hook
+		$PLUGIN_TABS_DIRS = Array();
+		$hookParams['DIRS'] = &$PLUGIN_TABS_DIRS;
+		$hookParams['TITLES'] = &$TABS_TITLES;
+		plugin_hook ("outermenu", $hookParams) ;
+		$TABS_DIRS = array_merge($TABS_DIRS, $PLUGIN_TABS_DIRS);
+
+		if (user_ismember(1,'A')) {
+			$thistab='admin';
+			$TABS_IDS[]=$thistab;
+			$TABS_DIRS[]='/'.$thistab.'/';
+			$TABS_TITLES[]=$Language->getText('menu',$thistab);
+			if (strstr(getStringFromServer('REQUEST_URI'),$thistab)){
+				$selected=count($TABS_DIRS)-1;
+			}	
+
+		}
+		if (user_ismember($GLOBALS['sys_stats_group'])) {
+			$thistab='reporting';
+			$TABS_IDS[]=$thistab;
+			$TABS_DIRS[]='/'.$thistab.'/';
+			$TABS_TITLES[]=$Language->getText('menu',$thistab);
+			if (strstr(getStringFromServer('REQUEST_URI'),$thistab)){
+				$selected=count($TABS_DIRS)-1;
+			}	
+		}
+
+		if(isset($params['group']) && $params['group']) {
+			// get group info using the common result set
+			$project =& group_get_object($params['group']);
+			if ($project && is_object($project)) {
+				if ($project->isError()) {
+
+				} elseif (!$project->isProject()) {
+
+				} else {
+					$TABS_DIRS[]='/projects/'.$project->getUnixName().'/';
+					$TABS_TITLES[]=$project->getPublicName();
+					$selected=count($TABS_DIRS)-1;
+				}
+			}
+		} elseif (count($PLUGIN_TABS_DIRS)>0) {
+			foreach ($PLUGIN_TABS_DIRS as $PLUGIN_TABS_DIRS_VALUE) {
+				if (strstr($GLOBALS['REQUEST_URI'],$PLUGIN_TABS_DIRS_VALUE)) {
+					$selected=array_search($PLUGIN_TABS_DIRS_VALUE,$TABS_DIRS);
+					break;
+				}
+			}
+		} 
+		$c=(count($TABS_TITLES)-1);
+		if(isset($params['group']) && $params['group']) {
+			/* project is selected */
+			$c--;
+		}
+		for ($i=0; $i<=$c; $i++) {
+			if ($selected == $i){
+				$this->selected_title = $TABS_TITLES[$i];
+				$this->selected_dir = $TABS_DIRS[$i];
+				$this->selected_id = $TABS_IDS[$i];
+	
+				$return .= '<div id="gforge-selected" title="'.$TABS_TITLES[$i].'" >'.$TABS_TITLES[$i].'</div> <span>|</span>';
+			}
+			else{
+				$return .= '<a id="gforge-'.$TABS_IDS[$i].'" title="'.$TABS_TITLES[$i].'"
+href="'.$TABS_DIRS[$i].'">'.$TABS_TITLES[$i].'</a> <span>|</span>';
+			}
+		}
+	if(isset($params['group']) && $params['group']) {
+			$return.= '<div id="gforge-selected"> '.$TABS_TITLES[$i].'</div>';
+			$this->selected_title = $TABS_TITLES[$i];
+	}
+	return $return;
+}
+
+	/**
+	 *	projectTabs() - Prints out the project tabs, contained here in case
+	 *		we want to allow it to be overriden
+	 *
+	 *	@param	string	Is the tab currently selected
+	 *	@param	string	Is the group we should look up get title info
+	 */
+	function projectTabs($toptab,$group) {
+		global $Language;
+
+		// get group info using the common result set
+		$project =& group_get_object($group);
+		if (!$project || !is_object($project)) {
+			return;
+		}
+		if ($project->isError()) {
+			//wasn't found or some other problem
+			return;
+		}
+		if (!$project->isProject()) {
+			return;
+		}
+
+		$TABS_DIRS[]='/projects/'.$project->getUnixName().'/';
+		$TABS_TITLES[]=$project->getPublicName();
+
+		// Summary
+		$TABS_DIRS[]='/projects/'. $project->getUnixName() .'/';
+		$TABS_IDS[]='gforge-project-summary';
+		$TABS_TITLES[]=$Language->getText('group','short_summary');
+		(($toptab == 'home') ? $selected=(count($TABS_TITLES)-1) : '' );
+
+		if (user_ismember($group,'A')) {
+			// Project Admin
+			$TABS_DIRS[]='/project/admin/?group_id='. $group;
+			$TABS_IDS[]='gforge-project-admin';
+			$TABS_TITLES[]=$Language->getText('group','short_admin');
+			(($toptab == 'admin') ? $selected=(count($TABS_TITLES)-1) : '' );
+		}
+		/* Homepage */
+/*		$TABS_DIRS[]='http://'. $project->getHomePage();
+		$TABS_TITLES[]=$Language->getText('group','short_homepage');
+*/
+
+		// Forums
+		if ($project->usesForum()) {
+			$TABS_DIRS[]='/forum/?group_id='.$group;
+			$TABS_IDS[]='gforge-project-forum';
+			$TABS_TITLES[]=$Language->getText('group','short_forum');
+			(($toptab == 'forums') ? $selected=(count($TABS_TITLES)-1) : '' );
+		}
+
+		// Artifact Tracking
+		if ($project->usesTracker()) {
+			$TABS_DIRS[]='/tracker/?group_id='.$group;
+			$TABS_IDS[]='gforge-project-tracker';
+			$TABS_TITLES[]=$Language->getText('group','short_tracker');
+			(($toptab == 'tracker' || $toptab == 'bugs' || $toptab == 'support' || $toptab == 'patch')
+				? $selected=(count($TABS_TITLES)-1) : '' );
+		}
+
+		// Mailing Lists
+		if ($project->usesMail()) {
+			$TABS_DIRS[]='/mail/?group_id='.$group;
+			$TABS_IDS[]='gforge-project-mail';
+			$TABS_TITLES[]=$Language->getText('group','short_mail');
+			(($toptab == 'mail') ? $selected=(count($TABS_TITLES)-1) : '' );
+		}
+
+		// Project Manager
+		if ($project->usesPm()) {
+			$TABS_IDS[]='gforge-project-task';
+			$TABS_DIRS[]='/pm/?group_id='.$group;
+			$TABS_TITLES[]=$Language->getText('group','short_pm');
+			(($toptab == 'pm') ? $selected=(count($TABS_TITLES)-1) : '' );
+		}
+
+		// Doc Manager
+		if ($project->usesDocman()) {
+			$TABS_DIRS[]='/docman/?group_id='.$group;
+			$TABS_IDS[]='gforge-project-docman';
+			$TABS_TITLES[]=$Language->getText('group','short_docman');
+			(($toptab == 'docman') ? $selected=(count($TABS_TITLES)-1) : '' );
+		}
+
+		// Surveys
+		if ($project->usesSurvey()) {
+			$TABS_DIRS[]='/survey/?group_id='.$group;
+			$TABS_IDS[]='gforge-project-survey';
+			$TABS_TITLES[]=$Language->getText('group','short_survey');
+			(($toptab == 'surveys') ? $selected=(count($TABS_TITLES)-1) : '' );
+		}
+
+		//newsbytes
+		if ($project->usesNews()) {
+			$TABS_IDS[]='gforge-project-news';
+			$TABS_DIRS[]='/news/?group_id='.$group;
+			$TABS_TITLES[]=$Language->getText('group','short_news');
+			(($toptab == 'news') ? $selected=(count($TABS_TITLES)-1) : '' );
+		}
+
+		// SCM systems
+		if ($project->usesSCM()) {
+			$TABS_IDS[]='gforge-project-scm';
+			$TABS_DIRS[]='/scm/?group_id='.$group;
+			$TABS_TITLES[]=$Language->getText('group','short_scm');
+			(($toptab == 'scm') ? $selected=(count($TABS_TITLES)-1) : '' );
+		}
+
+		// groupmenu_after_scm hook
+		$hookParams['DIRS'] = &$TABS_DIRS;
+		$hookParams['TITLES'] = &$TABS_TITLES;
+		$hookParams['toptab'] = &$toptab;
+		$hookParams['selected'] = &$selected;
+		$hookParams['group_id'] = $group ;
+				
+		plugin_hook ("groupmenu_scm", $hookParams) ; 
+
+		// Downloads
+		if ($project->usesFRS()) {
+			$TABS_IDS[]='gforge-project-frs';
+			$TABS_DIRS[]='/frs/?group_id='.$group;
+			$TABS_TITLES[]=$Language->getText('group','short_files');
+			(($toptab == 'frs') ? $selected=(count($TABS_TITLES)-1) : '' );
+		}
+
+		// groupmenu hook
+		$hookParams['DIRS'] = &$TABS_DIRS;
+		$hookParams['TITLES'] = &$TABS_TITLES;
+		$hookParams['toptab'] = &$toptab;
+		$hookParams['selected'] = &$selected;
+		$hookParams['group'] = $group;
+				
+		plugin_hook ("groupmenu", $hookParams) ; 
+
+		$return ='';
+		$c=(count($TABS_TITLES)-1);
+                for ($i=0; $i<=$c; $i++) {
+			if ($selected==$i){
+				$this->selected_title = $TABS_TITLES[$i];
+				$this->selected_dir = $TABS_DIRS[$i];
+				$this->selected_ids = $TABS_IDS[$i];
+			       	$return .= '<div id="gforge-selected" >'.$TABS_TITLES[$i].'</div> <span>|</span>';
+
+			}
+			else{
+				if ($TABS_IDS[$i]==''){
+			        	$return .= '<a id="gforge-project-std" title="'.$TABS_TITLES[$i].'" href="'.$TABS_DIRS[$i].'">'.$TABS_TITLES[$i].'</a> <span>|</span>';
+
+				}
+				else {
+			        	$return .= '<a id="'.$TABS_IDS[$i].'" title="'.$TABS_TITLES[$i].'" href="'.$TABS_DIRS[$i].'">'.$TABS_TITLES[$i].'</a> <span>|</span>';
+				}
+			}
+                }
+
+	return $return;
+	}
+
+
+	function searchBox() {
+		global $Language,$words,$forum_id,$group_id,$group_project_id,$atid,$exact,$type_of_search;
+
+		if(get_magic_quotes_gpc()) {
+			$defaultWords = stripslashes($words);
+		} else {
+			$defaultWords = $words;
+		}
+		
+		// if there is no search currently, set the default
+		if ( ! isset($type_of_search) ) {
+			$exact = 1;
+		}
+
+		print '
+		<form action="/search/" method="get">';
+
+
+		$parameters = array(
+			SEARCH__PARAMETER_GROUP_ID => $group_id,
+			SEARCH__PARAMETER_ARTIFACT_ID => $atid,
+			SEARCH__PARAMETER_FORUM_ID => $forum_id,
+			SEARCH__PARAMETER_GROUP_PROJECT_ID => $group_project_id
+		);
+		
+		$searchManager =& getSearchManager();
+		$searchManager->setParametersValues($parameters);
+		$searchEngines =& $searchManager->getAvailableSearchEngines();
+		echo '<select name="type_of_search">';
+		for($i = 0, $max = count($searchEngines); $i < $max; $i++) {
+			$searchEngine =& $searchEngines[$i];
+			echo '<option value="'.$searchEngine->getType().'"'.( $type_of_search == $searchEngine->getType() ? ' selected="selected"' : '' ).'>'.$searchEngine->getLabel($parameters).'</option>'."\n";
+		}
+		echo '</select>';
+		$parameters = $searchManager->getParameters();
+		foreach($parameters AS $name => $value) {
+			print '<input type="hidden" value="'.$value.'" name="'.$name.'" />';
+		}
+
+		print '<input type="text" size="12" name="words" value="'.$defaultWords.'" />';
+
+
+		print '<input type="submit" name="Search" value="'.$Language->getText('searchbox','search').'" />';
+
+
+		if (isset($group_id)) {
+			print '
+					
+					<a class="lnkutility" href="/search/advanced_search.php?group_id='.$group_id.'"> '.$Language->getText('searchbox', 'advanced_search').'</a>';
+		}
+		print '</form>';
+
+	}
+	
+	function advancedSearchBox($sectionsArray, $group_id, $words, $isExact) {
+		global $Language;
+		 // display the searchmask
+		print '
+		<form name="advancedsearch" action="'.getStringFromServer('PHP_SELF').'" method="post">
+		<input type="hidden" name="search" value="1"/>
+		<input type="hidden" name="group_id" value="'.$group_id.'"/>
+		<div align="center"><br />
+			<table border="0">
+				<tr>
+					<td colspan ="2">
+						<input type="text" size="60" name="words" value="'.stripslashes(htmlspecialchars($words)).'" />
+						<input type="submit" name="submitbutton" value="'.$Language->getText('advanced_search', 'search_button').'" />
+					</td>
+				</tr>
+				<tr>
+					<td valign="top">
+						<input type="radio" name="mode" value="'.SEARCH__MODE_AND.'" '.($isExact ? 'checked="checked"' : '').' />'.$Language->getText('advanced_search', 'and_search').'
+					</td>
+					<td>
+						<input type="radio" name="mode" value="'.SEARCH__MODE_OR.'" '.(!$isExact ? 'checked="checked"' : '').' />'.$Language->getText('advanced_search', 'or_search').'
+					</td>
+				</tr>
+			</table><br /></div>'
+		.$this->createUnderSections($sectionsArray).'
+		</form>';
+
+
+		//create javascript methods for select none/all
+		print '
+		<script type="text/javascript">
+			<!-- method for disable/enable checkboxes
+			function setCheckBoxes(parent, checked) {
+
+
+				for (var i = 0; i < document.advancedsearch.elements.length; i++)
+					if (document.advancedsearch.elements[i].type == "checkbox") 
+							if (document.advancedsearch.elements[i].name.substr(0, parent.length) == parent)
+								document.advancedsearch.elements[i].checked = checked;
+				}
+			//-->
+		</script>
+		';
+
+	}
+	
+	function createUnderSections($sectionsArray) {
+		global $Language;
+		$countLines = 0;
+		foreach ($sectionsArray as $section) {
+			if(is_array($section)) {
+				$countLines += (3 + count ($section));
+			} else {
+				//2 lines one for section name and one for checkbox
+				$countLines += 3;
+			}
+		}
+		$breakLimit = round($countLines/3);
+		$break = $breakLimit;
+		$countLines = 0;
+		$return = '
+			<table width="100%" border="0" cellspacing="0" cellpadding="1">
+				<tr class="tableheader">
+					<td>
+						<table width="100%" cellspacing="0" border="0">
+							<tr class="tablecontent">
+								<!--<td colspan="2">'.$Language->getText('advanced_search', 'search_in').':</td-->
+								<td align="right">'.$Language->getText('advanced_search', 'select').' <a href="javascript:setCheckBoxes(\'\', true)">'.$Language->getText('advanced_search', 'all').'</a> / <a href="javascript:setCheckBoxes(\'\', false)">'.$Language->getText('advanced_search', 'none').'</a></td>
+							</tr>
+							<tr height="20" class="tablecontent">
+								<td colspan="3"> </td>
+							</tr>
+							<tr align="center" valign="top" class="tablecontent">
+								<td>';
+		foreach($sectionsArray as $key => $section) {
+			$oldcountlines = $countLines;
+			if (is_array($section)) {
+				$countLines += (3 + count ($section));
+			} else {
+				$countLines += 3;
+			}
+				
+			if ($countLines >= $break) {
+				//if the next block is so large that shifting it to the next column hits the breakpoint better
+				//the second part of statement (behind &&) proofs, that no 4th column is added
+				if ((($countLines - $break) >= ($break - $countLines)) && ((($break + $breakLimit)/$breakLimit) <= 3)) {
+					$return .= '</td><td>';
+					$break += $breakLimit;
+				}
+			}
+		
+			$return .= '<table width="90%" border="0" cellpadding="1" cellspacing="0">
+							<tr><td><table width="100%" border="0" cellspacing="0" cellpadding="3">
+							<tr>
+								<td cellspacing="0">
+									<a href="#'.$key.'">'.$Language->getText('group', $key).'</a>'
+							.'	</td>
+								<td align="right">'
+								.$Language->getText('advanced_search', 'select').' <a href="javascript:setCheckBoxes(\''.$key.'\', true)">'.$Language->getText('advanced_search', 'all').'</a> / <a href="javascript:setCheckBoxes(\''.$key.'\', false)">'.$Language->getText('advanced_search', 'none').'</a>
+								</td>
+							</tr>
+							<tr class="tablecontent">
+								<td colspan="2">';
+								
+			if (!is_array($section)) {
+				$return .= '		<input type="checkbox" name="'.urlencode($key).'"';
+				if (isset($GLOBALS[urlencode($key)]))
+					$return .= ' checked="checked" ';
+				$return .= ' /></input>'.$Language->getText('group', $key).'<br />';
+			}
+			else
+				foreach($section as $underkey => $undersection) {
+					$return .= '	<input type="checkbox" name="'.urlencode($key.$underkey).'"';
+					if (isset($GLOBALS[urlencode($key.$underkey)]))
+						$return .= ' checked ';
+					$return .= '></input>'.$undersection.'<br />';				
+					
+				}
+				
+			$return .=		'	</td>
+							</tr>
+						</table></td></tr></table><br />';
+						
+			if ($countLines >= $break) {
+				if (($countLines - $break) < ($break - $countLines)) {
+					$return .= '</td><td width="33%">';
+					$break += $breakLimit;
+				}
+			}
+		}
+		
+		return $return.'		</td>
+							</tr>
+						</table></td></tr></table>';
+	}
+
+	/**
+	 * beginSubMenu() - Opening a submenu.
+	 *
+	 * @return	string	Html to start a submenu.
+	 */
+	function beginSubMenu () {
+		$return = '
+			<p/><strong>';
+		return $return;
+	}
+
+	/**
+	 * endSubMenu() - Closing a submenu.
+	 *
+	 * @return	string	Html to end a submenu.
+	 */
+	function endSubMenu () {
+		$return = '</strong></p>';
+		return $return;
+	}
+
+	/**
+	 * printSubMenu() - Takes two array of titles and links and builds the contents of a menu.
+	 *
+	 * @param	   array   The array of titles.
+	 * @param	   array   The array of title links.
+	 * @return	string	Html to build a submenu.
+	 */
+	function printSubMenu ($title_arr,$links_arr) {
+		$count=count($title_arr);
+		$count--;
+		
+		$return = '';
+		
+		for ($i=0; $i<$count; $i++) {
+			$return .= '
+				<a href="'.$links_arr[$i].'">'.$title_arr[$i].'</a> | ';
+		}
+		$return .= '
+				<a href="'.$links_arr[$i].'">'.$title_arr[$i].'</a>';
+		return $return;
+	}
+
+	/**
+	 * subMenu() - Takes two array of titles and links and build a menu.
+	 *
+	 * @param	   array   The array of titles.
+	 * @param	   array   The array of title links.
+	 * @return	string	Html to build a submenu.
+	 */
+	function subMenu ($title_arr,$links_arr) {
+		$return  = $this->beginSubMenu () ;
+		$return .= $this->printSubMenu ($title_arr,$links_arr) ;
+		$return .= $this->endSubMenu () ;
+		return $return;
+	}
+
+	/**
+	 * multiTableRow() - create a mutlilevel row in a table
+	 *
+	 * @param	string	the row attributes
+	 * @param	array	the array of cell data, each element is an array,
+	 *				  	the first item being the text,
+	 *					the subsequent items are attributes (dont include
+	 *					the bgcolor for the title here, that will be
+	 *					handled by $istitle
+	 * @param	boolean is this row part of the title ?
+	 *
+	 */
+	 function multiTableRow($row_attr, $cell_data, $istitle) {
+		$return= '
+		<tr '.$row_attr;
+		if ( $istitle ) {
+			$return .=' align="center" class="multiTableRowTitle"';
+		}
+		$return .= '>';
+		for ( $c = 0; $c < count($cell_data); $c++ ) {
+			$return .='<td ';
+			for ( $a=1; $a < count($cell_data[$c]); $a++) {
+				$return .= $cell_data[$c][$a].' ';
+			}
+			$return .= '>';
+			if ( $istitle ) {
+				$return .='<span class="multiTableRowTitle">';
+			}
+			$return .= $cell_data[$c][0];
+			if ( $istitle ) {
+				$return .='</span>';
+			}
+			$return .= '</td>';
+
+		}
+		$return .= '</tr>
+		';
+
+		return $return;
+	}
+	
+	/**
+	 * feedback() - returns the htmlized feedback string when an action is performed.
+	 *
+	 * @param string feedback string
+	 * @return string htmlized feedback
+	 */
+	function feedback($feedback) {
+		if (!$feedback) {
+			return '';
+		} else {
+			return '
+				<span class="feedback">'.strip_tags($feedback, '<br>').'</span>';
+		}
+	}
+
+	/**
+	 * getThemeIdFromName()
+	 *
+	 * @param	string  the dirname of the theme
+	 * @return	integer the theme id	
+	 */
+	function getThemeIdFromName($dirname) {
+	 	$res=db_query("SELECT theme_id FROM themes WHERE dirname='$dirname'");
+	        return db_result($res,0,'theme_id');
+	}
+
+	function quickNav() {
+		if (!session_loggedin()) {
+			return '';
+		} else {
+			$res=db_query("SELECT * FROM groups NATURAL JOIN user_group WHERE user_id='".user_getid()."' ORDER BY group_name");
+echo db_error();
+			if (!$res || db_numrows($res) < 1) {
+				return '';
+			} else {
+				$ret = '
+		<form name="quicknavform" action="" >
+			<select name="quicknav" onChange="location.href=document.quicknavform.quicknav.value">';
+				$ret .= '
+				<option value="">Quick Jump To...</option>';
+				for ($i=0; $i<db_numrows($res); $i++) {
+					$ret .= '
+				<option value="/projects/'.db_result($res,$i,'unix_group_name').'/">'.db_result($res,$i,'group_name').'</option>';
+					if (trim(db_result($res,$i,'admin_flags'))=='A') {
+					$ret .= '
+				<option value="/project/admin/?group_id='.db_result($res,$i,'group_id').'">        Admin</option>';
+					}
+		//tracker
+					if (db_result($res,$i,'use_tracker')) {
+					$ret .= '
+				<option value="/tracker/?group_id='.db_result($res,$i,'group_id').'">        Tracker</option>';
+						if (db_result($res,$i,'admin_flags') || db_result($res,$i,'tracker_flags')) {
+					$ret .= '
+				<option value="/tracker/admin/?group_id='.db_result($res,$i,'group_id').'">                Admin</option>';
+						}
+					}
+		//task mgr
+					if (db_result($res,$i,'use_pm')) {
+					$ret .= '
+				<option value="/pm/?group_id='.db_result($res,$i,'group_id').'">        Task Manager</option>';
+						if (trim(db_result($res,$i,'admin_flags')) =='A' || db_result($res,$i,'project_flags')) {
+					$ret .= '
+				<option value="/pm/admin/?group_id='.db_result($res,$i,'group_id').'">                Admin</option>';
+						}
+					}
+		//FRS
+					if (db_result($res,$i,'use_frs')) {
+					$ret .= '
+				<option value="/frs/?group_id='.db_result($res,$i,'group_id').'">        Files</option>';
+						if (trim(db_result($res,$i,'admin_flags'))=='A' || db_result($res,$i,'release_flags')) {
+					$ret .= '
+				<option value="/frs/admin/?group_id='.db_result($res,$i,'group_id').'">                Admin</option>';
+						}
+					}
+		//SCM
+					if (db_result($res,$i,'use_scm')) {
+					$ret .= '
+				<option value="/scm/?group_id='.db_result($res,$i,'group_id').'">        SCM</option>';
+						/*if (db_result($res,$i,'admin_flags') || db_result($res,$i,'project_flags')) {
+					$ret .= '
+				<option value="/pm/admin/?group_id='.db_result($res,$i,'group_id').'">    Admin</option>';
+						} */
+					}
+		//forum
+					if (db_result($res,$i,'use_forum')) {
+					$ret .= '
+				<option value="/forum/?group_id='.db_result($res,$i,'group_id').'">        Forum</option>';
+						if (trim(db_result($res,$i,'admin_flags'))=='A' || db_result($res,$i,'forum_flags')) {
+					$ret .= '
+				<option value="/forum/admin/?group_id='.db_result($res,$i,'group_id').'">                Admin</option>';
+						}
+					}
+		//mail
+					if (db_result($res,$i,'use_mail')) {
+					$ret .= '
+				<option value="/mail/?group_id='.db_result($res,$i,'group_id').'">        Lists</option>';
+						if (trim(db_result($res,$i,'admin_flags'))=='A') {
+					$ret .= '
+				<option value="/mail/admin/?group_id='.db_result($res,$i,'group_id').'">                Admin</option>';
+						}
+					}
+		//doc
+					if (db_result($res,$i,'use_docman')) {
+					$ret .= '
+				<option value="/docman/?group_id='.db_result($res,$i,'group_id').'">        Docs</option>';
+						if (trim(db_result($res,$i,'admin_flags'))=='A' || db_result($res,$i,'doc_flags')) {
+					$ret .= '
+				<option value="/docman/admin/?group_id='.db_result($res,$i,'group_id').'">                Admin</option>';
+						}
+					}
+		//news
+					if (db_result($res,$i,'use_news')) {
+					$ret .= '
+				<option value="/news/?group_id='.db_result($res,$i,'group_id').'">        News</option>';
+						if (trim(db_result($res,$i,'admin_flags'))=='A') {
+					$ret .= '
+				<option value="/news/admin/?group_id='.db_result($res,$i,'group_id').'">                Admin</option>';
+						}
+					}
+		//survey
+					if (db_result($res,$i,'use_survey')) {
+					$ret .= '
+				<option value="/survey/?group_id='.db_result($res,$i,'group_id').'">        Surveys</option>';
+						if (trim(db_result($res,$i,'admin_flags'))=='A') {
+					$ret .= '
+				<option value="/survey/admin/?group_id='.db_result($res,$i,'group_id').'">                Admin</option>';
+						}
+					}
+				}	
+				$ret .= '
+			</select>
+		</form>';
+			}
+		}
+		return $ret;
+	}
+
+}
+
+// Local Variables:
+// mode: php
+// c-file-style: "bsd"
+// End:
+
+?>

Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/css/gforge-simple-theme.css
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/css/gforge-simple-theme.css	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/css/gforge-simple-theme.css	2011-02-24 17:23:48 UTC (rev 11749)
@@ -0,0 +1,620 @@
+/*main styles*/
+html,body{margin: 0;padding:0}
+body{font-family: arial,sans-serif;font-size: 76%}
+
+A {
+	text-decoration: none;
+	color: CornFlowerBlue;
+}
+/* styles for header */
+div#container{	BACKGROUND-color:#204a87}
+
+div#container A{
+	FONT: 11px Lucida Grande, Tahoma, sans-serif; 
+	color: #eeeeec;
+}
+
+div#header{background-color:#36C;color: #ff0}
+
+
+div#logo{float: left;width: 200px;\width:210px;w\idth:210px;padding: 1em 0 0 10px;height: 52px;
+	BACKGROUND: url(/themes/gforge-simple-theme/images/logo.png) no-repeat; }
+
+div#logo H1 {
+	width: 200px;
+	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px;
+	MARGIN: 0px; POSITION: top; HEIGHT: 52px;
+}
+
+div#logo H1 A {
+	width: 200px;
+	DISPLAY: block; TEXT-INDENT: -99em; HEIGHT: 52px;
+}
+
+
+div#util{float: right; width: 100px;\width:110px;w\idth:110px;padding: 1em 5px;
+text-transform: lowercase;
+FONT: 11px Lucida Grande, Tahoma, sans-serif; 
+border: 0px;
+top-margin:0px;
+
+}
+
+
+
+div#toolscontent{margin: 0 210px;padding: 1em 10px}
+
+
+div#content{margin: 0 170px;padding: 1em 10px}
+
+
+/* style for footer */
+div#footer{clear:both; text-align:center; padding: 5px 0;
+     color: #000}
+
+
+
+/*
+
+FINE*/
+	
+#contenitore{
+	width: 100%;
+	display: inline;
+	background-color: #204a87;
+
+}
+
+
+#gforge-top {
+	float:left;
+	width: 250px;
+	background-color: #204a87;
+BACKGROUND: url(/themes/gforge-simple-theme/images/logo.png) no-repeat;
+}
+
+/*
+<H1><a href="/">GForge</a></H1>
+*/
+
+
+#menudx{
+	text-transform: lowercase;
+	float:right;
+	FONT: 11px Lucida Grande, Tahoma, sans-serif; 
+	font-size:95%;
+	border: 0px;
+	background-color: #204a87;
+	color:#000;
+	top-margin:0px;
+	height: 52px;
+	float:right;
+	width: 10em;
+}
+
+#toputilities {
+	height: 52px;
+	float: left;
+	width: 60%;
+	background-color: #204a87;
+	FONT: 11px Lucida Grande, Tahoma, sans-serif; 
+
+}
+
+#toputilities FORM SELECT  {
+	FONT: 10px Lucida Grande, Tahoma, sans-serif; 
+
+
+}
+#toputilities TEXTAREA, INPUT, SELECT, OPTION{
+//	background-color: #729fcf;
+//	border: 2px;
+//	border-color: green;
+	FONT: 9px Lucida Grande, Tahoma, sans-serif; 
+
+
+}
+
+#toputilities A{
+	color: white;
+}
+
+
+#topempty {
+	height: 52px;
+	float: right;
+	width: 35em;
+	background-color: #204a87;
+	FONT: 11px Lucida Grande, Tahoma, sans-serif; 
+
+}
+
+
+
+#menudx a{
+	color: #eeeeec;
+	FONT: 11px Lucida Grande, Tahoma, sans-serif; 
+
+	
+}
+
+
+/* TODO:
+
+copy gforge-compat.css styles and personalize them.
+*/
+ at import url(/themes/gforge-simple-theme/css/base.css);
+
+#gforge-header {
+	width: 100%;
+	display: inline;
+	height: 52px;
+	background-color: #00004e;
+	width: 85%;
+}
+
+#gforge-top {
+	BACKGROUND-color:#00004e; ; MARGIN-BOTTOM: 0px; OVERFLOW: hidden; HEIGHT: 52px; width: 185px;
+	FLOAT: left;
+}
+
+
+#gforge-top H1 {
+	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px;
+	BACKGROUND: url(/themes/gforge-simple-theme/images/logo.png) no-repeat; MARGIN: 0px; POSITION: top; HEIGHT: 52px;
+}
+#gforge-top H1 A {
+	DISPLAY: block; BACKGROUND: url(images/logo.png) no-repeat; WIDTH: 498px; TEXT-INDENT: -99em; HEIGHT: 52px;
+}
+
+#gforge-utility {
+
+text-transform: lowercase;
+float:right;
+FONT: 11px Lucida Grande, Tahoma, sans-serif; 
+font-size:95%;
+width:15%;
+border: 1px solid #669;
+background-color: #ededed;
+color:#000;
+top-margin:0px;
+}
+
+
+
+#footer {
+	width: 100%;
+	
+
+}
+
+/** NAVIGATION **/
+
+div#gforge-top-navigation{	
+BACKGROUND-color:#3465a4;}
+
+
+/* OUTER TABS */
+
+/* first level navigation (usually main tabs) */
+
+
+
+
+
+
+#gforge-toptab {
+	margin: 10px auto;
+	background-color: blue;
+	}
+
+
+
+#gforge-toptab-nav {
+	FLOAT: right; BACKGROUND-color:#3465a4; MARGIN: 0px; HEIGHT: 34px; 
+}
+#gforge-toptab-nav A {
+	FLOAT: left; FONT: 11px/34px Lucida Grande, Tahoma, sans-serif; TEXT-TRANSFORM: lowercase; COLOR: #eee; TEXT-DECORATION: none;
+}
+
+#gforge-toptab-nav A:hover {
+	LINE-HEIGHT: 24px
+}
+
+#gforge-toptab-nav A#gforge-home:hover {
+	BORDER-TOP: #8ae234 5px solid
+}
+
+#gforge-toptab-nav A#gforge-my:hover {
+	BORDER-TOP: #fce94f 5px solid
+}
+#gforge-toptab-nav A#gforge-reporting:hover {
+	BORDER-TOP: #fcaf3e 5px solid
+}
+#gforge-toptab-nav A#gforge-admin:hover {
+	BORDER-TOP: #e9b96e 5px solid
+}
+#gforge-toptab-nav A#gforge-people:hover {
+	BORDER-TOP: #8ae234 5px solid
+}
+#gforge-toptab-nav A#gforge-softwaremap:hover {
+	BORDER-TOP: #ad7fa8 5px solid
+}
+#gforge-toptab-nav A#gforge-snippet:hover {
+	BORDER-TOP: #ef2929 5px solid
+}
+
+
+#gforge-toptab-nav #gforge-selected {
+	FONT: 11px Lucida Grande, Tahoma, sans-serif; 
+	color:white;
+	background-color: #c4a000;
+	height: 34px;
+	line-height: 24px;
+	FLOAT: left; FONT: 11px/34px Lucida Grande, Tahoma, sans-serif; TEXT-TRANSFORM: lowercase; TEXT-DECORATION: none
+
+}
+/* does not work*/
+#gforge-toptab-nav SPAN {
+	DISPLAY: block; BACKGROUND-image: url(/themes/gforge-simple-theme/images/top-sep.gif) no-repeat center top; FLOAT: left; MARGIN: 0px 6px; OVERFLOW: hidden; WIDTH: 1px; CURSOR: default; TEXT-INDENT: -5em; HEIGHT: 34px
+}
+
+
+/* END OUTER TABS */
+
+
+/* PROJECT TABS */
+
+#gforge-secondlevel-nav {
+	FLOAT: right; BACKGROUND-color:#729fcf; MARGIN: 0px; HEIGHT: 34px;
+
+}
+
+#gforge-secondlevel-nav A {
+	FLOAT: left; FONT: 11px/34px Lucida Grande, Tahoma, sans-serif; TEXT-TRANSFORM: lowercase; COLOR: #eee; TEXT-DECORATION: none
+}
+
+#gforge-secondlevel-nav A:hover {
+	LINE-HEIGHT: 24px
+}
+
+
+#gforge-secondlevel-nav A#gforge-project-summary:hover {
+	BORDER-TOP: #c4a000 5px solid
+}
+#gforge-secondlevel-nav A#gforge-project-admin:hover {
+	BORDER-TOP: #ce5c00 5px solid
+}
+#gforge-secondlevel-nav A#gforge-project-forum:hover {
+	BORDER-TOP: #8f5902 5px solid
+}
+#gforge-secondlevel-nav A#gforge-project-tracker:hover {
+	BORDER-TOP: #4e9a06 5px solid
+}
+#gforge-secondlevel-nav A#gforge-project-mail:hover {
+	BORDER-TOP: #204a87 5px solid
+}
+#gforge-secondlevel-nav A#gforge-project-task:hover {
+	BORDER-TOP: #5c3566 5px solid
+}
+#gforge-secondlevel-nav A#gforge-project-docman:hover {
+	BORDER-TOP: #a40000 5px solid
+}
+
+#gforge-secondlevel-nav A#gforge-project-survey:hover {
+	BORDER-TOP: #73d216 5px solid
+}
+
+#gforge-secondlevel-nav A#gforge-project-news:hover {
+	BORDER-TOP: #c17d11 5px solid
+}
+
+#gforge-secondlevel-nav A#gforge-project-scm:hover {
+	BORDER-TOP: #fcaf3e 5px solid
+}
+#gforge-secondlevel-nav A#gforge-project-plugin:hover {
+	BORDER-TOP: #edd400 5px solid
+}
+
+#gforge-secondlevel-nav A#gforge-project-frs:hover {
+	BORDER-TOP: #a40000 5px solid
+}
+
+#gforge-secondlevel-nav #gforge-selected {
+	FONT: 11px Lucida Grande, Tahoma, sans-serif; 
+	color:white;
+	background-color: #75507b;
+	height: 34px;
+	line-height: 24px;
+	FLOAT: left; FONT: 11px/34px Lucida Grande, Tahoma, sans-serif; TEXT-TRANSFORM: lowercase; COLOR: #eee; TEXT-DECORATION: none
+
+}
+
+
+
+#gforge-secondlevel-nav SPAN {
+	DISPLAY: block; BACKGROUND: url(images/top-sep.gif) no-repeat center top; FLOAT: left; MARGIN: 0px 6px; OVERFLOW: hidden; WIDTH: 1px; CURSOR: default; TEXT-INDENT: -5em; HEIGHT: 34px
+}
+
+
+
+
+
+
+
+
+
+
+
+
+/* END PROJECT TABS */
+
+
+
+#gforge-content{
+	width: 100%;
+	FONT: 11px Lucida Grande, Tahoma, sans-serif; 
+	float: right;
+	margin: 0px;
+	padding: 0px;
+
+	}
+
+/* from base.css */
+
+.altRowStyleEven { 
+	background-color: #EAEAEA; 
+	font-weight: none
+	}
+
+.altRowStyleOdd { 
+	background-color: #E0E0E0; 
+	font-weight: none
+}
+
+
+/* definition for content table */
+.tableheading {
+	background-color:#D0D0D0; 
+	text-align: center;
+	font-weight:  bold;
+	}
+
+.tablecontent {
+	font-size: 11px;
+	background-color: #eeeeee
+	
+	}
+
+.tablegetmore {
+	background-color: #EAEAEA
+	}
+
+div#tabletop {
+	width: 950px;
+	background-image: url(/themes/gforge-simple-theme/images/box-grad.png);
+}
+
+div#tabletop TABLE{
+	width: 950px;
+}
+div#tabletop THEAD{
+	text-align: center;
+	font-weight: bold;
+	border: 0px;
+	padding: 0px;
+	margin: 0px;
+}
+
+div#tabletop THEAD A{
+	color: black;
+}
+
+div#tabletop THEAD TD{
+	color: #00004a;
+}
+
+div#tabletop TBODY{
+	background-color: #eeeeee;
+}
+
+
+
+div#gforge-content-snippet {
+
+}
+div#gforge-content-softwaremap {
+
+}
+
+
+/* priority styles */
+.priority1 { background-color: #dadada}
+.priority2 { background-color: #dacaca}
+.priority3 { background-color: #dababa}
+.priority4 { background-color: #daaaaa}
+.priority5 { background-color: #da8a8a}
+
+
+/* START */
+
+/* Default stylesheet for gforge
+
+
+/* end form elements */
+
+STRONG {font-weight: bold}
+
+h1, h2, h3, h4, h5, h6 { 
+	font-family: Lucida Grande, Tahoma, sans-serif; 
+	font-weight:none;
+	padding:0;
+}
+
+H1 { 
+	font-family: Lucida Grande, Tahoma, sans-serif; 
+	font-size: x-large
+	}
+H2 { 
+	font-family: Lucida Grande, Tahoma, sans-serif; 
+	font-size: large
+	}
+H3 { 
+	font-family: Lucida Grande, Tahoma, sans-serif; 
+	font-size: medium
+	}
+
+H4 { 
+	font-family: Lucida Grande, Tahoma, sans-serif; 
+	font-size: small
+	}
+
+H5 { 
+	font-family: Lucida Grande, Tahoma, sans-serif; 
+	font-size: x-small
+	}
+
+H6 { 
+	font-family: Lucida Grande, Tahoma, sans-serif; 
+	font-size: xx-small
+	}
+
+
+
+.titlebar { 
+	FONT-SIZE:11px; 
+	color: black; 
+	text-decoration: none; 
+	}
+
+.develtitle {
+	FONT-SIZE: 11px; 
+	COLOR: #535c5f; 
+	font-family: Lucida Grande, Tahoma, sans-serif; 
+	}
+
+
+/* styles for prev next up and down*/
+.prev, .next, up, down {
+	font-family: Lucida Grande, Tahoma, sans-serif; 
+	font-size: small; 
+	text-decoration: bold
+	}
+
+/* top */
+.up {
+	color: #009900
+	}
+
+.down {
+	color: #CC0000
+	}
+
+/* global styles */
+
+/* style for error messages 
+   Use this style if you need to display an error, e.g:
+     User does not exist
+*/
+.error {
+	font-family: Lucida Grande, Tahoma, sans-serif; 
+	color: red;
+	text-decoration: bold;
+	font-size: 14px;
+}
+
+/* style for warning messages 
+   Use this style if you need to display a warning*/
+
+.warning {
+	font-family: Lucida Grande, Tahoma, sans-serif; 
+	color: red: 
+	text-decoration: none
+	}
+
+/* style for feedback  
+   Use this style to tell the user that the operation he
+   requested was executed successfully, e.g:
+   User was successfully registered
+*/
+.feedback {
+	color: red; 
+	font-size: 13px; 
+	text-align: center; 
+	text-decoration: none
+	border: 1px #0ac solid;
+	}
+
+/* style for attention 
+   Use this if you wish to display important messages
+   within a text.
+   Note that once registered, the project cannot be deleted
+*/
+
+.important {
+	color: red; 
+	font-weight: bold
+	}
+
+
+.veryimportant {
+	color: red; 
+	font-weight: bold; 
+	font-size: large; 
+	text-align: center
+	}
+   
+
+/* the following style are for displaying items in different states */
+
+.active {
+	background-color: #73d216; 
+	text-decoration: none; 
+	font-weight: normal
+	}
+
+.inactive {
+	background-color: #c17d11;
+	}
+
+.deleted {
+	background-color: #cc0000; 
+	color: white;
+	}
+
+.suspended {
+
+	background-color: #edd400;
+	}
+
+.pending {
+	background-color: #f57900;
+	}
+
+/* the following style is used when a word or an item should be highlighted; e.g.
+   selected release or words in the advanced search */
+
+.selected {
+	background-color: pink
+	}
+
+/* style for required fields */
+.requiredfield {
+	color: red; 
+	font-weight: bold
+	}
+
+
+.bookmark {
+	font-size: 10px;
+}
+
+/* END*/
+
+fieldset {
+
+}
+legend {
+	font-size: 12px;
+}
+

Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-grad.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-grad.png	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-grad.png	2011-02-24 17:23:48 UTC (rev 11749)
@@ -0,0 +1,5 @@
+‰PNG
+
+   
+IHDR     Ð   …Y    	pHYs    ÒÝ~ü   tIMEÔ	(Ö˜þó   gIDATxœíË¡  1î‡þ[ù± —u›î[3É•«Êÿî?ÀÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌüÙ
+<•²Š     IEND®B`‚
\ No newline at end of file


Property changes on: trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-grad.png
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-topleft.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-topleft.png	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-topleft.png	2011-02-24 17:23:48 UTC (rev 11749)
@@ -0,0 +1,6 @@
+‰PNG
+
+   
+IHDR   
+   K   ÆT#   	pHYs    ÒÝ~ü   tIMEÔ	22á6È   ©IDATxœíÍË
+ƒ0…á™÷9	‘ˆ¸p“…Š%ÔéFZëeºè¢P2Û/Žbf¼_Œ±ª*çÜ8Žt°º®ó<6j_Ea­Ý¿¦}W–¥Rꂽ÷Z냽Ø“eNG ú¾ïºîœnÜ4Í¥ fvÎÝrÛ¶—«Ãp— iš$!H<ϳ´½®«T€ˆhY–[ffiûÃçß±0üãmÉ'Nœ8ñßð†ÛQ’xV9    IEND®B`‚
\ No newline at end of file


Property changes on: trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-topleft.png
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-topright.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-topright.png	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-topright.png	2011-02-24 17:23:48 UTC (rev 11749)
@@ -0,0 +1,7 @@
+‰PNG
+
+   
+IHDR   
+   K   ÆT#   	pHYs    ­#½u   tIMEÔ	-”Ähþ   ³IDATxœíÏ1
+„0…á™(Øx [±Îá=‹ˆ‚‚E‹$ƒØˆcá.ì‚ì–üíGæ¬ë:Ïó¢(ªªÊ²¾K™™ˆˆhG­uY–Ÿ¬ð 4MÓ÷ý=_
+Ã0MS±m["zñm]×_#¢sÎ{dD4ÆH<Ï33§J)d­M¯߶,‹ÄëºJ¼m›´½ï»ôú8‰@â$I¤mf~pü¶Ÿ´-YäÈ‘#Gþ>Ò{Eyï«    IEND®B`‚
\ No newline at end of file


Property changes on: trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/box-topright.png
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/logo.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/logo.png	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/www/themes/gforge-simple-theme/images/logo.png	2011-02-24 17:23:48 UTC (rev 11749)
@@ -0,0 +1,22 @@
+‰PNG
+
+   
+IHDR   Æ   4   æ·}   ´PLTE   ïïï÷÷÷ççïïï÷÷÷ÿÖÖÞÞÞçÎÎÞÖÖçÞÞïÆÆÖ½½ÎÆÆÞ½½ÖµµÎ¥¥½­­Æœœµ¥¥Æœœ½””µŒŒ­„„¥{{œŒŒµ„„­{{¥ssœkk”ccŒkkœcc”ZZŒRR„JJ{RRŒBBsJJ„BB{99k99s11k11s))c))k!!Z!!cRZcJRZJR  1  9  B  J/¤úØ   <tRNSÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ »ˆë§   bKGD;9ôl   	pHYs   H   H FÉk>  ¤IDATxÚÝZwšH?
+ž€	j£$ŠU
+j)9„2üÿÿ×-ì,ìÚ\ûîÅvÌË3°ó›ïÙÍ_ÅA}4ÿ'€	à£9üi ‘ëØædbšÖ*,~ PÄ«‘FRíß IÀÙ!DÚ/J²·ýúi¤b²;"ÀdAˆîøúDé#ÑrJˆÜ·“H0`?%Ú:Ê%Ž!O·}|×–%€FìSWì Éš+þh^ß(¯‹~' tbÆ÷«lˆ¶•ÍIüMÈ$¹[5ð•W³Yú6deú«ŸÄ±þ»üRdxÿd"¼æõô·—¹eÖ¯9‡hL^Z»ÈÔåⷨȻÌܚŇ䝜uˈÞ]kmXÄFŽ¡8Ú:O~ÊxyÁ…`G´HXή»>n(íV\\s¨«êp²:µYñ›I^˜ô`(¢õt¬ªºn<ídw…cß®#÷ˆÎYÌf
+IÝr|sò$,˜¯‰L‹f?šF-a•I ;š-ÍnZœ)LÖ×¢Ovv]A#5ÉyÒ&‡1_Ç$„6Œ¤k¥µDœ_…AËIˉÓ~»®®Ã€1Röí¤“.Í2θyF­
+ &Ú¦‘ÀJ6ÁΓÎd!„v`,錰(É”ôr˜èJcç×µ‘Y=KèÄ»0k½ŒúØóÉùòª6 RÔ76îßa´
+#oÁU£øåyίÃà±`Ö+Š&íôÀ g>Ùì\á†o€OæM\uhM«­Ò2jCòÌy¨ÜÁªø‚NËO€Õ
+lùæ!Ä·¹›ÔÚBªK.{}å‚£“‹4pXÏ0\qp£š³MÃcÜD*‡ùNŽîÖ¨‡r`Ompt,ûp­9«‚:ÀAÅ5"Ƙ²Ž¶Ø›7Ô¿ò9g“¿Ð÷ÓuÚñrñfÛ
+F¦£Ñà.p¾Ô¤cDÏLÉ!oÁXËY!A/õÀ¶aÏ ÁÐËŒ”»ìÝ”
+ÝàäÏu*>9^!D9î®´+ƒ¡Œ#)®31²ïÈ•Á² CÜ6ŒWž5‘пŘ6gTYzi4c¡ÕŠ“-‰IJ«¾]+	™°”ø¾¿+ª_S3²P¥õãº
+c¶†WÉ¥"!§CôÀ,³Ž¤
+ô$Gš,Fgppm8Ò®ƒ‰Žz°H£2[@ŒÖÊXðɲ
+ƒÓ¸J.pÄÐ’‰{c*ØH0¨oÐÊ	å¿­^œY8P™QoÝ’^«ßîæ"iƒÓ0`XŒ·Ef
+‚¬®Á`ÒÊ«";a8’ƒñHD¡÷ˆÊ®löh•qdr&þÒc$°™6ž©-êÙÿŒü€Ö-4:‡“‹0ˆ>®ÝJæ`3¥õ UŒÓõuiD%ÐÍ•å'·ë-mÜ„!iC 5È0Ò.%ì×F*hcˆ‘JGÌ7X´Ôãk‘ŠÓß™ÈÉXò
+4L·†jò‚“›ƒÁ´1–`d½0AcCÛNñ¼­·õ«G{QÏeÞh§?«ìmw•PÂ	\Ðx|úsS¦ñÉÌS²É@-	‡©ž¤]YŸaºÆ™zþÞ4V6W;S—~îdñ\êã¸/Í…¼áJå0†Ÿ£fdf‹xà¤3ëìBÒ†¼+¯©XYç¶aó	ÓÆ™L:5U;‹cU¤Ô±¾> Få,>ä­Í¦³&K†›9F|^t]ÏâqÓOшçX¯€‡N?gÚrðË
+eWϼ#Äšê7bA!ÁЋƒ"ÈHš\/
+†d#ÔTФFfTt(VâõicÅqp_d!¤ºÐþ]Ñ¸¾æÆI–Å7œ¢ã’Û\øíR”¬ÿa&?ÉÂa,"¤Kƒ6S\æS@ô&n±¦ŠÚ‹ÑíþÚ0¨kÖÑejOü‡F漦‚Hk?áQÖØìƒà°@4.¾NÛ´zñÄà	è[_ÛÂvËøï€Ñ×΋¾"”†°jqYúiMšÒ⠸݋—Úð‚âèt /…Vµ“Þ„Q͵i @(
+¹ðæ¥×#'}Œ2®òJ¡ØHI˜×iÑ78ïAeÑÎÓ££ØÐ40j¦›Ó!ð;§Ï͡ۍ^¼2„A÷ s
+í`ìðfâ/òe¹¬º0Ê@-VúR>§b†«ÅeÔÀ@D„“×Ä©ŒÄž._t ŠÚ 	Bm"=¼í6ËÕzÔç¨@3“-EÃÎz´èÏ®ÿ>ó¬ò¦Š¨CÓmÓÃÚ*'ÎËÇVß­Ç…(¡ó—‚ÔŒ'OÁᑍç?ž£´|½Íîb]Bl£u3€×µ×Nas¸„»ƒĐw^1WÉsyiˆ‚rò)k¯ßs‰ª×â5Íœ:ó–àdÑùÃתƒùŸ<Sgsß9[¼¦)+ªÙ[ÏDH·*™Þñ-Më
+óeL´—DBMâH#‹s¿w49´opC´…Ê(.ÞŒ†uï7º‰-ßÓì§ÙÏ› *ŠËq»rF4^n“üç–ÿ ¥ÏeúÑT]”ÕÀÄ‹ï[EïÿŒ dç¥mu]MæÞå×îï>ƒò£»¹û¢?úÿ©~;úC`üfÏ×÷   tEXtSoftware gif2png 2.4.6¤3ƒ    IEND®B`‚
\ No newline at end of file



More information about the evolvis-commits mailing list