[evolvis-commits] r17639: [#2030] theme-evolvis pending merges:↵ Thorsten Glaser 2011-10-25 drop “standardista-table-sorting”↵ Thorsten Glaser 2011-10-25 disable the tabber to match 4.8 UI and make theming easier↵ Thorsten Glaser 2011-10-25 use stored-collapsibles; convert FRS to use them for better overview↵ Thorsten Glaser 2011-10-25 use boxGetAltRowStyle↵ Thorsten Glaser 2011-10-25 implement “hide from printing” and “save collapsible state in cookie”↵ Thorsten Glaser 2011-10-25 refactor common ECMAscript functions↵ Thorsten Glaser 2011-10-25 implement id as second box{Top,Middle} argument API in Evolvis theme↵ Thorsten Glaser 2011-10-25 unique API for box{Top,Middle}($;$) and make its description match re...↵ Thorsten Glaser 2011-10-25 example conversion to new boxTop; XHTML fixes↵ Thorsten Glaser 2011-10-25 make boxen collapsible using ECMAscript and style them↵ Thorsten Glaser 2011-10-25 oops, fix mistake from last commit↵ Thorsten Glaser 2011-10-25 fix sizes for icons↵ Thorsten Glaser 2011-10-25 unbreak monospaced elements↵ Thorsten Glaser 2011-10-25 make the CSS into a symlink, don't fsck me up while developing↵ Thorsten Glaser 2011-10-25 switch submenu design and get closer to what was discussed with khapke↵ Thorsten Glaser 2011-10-25 re-position elements, so we can do a mock of the new design↵ Thorsten Glaser 2011-10-25 [#2214] drop “Evolvis Portal” link, will use a global extratab instead

mirabilos at evolvis.org mirabilos at evolvis.org
Tue Oct 25 17:56:30 CEST 2011


Author: mirabilos
Date: 2011-10-25 17:56:30 +0200 (Tue, 25 Oct 2011)
New Revision: 17639

Added:
   trunk/gforge_base/evolvisforge-5.1/src/www/themes/css/evolvis.css
   trunk/gforge_base/evolvisforge-5.1/src/www/themes/evolvis/evolvis.css
Removed:
   trunk/gforge_base/evolvisforge-5.1/src/www/js/standardista-table-sorting.js
   trunk/gforge_base/evolvisforge-5.1/src/www/themes/css/evolvis.css
Modified:
   trunk/gforge_base/evolvisforge-5.1/src/common/include/SCMPlugin.class.php
   trunk/gforge_base/evolvisforge-5.1/src/common/include/utils.php
   trunk/gforge_base/evolvisforge-5.1/src/etc/config.ini.d/defaults.ini
   trunk/gforge_base/evolvisforge-5.1/src/plugins/projects_hierarchy/common/projects_hierarchyPlugin.class.php
   trunk/gforge_base/evolvisforge-5.1/src/www/account/index.php
   trunk/gforge_base/evolvisforge-5.1/src/www/frs/admin/qrs.php
   trunk/gforge_base/evolvisforge-5.1/src/www/frs/index.php
   trunk/gforge_base/evolvisforge-5.1/src/www/include/Layout.class.php
   trunk/gforge_base/evolvisforge-5.1/src/www/include/features_boxes.php
   trunk/gforge_base/evolvisforge-5.1/src/www/include/user_home.php
   trunk/gforge_base/evolvisforge-5.1/src/www/index_std.php
   trunk/gforge_base/evolvisforge-5.1/src/www/js/common.js
   trunk/gforge_base/evolvisforge-5.1/src/www/pm/browse_task.php
   trunk/gforge_base/evolvisforge-5.1/src/www/tabber/example-cookies.html
   trunk/gforge_base/evolvisforge-5.1/src/www/themes/evolvis/Theme.class.php
   trunk/gforge_base/evolvisforge-5.1/src/www/themes/funky/Theme.class.php
   trunk/gforge_base/evolvisforge-5.1/src/www/themes/gforge/Theme.class.php
   trunk/gforge_base/evolvisforge-5.1/src/www/tracker/detail.php
   trunk/gforge_base/evolvisforge-5.1/src/www/tracker/mod-limited.php
   trunk/gforge_base/evolvisforge-5.1/src/www/tracker/mod.php
Log:
[#2030] theme-evolvis pending merges:
  Thorsten Glaser 2011-10-25 drop “standardista-table-sorting”
    Thorsten Glaser 2011-10-25 disable the tabber to match 4.8 UI and make theming easier
    Thorsten Glaser 2011-10-25 use stored-collapsibles; convert FRS to use them for better overview
    Thorsten Glaser 2011-10-25 use boxGetAltRowStyle
    Thorsten Glaser 2011-10-25 implement “hide from printing” and “save collapsible state in cookie”
    Thorsten Glaser 2011-10-25 refactor common ECMAscript functions
    Thorsten Glaser 2011-10-25 implement id as second box{Top,Middle} argument API in Evolvis theme
    Thorsten Glaser 2011-10-25 unique API for box{Top,Middle}($;$) and make its description match re...
    Thorsten Glaser 2011-10-25 example conversion to new boxTop; XHTML fixes
    Thorsten Glaser 2011-10-25 make boxen collapsible using ECMAscript and style them
    Thorsten Glaser 2011-10-25 oops, fix mistake from last commit
    Thorsten Glaser 2011-10-25 fix sizes for icons
    Thorsten Glaser 2011-10-25 unbreak monospaced elements
    Thorsten Glaser 2011-10-25 make the CSS into a symlink, don't fsck me up while developing
    Thorsten Glaser 2011-10-25 switch submenu design and get closer to what was discussed with khapke
    Thorsten Glaser 2011-10-25 re-position elements, so we can do a mock of the new design
    Thorsten Glaser 2011-10-25 [#2214] drop “Evolvis Portal” link, will use a global extratab instead


Modified: trunk/gforge_base/evolvisforge-5.1/src/common/include/SCMPlugin.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/common/include/SCMPlugin.class.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/common/include/SCMPlugin.class.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -134,7 +134,7 @@
 
 	function getBrowserLinkBlock ($project) {
 		global $HTML ;
-		$b = $HTML->boxMiddle(_('Repository Browser'));
+		$b = $HTML->boxMiddle(_('Repository Browser'), '', false, 'scm_browselink');
 		$b .= '<p>';
 		$b .= _('Browsing the SCM tree is not yet implemented for this SCM plugin.');
 		$b .= '</p>';
@@ -148,7 +148,7 @@
 
 	function getBrowserBlock ($project) {
 		global $HTML ;
-		$b = $HTML->boxMiddle(_('Repository Browser'));
+		$b = $HTML->boxMiddle(_('Repository Browser'), '', false, 'scm_browselink');
 		$b .= '<p>';
 		$b .= _('Browsing the SCM tree is not yet implemented for this SCM plugin.');
 		$b .= '</p>';
@@ -157,7 +157,7 @@
 
 	function getStatsBlock ($project) {
 		global $HTML ;
-		$b = $HTML->boxMiddle(_('Repository Statistics'));
+		$b = $HTML->boxMiddle(_('Repository Statistics'), '', false, 'scm_repostats');
 		$b .= '<p>';
 		$b .= _('Not implemented for this SCM plugin yet.') ;
 		$b .= '</p>';
@@ -193,7 +193,7 @@
 			print '</td>'."\n".'<td width="35%" valign="top">'."\n" ;
 
 			// Browsing
-			echo $HTML->boxTop(_('Repository History'));
+			echo $HTML->boxTop(_('Repository History'), '', false, 'scm_repohistory');
 			echo _('Data about current and past states of the repository') ;
 			if ($this->browserDisplayable ($project)) {
 				echo $this->getStatsBlock($project) ;

Modified: trunk/gforge_base/evolvisforge-5.1/src/common/include/utils.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/common/include/utils.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/common/include/utils.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -539,15 +539,13 @@
  *
  */
 function show_priority_colors_key() {
-	echo '<p /><strong class="hidePartForPrinting"> '._('Priority Colors').':</strong><br />
-
-		<table border="0" class="hidePartForPrinting"><tr>';
-
+	echo '<p><strong> '._('Priority Colors').':</strong></p>
+	<table border="0"><tr>';
 	for ($i=1; $i<6; $i++) {
 		echo '
-			<td class="priority'.$i.'">'.$i.'</td>';
+		<td class="priority'.$i.'">'.$i."</td>\n";
 	}
-	echo '</tr></table>';
+	echo "</tr></table>\n";
 }
 
 /**

Modified: trunk/gforge_base/evolvisforge-5.1/src/etc/config.ini.d/defaults.ini
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/etc/config.ini.d/defaults.ini	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/etc/config.ini.d/defaults.ini	2011-10-25 15:56:30 UTC (rev 17639)
@@ -78,8 +78,3 @@
 use_trove = yes
 use_webdav = no
 use_captcha = yes
-
-[theme]
-evolvis_portal_name = "Portal"
-evolvis_portal_href = "http://info.evolvis.org/"
-evolvis_portal_ttip = "-"

Modified: trunk/gforge_base/evolvisforge-5.1/src/plugins/projects_hierarchy/common/projects_hierarchyPlugin.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/plugins/projects_hierarchy/common/projects_hierarchyPlugin.class.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/plugins/projects_hierarchy/common/projects_hierarchyPlugin.class.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -135,7 +135,7 @@
 		elseif ($hookname == "project_home_link") {
 			// ############################## Display link
 			$group_id = $params;
-			echo $HTML->boxTop(_('Linked projects'));
+			echo $HTML->boxTop(_('Linked projects'), '', false, 'plugin__projects_hierarchy__linkedprj');
 			$cpt_project = 0 ;
 			// father request
 			$res = db_query_params ('SELECT DISTINCT group_id,unix_group_name,group_name FROM groups,plugin_projects_hierarchy WHERE plugin_projects_hierarchy.link_type=$1 AND plugin_projects_hierarchy.activated=$2 AND groups.group_id=plugin_projects_hierarchy.project_id AND plugin_projects_hierarchy.sub_project_id=$3',
@@ -212,7 +212,7 @@
 			require_once $gfplugins.'projects_hierarchy/www/hierarchy_utils.php';
 			//include('../../plugins/projects_hierarchy/hierarchy_utils.php');
 			$group_id = $params ;
-			echo $HTML->boxMiddle(_('Modify the hierarchy'));
+			echo $HTML->boxMiddle(_('Modify the hierarchy'), '', false, 'plugin__projects_hierarchy__modifyhier');
 			echo '<form action="../../plugins/projects_hierarchy/add_son.php?group_id='.$group_id.'" method="POST" name="formson">';
 			//include('hierarchy_utils.php');
 			//select box of sons

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/account/index.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/account/index.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/account/index.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -96,7 +96,7 @@
 
 echo '<form action="'.util_make_url('/account/').'" method="post">';
 echo '<input type="hidden" name="form_key" value="'.form_generate_key().'"/>';
-echo $HTML->boxTop(_('Account Maintenance'));
+echo $HTML->boxTop(_('Account Maintenance'), '', false, 'account_maint');
 
 ?>
 

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/frs/admin/qrs.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/frs/admin/qrs.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/frs/admin/qrs.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -141,11 +141,13 @@
 
 frs_admin_header(array('title'=>_('Quick Release System'),'group'=>$group_id));
 
+$rowctr = 0;
+
 ?>
 
 <form enctype="multipart/form-data" method="post" action="<?php echo getStringFromServer('PHP_SELF')."?group_id=$group_id"; ?>">
 	<table border="0" cellpadding="2" cellspacing="2">
-	<tr>
+	<tr <?php echo $GLOBALS['HTML']->boxGetAltRowStyle($rowctr++); ?>>
 		<td>
 			<strong><?php echo _('Package ID') ?>:</strong>
 		</td>
@@ -171,7 +173,7 @@
 			<?php printf(_('Or %1$s create a new package %2$s'), '<a href="'.util_make_url ('/frs/admin/?group_id='.$group_id).'">', '</a>') ?>
 		</td>
 	</tr>
-	<tr>
+	<tr <?php echo $GLOBALS['HTML']->boxGetAltRowStyle($rowctr++); ?>>
 		<td>
 			<strong><?php echo _('Release name') ?>:<?php echo utils_requiredField();?></strong>
 		</td>
@@ -179,7 +181,7 @@
 			<input type="text" name="release_name" value="<?php echo htmlspecialchars($release_name) ?>" />
 		</td>
 	</tr>
-	<tr>
+	<tr <?php echo $GLOBALS['HTML']->boxGetAltRowStyle($rowctr++); ?>>
 		<td>
 			<strong><?php echo _('Release date') ?>:</strong>
 		</td>
@@ -187,7 +189,7 @@
 			<input type="text" name="release_date" value="<?php echo date('Y-m-d H:i'); ?>" size="16" maxlength="16" />
 		</td>
 	</tr>
-	<tr>
+	<tr <?php echo $GLOBALS['HTML']->boxGetAltRowStyle($rowctr++); ?>>
 		<td>
 			<h4><?php echo _('File Name') ?>:<?php echo utils_requiredField();?></h4>
 		</td>
@@ -223,7 +225,7 @@
 
 		</td>
 	</tr>
-	<tr>
+	<tr <?php echo $GLOBALS['HTML']->boxGetAltRowStyle($rowctr++); ?>>
 		<td>
 			<strong><?php echo _('File Type') ?>:<?php echo utils_requiredField();?></strong>
 		</td>
@@ -233,7 +235,7 @@
 ?>
 		</td>
 	</tr>
-	<tr>
+	<tr <?php echo $GLOBALS['HTML']->boxGetAltRowStyle($rowctr++); ?>>
 		<td>
 			<strong><?php echo _('Processor Type') ?>:<?php echo utils_requiredField();?></strong>
 		</td>
@@ -243,7 +245,7 @@
 ?>		
 		</td>
 	</tr>
-	<tr>
+	<tr <?php echo $GLOBALS['HTML']->boxGetAltRowStyle($rowctr++); ?>>
 		<td valign="top">
 			<strong><?php echo _('Release Notes') ?>:</strong>
 		</td>
@@ -251,7 +253,7 @@
 			<textarea name="release_notes" rows="7" cols="50"><?php echo htmlspecialchars($release_notes); ?></textarea>
 		</td>
 	</tr>
-	<tr>
+	<tr <?php echo $GLOBALS['HTML']->boxGetAltRowStyle($rowctr++); ?>>
 		<td valign="top">
 			<strong><?php echo _('Change Log') ?>:</strong>
 		</td>
@@ -259,7 +261,7 @@
 			<textarea name="release_changes" rows="7" cols="50"><?php echo htmlspecialchars($release_changes); ?></textarea>
 		</td>
 	</tr>
-	<tr>
+	<tr <?php echo $GLOBALS['HTML']->boxGetAltRowStyle($rowctr++); ?>>
 		<td colspan="2" style="text-align:center">
 			<input type="checkbox" name="preformatted" value="1" /> <?php echo _('Preserve my pre-formatted text') ?>
 			<p><input type="submit" name="submit" value="<?php echo _('Release File') ?>" /></p>

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/frs/index.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/frs/index.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/frs/index.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -36,6 +36,7 @@
 if (!$cur_group) {
 	exit_no_group();
 }
+$group_id = $cur_group->getID();
 
 //
 //	Members of projects can see all packages
@@ -98,28 +99,31 @@
 	// Iterate and show the packages
 	for ( $p = 0; $p < $num_packages; $p++ ) {
 		
-		$frsPackage = new FRSPackage($cur_group, db_result($res_package, $p, 'package_id'));
+		$cur_pkgid = db_result($res_package, $p, 'package_id');
+		$frsPackage = new FRSPackage($cur_group, $cur_pkgid);
 		
 		$package_name = db_result($res_package, $p, 'name');
 		
 		if($frsPackage->isMonitoring()) {
 			$title = db_result($res_package, $p, 'name') . " - " . _('Stop monitoring this package');
-			$url = '/frs/monitor.php?filemodule_id='. db_result($res_package, $p, 'package_id') .'&group_id='.db_result($res_package,$p,'group_id').'&stop=1';
+			$url = '/frs/monitor.php?filemodule_id='. $cur_pkgid .'&group_id='.db_result($res_package,$p,'group_id').'&stop=1';
 			$package_monitor = util_make_link ( $url, $GLOBALS['HTML']->getMonitorPic($title));
 		} else {
 			$title = db_result($res_package, $p, 'name') . " - " . _('Monitor this package');
-			$url = '/frs/monitor.php?filemodule_id='. db_result($res_package, $p, 'package_id') .'&group_id='.db_result($res_package,$p,'group_id').'&start=1';
+			$url = '/frs/monitor.php?filemodule_id='. $cur_pkgid . '&group_id='.db_result($res_package,$p,'group_id').'&start=1';
 			$package_monitor = util_make_link ( $url, $GLOBALS['HTML']->getMonitorPic($title));
 		}
 
-		$package_name_protected = $HTML->toSlug($package_name);
-		echo "\n".'<h2 id="title_'. $package_name_protected .'">' . $package_name . ' <span class="frs-monitor-package">' . $package_monitor . '</span></h2>'."\n";
-		
+		/* begin frs_p<package_id> */
+		echo $GLOBALS['HTML']->boxTop($package_name .
+		    ' <span class="frs-monitor-package">' . $package_monitor .
+		    '</span>', $package_name, false, "frs_p" . $cur_pkgid);
+
 		// get the releases of the package
 		$res_release = db_query_params ('SELECT * FROM frs_release
 		WHERE package_id=$1
 		AND status_id=1 ORDER BY release_date DESC, name ASC',
-			array (db_result($res_package,$p,'package_id')));
+			array($cur_pkgid));
 		$num_releases = db_numrows( $res_release );
 
 		$proj_stats['releases'] += $num_releases;
@@ -137,20 +141,23 @@
 
 			// iterate and show the releases of the package
 			for ( $r = 0; $r < $num_releases; $r++ ) {
-                $package_release = db_fetch_array( $res_release );
+				$package_release = db_fetch_array($res_release);
+				$cur_relid = $package_release['release_id'];
 
-                // Switch whether release_id exists and/or release_id is current one
-                if ( ! $release_id || $release_id==$package_release['release_id'] ) {
-                    // no release_id OR release_id is current one
-                    $release_title = util_make_link ( 'frs/shownotes.php?release_id=' . $package_release['release_id'], $package_name.' '.$package_release['name'].' ('.date(_('Y-m-d H:i'),$package_release['release_date']).')');
-                    echo $GLOBALS['HTML']->boxTop($release_title, $package_name . '_' . $package_release['name'])."\n";
-                } elseif ( $release_id!=$package_release['release_id'] ) {
-                    // release_id but not current one
-                    $t_url_anchor = $HTML->toSlug($package_name)."-".$HTML->toSlug($package_release['name'])."-title-content";
-                    $t_url = 'frs/?group_id='.$group_id.'&release_id=' . $package_release['release_id'] . "#" . $t_url_anchor;
-                    $release_title = util_make_link ( $t_url, $package_name.' '.$package_release['name']);
-                    echo '<div class="frs_release_name_version">'.$release_title."</div>"."\n";
-                }
+				// Switch whether release_id exists and/or release_id is current one
+				if (!$release_id || $release_id == $cur_relid) {
+					// no release_id OR release_id is current one
+					$release_title = util_make_link ( 'frs/shownotes.php?release_id=' . $cur_relid, $package_name.' '.$package_release['name'].' ('.date(_('Y-m-d H:i'),$package_release['release_date']).')');
+					echo $GLOBALS['HTML']->boxTop($release_title,
+					    $package_name . '_' . $package_release['name'],
+					    false, "frs_r" . $cur_relid) . "\n";
+				} elseif ($release_id != $cur_relid) {
+					// release_id but not current one
+					$t_url_anchor = $HTML->toSlug($package_name)."-".$HTML->toSlug($package_release['name'])."-title-content";
+					$t_url = 'frs/?group_id='.$group_id.'&release_id=' . $cur_relid . "#" . $t_url_anchor;
+					$release_title = util_make_link ( $t_url, $package_name.' '.$package_release['name']);
+					echo '<div class="frs_release_name_version">'.$release_title."</div>"."\n";
+				}
 
 				// get the files in this release....
 				$res_file = db_query_params("SELECT frs_file.filename AS filename,
@@ -165,7 +172,7 @@
 				WHERE release_id=$1
 				AND frs_filetype.type_id=frs_file.type_id 
 				AND frs_processor.processor_id=frs_file.processor_id 
-				ORDER BY filename", array($package_release['release_id']));
+				ORDER BY filename", array($cur_relid));
 				$num_files = db_numrows( $res_file );
 
 				@$proj_stats['files'] += $num_files;
@@ -182,14 +189,14 @@
                 if ( ! $release_id ) {
                     // no release_id
                     echo $GLOBALS['HTML']->listTableTop($cell_data,'',false);
-                } elseif ( $release_id==$package_release['release_id'] ) {
+                } elseif ($release_id == $cur_relid) {
                     // release_id is current one
                     echo $GLOBALS['HTML']->listTableTop($cell_data,'',true);
                 } else {
                     // release_id but not current one => dont print anything here
                 }
 				
-                if ( ! $release_id || $release_id==$package_release['release_id'] ) {
+                if (!$release_id || $release_id == $cur_relid) {
                     // no release_id OR no release_id OR release_id is current one
                     if ( !$res_file || $num_files < 1 ) {
                         echo '<tr><td colspan="7">  <em>'._('No releases').'</em></td></tr>
@@ -227,11 +234,14 @@
                     // nothing to print here
                 }
 
-                if ( ! $release_id || $release_id==$package_release['release_id'] ) {
-                    echo $GLOBALS['HTML']->boxBottom();
-                }
+				if (!$release_id || $release_id == $cur_relid) {
+					echo $GLOBALS['HTML']->boxBottom();
+				}
 			} //for: release(s)
 		} //if: release(s) available
+
+		/* end frs_p<package_id> */
+		echo $GLOBALS['HTML']->boxBottom();
 	}
 echo '</div><!-- id="forge-frs" -->';
 

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/include/Layout.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/include/Layout.class.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/include/Layout.class.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -495,9 +495,10 @@
 	 * boxTop() - Top HTML box.
 	 *
 	 * @param	string	Box title
+	 * @param	string	ID attribute (optional)
 	 * @return	string	the html code
 	 */
-	function boxTop($title) {
+	function boxTop($title, $id="") {
 		return '
 			<!-- Box Top Start -->
 
@@ -520,9 +521,10 @@
 	 * boxMiddle() - Middle HTML box.
 	 *
 	 * @param	string	Box title
+	 * @param	string	ID attribute (optional)
 	 * @return	string	The html code
 	 */
-	function boxMiddle($title) {
+	function boxMiddle($title, $id="") {
 		return '
 			<!-- Box Middle Start -->
 			</td>
@@ -1160,7 +1162,7 @@
 	}
 
 	function getMonitorPic($title = '', $alt = '') {
-		return $this->getPicto('ic/mail16w.png', $title, $alt, '15', '15');
+		return $this->getPicto('ic/mail16w.png', $title, $alt);
 	}
 
 	function getReleaseNotesPic($title = '', $alt = '') {
@@ -1169,7 +1171,7 @@
 
 	/* no picto for download */
 	function getDownloadPic($title = '', $alt = '') {
-		return $this->getPicto('ic/save.png', $title, $alt, '15', '15');
+		return $this->getPicto('ic/save.png', $title, $alt, '24', '24');
 	}
 
 	function getHomePic($title = '', $alt = '') {
@@ -1242,11 +1244,11 @@
 		echo '<div class="widget_titlebar '. ($readonly?'':'widget_titlebar_handle') . "\">\n";
 		echo '<div class="widget_titlebar_title">'. $widget->getTitle() . "</div>\n";
 		if (!$readonly) {
-			echo '<div class="widget_titlebar_close"><a href="/widgets/updatelayout.php?owner='. $owner_type.$owner_id .'&action=widget&name['. $widget->id .'][remove]='. $widget->getInstanceId() .'&column_id='. $column_id .'&layout_id='. $layout_id .'">'. $this->getPicto('ic/close.png', 'Close','Close') . "</a></div>\n";
+			echo '<div class="widget_titlebar_close"><a href="/widgets/updatelayout.php?owner='. $owner_type.$owner_id .'&action=widget&name['. $widget->id .'][remove]='. $widget->getInstanceId() .'&column_id='. $column_id .'&layout_id='. $layout_id .'">'. $this->getPicto('ic/close.png', _('Close'), 'Close', '16', '16') . "</a></div>\n";
 			if ($is_minimized) {
-				echo '<div class="widget_titlebar_maximize"><a href="/widgets/updatelayout.php?owner='. $owner_type.$owner_id .'&action=maximize&name['. $widget->id .']='. $widget->getInstanceId() .'&column_id='. $column_id .'&layout_id='. $layout_id .'">'. $this->getPicto($this->_getTogglePlusForWidgets(),  'Maximize', 'Maximize') . "</a></div>\n";
+				echo '<div class="widget_titlebar_maximize"><a href="/widgets/updatelayout.php?owner='. $owner_type.$owner_id .'&action=maximize&name['. $widget->id .']='. $widget->getInstanceId() .'&column_id='. $column_id .'&layout_id='. $layout_id .'">'. $this->getPicto($this->_getTogglePlusForWidgets(), _('Maximise'), 'Maximise', '16', '16') . "</a></div>\n";
 			} else {
-				echo '<div class="widget_titlebar_minimize"><a href="/widgets/updatelayout.php?owner='. $owner_type.$owner_id .'&action=minimize&name['. $widget->id .']='. $widget->getInstanceId() .'&column_id='. $column_id .'&layout_id='. $layout_id .'">'. $this->getPicto($this->_getToggleMinusForWidgets(),  'Minimize', 'Minimize') . "</a></div>\n";
+				echo '<div class="widget_titlebar_minimize"><a href="/widgets/updatelayout.php?owner='. $owner_type.$owner_id .'&action=minimize&name['. $widget->id .']='. $widget->getInstanceId() .'&column_id='. $column_id .'&layout_id='. $layout_id .'">'. $this->getPicto($this->_getToggleMinusForWidgets(), _('Minimise'), 'Minimise', '16', '16') . "</a></div>\n";
 			}
 			if (strlen($widget->hasPreferences())) {
 				echo '<div class="widget_titlebar_prefs"><a href="/widgets/updatelayout.php?owner='. $owner_type.$owner_id .'&action=preferences&name['. $widget->id .']='. $widget->getInstanceId() .'&layout_id='. $layout_id .'">'. _('Preferences') . "</a></div>\n";
@@ -1275,7 +1277,7 @@
 		if ($widget->isAjax()) {
 			echo '<script language="JavaScript" type="text/javascript">/* <![CDATA[ */'."
 				document.observe('dom:loaded', function () {
-						$('$element_id-ajax').update('<div style=\"text-align:center\">". $this->getPicto('ic/spinner.gif','spinner','spinner') ."</div>');
+						$('$element_id-ajax').update('<div style=\"text-align:center\">". $this->getPicto('ic/spinner.gif','spinner','spinner', '10', '10') ."</div>');
 						new Ajax.Updater('$element_id-ajax', 
 							'". $widget->getAjaxUrl($owner_id, $owner_type) ."'
 							);

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/include/features_boxes.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/include/features_boxes.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/include/features_boxes.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -36,26 +36,26 @@
 	$return = '<h2 class="skip">' . _('Features Boxes') . '</h2>';
 
 	if (forge_get_config('use_project_tags')) {
-		$return .= $HTML->boxTop(_('Tag Cloud'), 'Tag_Cloud');
+		$return .= $HTML->boxTop(_('Tag Cloud'), 'Tag_Cloud', false, "toplev_tagcloud");
 		$return .= tag_cloud();
-		$return .= $HTML->boxMiddle(sprintf(_('%1$s Statistics'), forge_get_config ('forge_name')), 'Forge_Statistics');
+		$return .= $HTML->boxMiddle(sprintf(_('%1$s Statistics'), forge_get_config ('forge_name')), 'Forge_Statistics', false, "toplev_forgestats");
 	} else {
-		$return .= $HTML->boxTop(sprintf(_('%1$s Statistics'), forge_get_config ('forge_name')), 'Forge_Statistics');
+		$return .= $HTML->boxTop(sprintf(_('%1$s Statistics'), forge_get_config ('forge_name')), 'Forge_Statistics', false, "toplev_forgestats");
 	}
 	$return .= show_sitestats();
 	if (forge_get_config('use_frs')) {
-		$return .= $HTML->boxMiddle(_('Top Project Downloads'), 'Top_Projects_Downloads');
+		$return .= $HTML->boxMiddle(_('Top Project Downloads'), 'Top_Projects_Downloads', false, "toplev_topdownloads");
 		$return .= show_top_downloads();
 	}
 	if (forge_get_config('use_ratings')) {
-		$return .= $HTML->boxMiddle(_('Highest Ranked Users'), 'Highest_Ranked_Users');
+		$return .= $HTML->boxMiddle(_('Highest Ranked Users'), 'Highest_Ranked_Users', false, "toplev_topusers");
 		$return .= show_highest_ranked_users();
 	}
-	$return .= $HTML->boxMiddle(_('Most Active This Week'), 'Most_Active_This_Week');
+	$return .= $HTML->boxMiddle(_('Most Active This Week'), 'Most_Active_This_Week', false, "toplev_mostactive");
 	$return .= show_highest_ranked_projects();
-	$return .= $HTML->boxMiddle(_('Recently Registered Projects'), 'Recently_Registered_Projects');
+	$return .= $HTML->boxMiddle(_('Recently Registered Projects'), 'Recently_Registered_Projects', false, "toplev_recentprj");
 	$return .= show_newest_projects();
-	$return .= $HTML->boxMiddle(_('System Information'), 'System_Information');
+	$return .= $HTML->boxMiddle(_('System Information'), 'System_Information', false, "toplev_sysinfo");
 	$ff = new FusionForge();
 	$return .= sprintf(_('<i>%s</i> is running %s version <b>%s</b>'), 
 			   forge_get_config ('forge_name'),

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/include/user_home.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/include/user_home.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/include/user_home.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -32,7 +32,7 @@
 $title = _('User Profile');
 $HTML->header(array('title'=>$title));
 
-echo $HTML->boxTop(_('Personal Information'), _('Personal Information')); ?>
+echo $HTML->boxTop(_('Personal Information'), _('Personal Information'), false, 'userhome_perso'); ?>
 
 <div about="" typeof="sioc:UserAccount">
 
@@ -150,7 +150,7 @@
 
 	<?php
 	if (forge_get_config('use_ratings')) {
-		echo $HTML->boxMiddle(_('Peer Rating'), _('Peer Rating'));
+		echo $HTML->boxMiddle(_('Peer Rating'), _('Peer Rating'), false, 'userhome_rating');
         echo '<table class="my-layout-table" id="user-profile-rating">';
 		if ($user->usesRatings()) {
 			echo vote_show_user_rating($user_id);
@@ -163,7 +163,7 @@
 	}
 
 if (forge_get_config('use_diary')) {
-		echo $HTML->boxMiddle(_('Diary and Notes'), _('Diary and Notes'));
+		echo $HTML->boxMiddle(_('Diary and Notes'), _('Diary and Notes'), false, 'userhome_diary');
 	 
 		/*
 			Get their diary information
@@ -190,7 +190,7 @@
 
 <?php
 
-    echo $HTML->boxMiddle(_('Project Info'), _('Project Info'));
+    echo $HTML->boxMiddle(_('Project Info'), _('Project Info'), false, 'userhome_proj');
 
 $projects = $user->getGroups () ;
 sortProjectList ($projects) ;

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/index_std.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/index_std.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/index_std.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -6,11 +6,11 @@
 <tr>
 <td id="bd-col1">
 <?php
-echo $HTML->boxTop(_('Latest News'), 'Latest_News');
+echo $HTML->boxTop(_('Latest News'), 'Latest_News', false, 'toplev_news');
 echo news_show_latest(forge_get_config('news_group'),5,true,false,false,5);
 echo $HTML->boxBottom();
 
-echo $HTML->boxTop(_('About the Evolvis software'), 'about_the_software');
+echo $HTML->boxTop(_('About the Evolvis software'), 'about_the_software', false, 'toplev_about');
 if (forge_get_config ('default_theme') != "evolvis") {
 ?>
 <h2 id="title-home-page"><img src="<?php echo util_make_uri ('/images/fusionforge-resized.png') ?>" alt="FusionForge"/></h2>

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/js/common.js
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/js/common.js	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/js/common.js	2011-10-25 15:56:30 UTC (rev 17639)
@@ -1,13 +1,38 @@
+/*-
+ * common ECMAscript functions for FusionForge
+ *
+ * Copyright © 2011
+ *	Thorsten Glaser <t.glaser at tarent.de>
+ * (and others)
+ * All rights reserved.
+ *
+ * This file is part of FusionForge. FusionForge is free software;
+ * you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software
+ * Foundation; either version 2 of the Licence, or (at your option)
+ * any later version.
+ *
+ * FusionForge is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with FusionForge; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
 
+
 function admin_window(adminurl) {
-	AdminWin = window.open( adminurl, 'AdminWindow','scrollbars=yes,resizable=yes, toolbar=yes, height=400, width=400, top=2, left=2');
+	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=600');
+	HelpWin = window.open(helpurl, 'HelpWindow', 'scrollbars=yes, resizable=yes, toolbar=no, height=400, width=600');
 }
 
+
 function MM_goToURL() { //v3.0
 	var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
 	for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
@@ -43,7 +68,7 @@
   var elemdisp1=document.getElementById(disp+'1_'+i)
   var elembt2=document.getElementById(bt+'2_'+i)
   var elemdisp2=document.getElementById(disp+'2_'+i)
-  
+
   if (elemdisp1.style.display=='none') {
     elembt1.style.display='inline'
     elemdisp1.style.display='block'
@@ -70,6 +95,7 @@
    }
 }
 
+
 /**
  * addEvent written by Dean Edwards, 2005
  * with input from Tino Zijdel
@@ -154,6 +180,7 @@
 	return false;
 }
 
+
 /**
  * "targ" is the element which caused this function to be called
  * from http://www.quirksmode.org/js/events_properties.html
@@ -174,3 +201,70 @@
 
 	return targ;
 }
+
+
+function evcollapse(iid, eid, init, cid) {
+	var eicon = document.getElementById(iid);
+	var eelem = document.getElementById(eid);
+	var dopen = 0;
+	if (eelem.style.display == "none") {
+		dopen = 1;
+	}
+	if (init == 1) {
+		eicon.style.display = "block";
+		dopen = 1;
+		if (cid && getCookie("evcol_" + cid)) {
+			dopen = 0;
+		}
+	}
+	if (dopen == 1) {
+		eicon.getElementsByTagName("img")[0].getAttributeNode("src").nodeValue = icon_minimise;
+		eelem.style.display = "block";
+		if (cid) {
+			deleteCookie("evcol_" + cid);
+		}
+	} else {
+		eicon.getElementsByTagName("img")[0].getAttributeNode("src").nodeValue = icon_maximise;
+		eelem.style.display = "none";
+		if (cid) {
+			setCookie("evcol_" + cid, 1);
+		}
+	}
+}
+
+
+function setCookie(name, value, expires, path, domain, secure) {
+	document.cookie = name + "=" + escape(value) +
+	    ((expires) ? "; expires=" + expires.toGMTString() : "") +
+	    ((path) ? "; path=" + path : "") +
+	    ((domain) ? "; domain=" + domain : "") +
+	    ((secure) ? "; secure" : "");
+}
+
+function getCookie(name) {
+	var dc = document.cookie;
+	var prefix = name + "=";
+	var begin = dc.indexOf("; " + prefix);
+	if (begin == -1) {
+		begin = dc.indexOf(prefix);
+		if (begin != 0) {
+			return null;
+		}
+	} else {
+		begin += 2;
+	}
+	var end = document.cookie.indexOf(";", begin);
+	if (end == -1) {
+		end = dc.length;
+	}
+	return unescape(dc.substring(begin + prefix.length, end));
+}
+
+function deleteCookie(name, path, domain) {
+	if (getCookie(name)) {
+		document.cookie = name + "=" +
+		    ((path) ? "; path=" + path : "") +
+		    ((domain) ? "; domain=" + domain : "") +
+		    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
+	}
+}

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/pm/browse_task.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/pm/browse_task.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/pm/browse_task.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -606,6 +606,7 @@
 	echo $GLOBALS['HTML']->listTableBottom();
 
 	if ($IS_ADMIN) {
+		echo $HTML->boxTop(_('Mass Update'), 'Mass_Update', true, 'pm_browse_massupdate');
 		/*
 			creating a custom technician box which includes "No Change" and "Nobody"
 		*/
@@ -639,17 +640,15 @@
 			}
 		}
 	}
-			/* ]]> */</script>
-			<table width="100%" border="0">
-			<tr><td colspan="2">
+	//-->
+	</script>
 
 <a href="javascript:checkAll(1)">'._('Check all').'</a>
 -
    <a href="javascript:checkAll(0)">'._('Clear all').'</a>
 
 <div class="warning">'._('<strong>Admin:</strong> If you wish to apply changes to all items selected above, use these controls to change their properties and click once on "Mass Update".').'</div>
-			</td></tr>
-
+<table border="0">
 			<tr>
 			<td><strong>'._('Category').
 				'</strong><br />'. $pg->categoryBox ('category_id','xzxz',true,
@@ -673,7 +672,8 @@
 			_('Mass update').'" /></td></tr>
 
 			</table>
-		</div></form>
+' . $HTML->boxBottom() . '
+		</form>
 
 		<script language="JavaScript" type="text/javascript">/* <![CDATA[ */
 		if (gup("showAll") == "showAllSubProjects" || document.taskList.showAll.value == "showAllSubProjects") {
@@ -717,7 +717,7 @@
 	}
 
 	echo '<div class="hidePartForPrinting">';
-	echo '<p />'._('* Denotes overdue tasks');
+	echo '<p>'._('* Denotes overdue tasks')."</p>\n";
 	show_priority_colors_key();
 	echo '</div>';
 

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/tabber/example-cookies.html
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/tabber/example-cookies.html	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/tabber/example-cookies.html	2011-10-25 15:56:30 UTC (rev 17639)
@@ -7,6 +7,9 @@
 <link rel="stylesheet" href="example.css" TYPE="text/css" MEDIA="screen">
 <link rel="stylesheet" href="example-print.css" TYPE="text/css" MEDIA="print">
 
+<!-- Include the common code -->
+<script type="text/javascript" src="/js/common.js"></script>
+
 <script language="JavaScript" type="text/javascript">/* <![CDATA[ */
 
 /* Optional: Temporarily hide the "tabber" class so it does not "flash"
@@ -53,42 +56,6 @@
   }
 };
 
-/*==================================================
-  Cookie functions
-  ==================================================*/
-function setCookie(name, value, expires, path, domain, secure) {
-    document.cookie= name + "=" + escape(value) +
-        ((expires) ? "; expires=" + expires.toGMTString() : "") +
-        ((path) ? "; path=" + path : "") +
-        ((domain) ? "; domain=" + domain : "") +
-        ((secure) ? "; secure" : "");
-}
-
-function getCookie(name) {
-    var dc = document.cookie;
-    var prefix = name + "=";
-    var begin = dc.indexOf("; " + prefix);
-    if (begin == -1) {
-        begin = dc.indexOf(prefix);
-        if (begin != 0) return null;
-    } else {
-        begin += 2;
-    }
-    var end = document.cookie.indexOf(";", begin);
-    if (end == -1) {
-        end = dc.length;
-    }
-    return unescape(dc.substring(begin + prefix.length, end));
-}
-function deleteCookie(name, path, domain) {
-    if (getCookie(name)) {
-        document.cookie = name + "=" +
-            ((path) ? "; path=" + path : "") +
-            ((domain) ? "; domain=" + domain : "") +
-            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
-    }
-}
-
 /* ]]> */</script>
 
 <!-- Include the tabber code -->

Added: trunk/gforge_base/evolvisforge-5.1/src/www/themes/css/evolvis.css
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/themes/css/evolvis.css	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/themes/css/evolvis.css	2011-10-25 15:56:30 UTC (rev 17639)
@@ -0,0 +1 @@
+link ../evolvis/evolvis.css
\ No newline at end of file


Property changes on: trunk/gforge_base/evolvisforge-5.1/src/www/themes/css/evolvis.css
___________________________________________________________________
Added: svn:special
   + *

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/themes/evolvis/Theme.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/themes/evolvis/Theme.class.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/themes/evolvis/Theme.class.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -44,15 +44,12 @@
 		// Parent constructor
 		$this->Layout();
 
-		forge_define_config_item('evolvis_portal_name', 'theme', 'Portal');
-		forge_define_config_item('evolvis_portal_href', 'theme', 'http://info.evolvis.org/');
-		forge_define_config_item('evolvis_portal_ttip', 'theme', '-');
-
 		// The root location for images
 		$this->imgroot = '/themes/evolvis/images/';
 		$this->imgproj = '/themes/evolvis/images/proj/';
 
 		// The HTML box background color
+		//XXX same as in evolvis.css
 		$this->COLOR_HTMLBOX_BACK = '#FFFFFF';
 
 		// The color to separate HTML boxes
@@ -102,8 +99,9 @@
 		$this->addStylesheet('/themes/css/print.css', 'print');
 		$this->addJavascript('/js/common.js');
 		$this->addJavascript('/js/css.js');
-		$this->addJavascript('/js/standardista-table-sorting.js');
 		$this->emit_forgebar = true;
+		$this->collapsible_counter = 0;
+		$this->collapsible_ids = array();
 	}
 
 	function header($params) {
@@ -175,15 +173,6 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title><?php echo util_html_secure($params['title']); ?></title>
-<script language="JavaScript" type="text/javascript">/* <![CDATA[ */
-	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');
-	}
-/* ]]> */</script>
 <?php
 			$this->headerCSS();
 			$this->headerJS();
@@ -218,57 +207,50 @@
 			 src="/themes/evolvis/images/logo_internal_repo.png"
 			 name="logo" border="0" style="height:44px;"
 			 alt="evolvis" /></a></span>
-			<div class="forgeglobalmenu"><table style="white-space:nowrap;">
-			<tr><td style="padding-left:1em;"><?php
-				echo _('Jump to Task:');
-			?></td><td style="padding-left:1em;"><?php
-	if (session_loggedin()) {
-		echo "\n" . $this->emit_headlink(false,
+			<div class="forgeglobalmenu">
+			<table style="white-space:nowrap;"><tr>
+<?php	if (session_loggedin()) {
+		echo "\t\t\t<td style=\"padding-left:1em;\">" .
+		    $this->emit_headlink(false,
 		    _('Log out of the session with the Forge system'),
 		    true, false, "/account/logout.php?return_to=" .
 		    urlencode(getStringFromServer('REQUEST_URI')),
-		    _('Log Out'));
-	} else {
-		echo "\n" . $this->emit_headlink(false,
-		    _('Log into a new session with the Forge system'),
-		    true, false, "/account/login.php?return_to=" .
-		    urlencode(getStringFromServer('REQUEST_URI')),
-		    _('Log In'));
-	}
-	echo "\n\t\t\t" . '</td><td style="padding-left:1em;">';
-	echo "\n" . $this->emit_headlink(false,
-	    forge_get_config('evolvis_portal_ttip', 'theme'),
-	    true, false, forge_get_config('evolvis_portal_href', 'theme'),
-	    forge_get_config('evolvis_portal_name', 'theme'));
-	echo "\n\t\t\t" . '</td></tr><tr><td style="padding-left:1em;">
-			<form action="' . util_make_url('/pm/t_follow.php') . '" method="get">
-				<input type="text" size="8" name="tid" />
-				<input type="submit" name="j" value="' . _('OK') . '" />
-			</form></td>';
-	if (session_loggedin()) {
-		echo "\n\t\t\t\t" . '<td style="padding-left:1em;">';
-		echo "\n" . $this->emit_headlink(false,
+		    _('Log Out')) . "</td>\n";
+		echo "\t\t\t<td style=\"padding-left:1em;\">" .
+		    $this->emit_headlink(false,
 		    _('Configure Account settings, Password & SSH keys'),
 		    true, false, "/account/",
-		    _('My Account'));
-		echo "\n\t\t\t" . '</td><td style="padding-left:1em;">';
-		echo "\n" . $this->emit_headlink(false,
+		    _('My Account')) . "</td>\n";
+		echo "\t\t\t<td style=\"padding-left:1em;\">" .
+		    $this->emit_headlink(false,
 		    _('Manage projects, assigned tasks, bugs, etc.'),
 		    true, false, "/my/",
-		    _('My Page'));
+		    _('My Page')) . "</td>\n";
+		echo "\t\t\t</tr><tr>\n\t\t\t" .
+		    "<td colspan=\"3\" style=\"padding-left:1em;\">\n";
 	} else {
-		echo "\n\t\t\t\t" . '<td style="padding-left:1em;" colspan="2">';
-		echo "\n" . $this->emit_headlink(false,
+		echo "\t\t\t<td style=\"padding-left:1em;\">" .
+		    $this->emit_headlink(false,
+		    _('Log into a new session with the Forge system'),
+		    true, false, "/account/login.php?return_to=" .
+		    urlencode(getStringFromServer('REQUEST_URI')),
+		    _('Log In')) . "</td>\n";
+		echo "\t\t\t<td style=\"padding-left:1em;\">" .
+		    $this->emit_headlink(false,
 		    _('Register a user account with the Forge system'),
 		    true, false, "/account/register.php",
-		    _('New Account'));
+		    _('New Account')) . "</td>\n";
+		echo "\t\t\t</tr><tr>\n\t\t\t" .
+		    "<td colspan=\"2\" style=\"padding-left:1em;\">\n";
 	}
-?>
+	echo "\t\t\t\t" . '<form action="' . util_make_url('/pm/t_follow.php') . '"
+				 method="get">' . _('Jump to Task:') . '
+					<input type="text" size="8" name="tid" />
+					<input type="submit" name="j" value="' . _('OK') . '" />
+				</form>
 			</td></tr></table></div>
-		</div><div class="forgeoutertabs"><?php
-			echo $this->outerTabs($params, 0);
-		?></div>
-<?php
+		</div><div class="forgeoutertabs">' .
+		    $this->outerTabs($params, 0) . "</div>\n";
 		if ($has_group) {
 			echo '<div class="forgeprojecttabs">' .
 			    $this->projectTabs(util_ifsetor($params['toptab']),
@@ -321,50 +303,103 @@
 		foreach ($this->footer_hooks as $h) {
 			call_user_func($h, $params);
 		}
+		if ($this->collapsible_counter > 0) {
 ?>
+<div id="evcollapsibleicon0min" style="display:none;"><?php
+			echo $this->getPicto($this->_getToggleMinusForWidgets(),
+			    _('Toggle'), 'Toggle', '16', '16');
+ ?></div>
+<div id="evcollapsibleicon0max" style="display:none;"><?php
+			echo $this->getPicto($this->_getTogglePlusForWidgets(),
+			    _('Toggle'), 'Toggle', '16', '16');
+ ?></div>
+<script language="JavaScript" type="text/javascript">//<![CDATA[
+	/* get real (generated) URIs of the pictographs */
+	var i = document.getElementById("evcollapsibleicon0max").getElementsByTagName("img")[0];
+	var icon_maximise = i.getAttributeNode("src").nodeValue;
+	var i = document.getElementById("evcollapsibleicon0min").getElementsByTagName("img")[0];
+	var icon_minimise = i.getAttributeNode("src").nodeValue;
+	/* initialise all collapsibles with them */
+	var evcollapsibleids = [];
+<?php
+	foreach ($this->collapsible_ids as $nr => $cid) {
+		echo "\tevcollapsibleids[" . $nr . "] = '" . $cid . "';\n";
+	}
+?>
+	for (var i = 1; i <= <?php echo $this->collapsible_counter; ?>; ++i) {
+		evcollapse('evcollapsibleicon' + i,
+		    'evcollapsibleelem' + i, 1, evcollapsibleids[i]);
+	}
+//]]></script>
+<?php
+		}
+?>
 </body>
 </html>
 <?php
 	}
 
+	/* internal */
+	function boxTopCollapsible($title, $id, $hidep, $cookie_id) {
+		$nr = ++$this->collapsible_counter;
+		$iid = "evcollapsibleicon" . $nr;
+		$eid = "evcollapsibleelem" . $nr;
+		if ($cookie_id) {
+			$this->collapsible_ids[$nr] = $cookie_id;
+		}
+		$h = $hidep ? ' hidePartForPrinting' : '';
+
+		return '<tr class="boxtitlebar' . $h . '"' .
+		    ($id ? ' id="' . $this->toSlug($id) . '-title"' : "") . '>
+			<td class="ff" align="left">
+				' . $title . '
+				<div class="widget_titlebar_minimize hidePartForPrinting"
+				 style="display:none;"
+				 onclick="evcollapse(' . "'" . $iid .
+				    "', '" . $eid . "', 0, '" . $cookie_id .
+				    "'" . ');"
+				 id="' . $iid . '">' .
+				    $this->getPicto($this->_getToggleMinusForWidgets(),
+				    _('Toggle'), 'Toggle', '16', '16') . '
+				</div>
+			</td>
+		</tr><tr class="boxcontent' . $h . '" id="' . $eid . '" align="left">
+			<td' .
+		    ($id ? ' id="' . $this->toSlug($id) . '-content"' : "") .
+		    '>';
+	}
+
 	/**
 	 * boxTop() - Top HTML box
 	 *
 	 * @param	string	Box title
+	 * @param	string	ID attribute (optional)
+	 * @param	bool	hide from printing? (optional)
+	 * @param	string	Collapsible Cookie ID (optional)
 	 */
-	function boxTop($title) {
-		return '
-		<!-- boxTop[ -->
-		<table cellspacing="2" cellpadding="0" width="100%" border="0" class="hidePartForPrinting">
-		<tr class="ff">
-		<td class="ff">
-			<table cellspacing="2" cellpadding="0" width="100%" border="0" >
-				<tr class="titlebar">
-					<td class="ff" colspan="2">'.$title.'</td>
-				</tr>
-				<tr class="ff" align="left" bgcolor="'. $this->COLOR_HTMLBOX_BACK .'">
-					<td class="ff" colspan="2" height="1"></td>
-				</tr>
-				<tr class="ff" align="left"><td class="ff" colspan="2"><!-- ]boxTop -->';
+	function boxTop($title, $id="", $hidep=false, $ccid="") {
+		return '<!-- boxTop[ -->
+		<table' . ($id ? ' id="' . $this->toSlug($id) . '"' : "") .
+		    ' width="100%" border="0" class="ff" cellspacing="0">
+		' . $this->boxTopCollapsible($title, $id, $hidep, $ccid) .
+		    '<!-- ]boxTop -->';
 	}
 
 	/**
 	 * boxMiddle() - Middle HTML box
 	 *
 	 * @param	string	Box title
+	 * @param	string	ID attribute (optional)
+	 * @param	bool	hide from printing? (optional)
+	 * @param	string	Collapsible Cookie ID (optional)
 	 */
-	function boxMiddle($title) {
-		return '
-				<!-- boxMiddle[ -->
-				</td>
-				</tr>
-				<tr class="titlebar">
-					<td class="ff" colspan="2"><span>'.$title.'</span></td>
-				</tr>
-				<tr class="ff" align="left" bgcolor="'. $this->COLOR_HTMLBOX_BACK .'">
-					<td class="ff" colspan="2" height="1"></td>
-				</tr>
-				<tr class="ff"><td class="ff" colspan="2"><!-- ]boxMiddle -->';
+	function boxMiddle($title, $id="", $hidep=false, $ccid="") {
+		return '<!-- boxMiddle[ -->
+			</td>
+		</tr><tr bgcolor="'. $this->COLOR_HTMLBOX_BACK .'"
+		 class="hidePartForPrinting"><td height="1"></td>
+		</tr>' . $this->boxTopCollapsible($title, $id, $hidep, $ccid) .
+		    '<!-- ]boxMiddle -->';
 	}
 
 	/**
@@ -388,12 +423,10 @@
 	 */
 	function boxBottom() {
 		return '<!-- boxBottom[ -->
-					</td>
-				</tr>
-			</table>
-		</td>
-		</tr>
-		</table><!-- ]boxBottom -->'."\n";
+			</td>
+		</tr><tr bgcolor="'. $this->COLOR_HTMLBOX_BACK .'"
+		 class="hidePartForPrinting"><td height="1"></td>
+		</tr></table><!-- ]boxBottom -->'."\n";
 	}
 
 	/**
@@ -600,6 +633,26 @@
 	function endSubMenu() {
 		return "\n<!-- ]forgesubmenu --></div>\n";
 	}
+
+	/**
+	 * 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
+	 * @param	array	The array of tooltips (optional)
+	 * @return	string	HTML to build a submenu
+	 */
+	function printSubMenu($title_arr,$links_arr,$tooltip_arr=array()) {
+		$rv = "";
+
+		for ($i = 0; $i < count($links_arr); ++$i) {
+			$rv .= $this->emit_headlink(true,
+			    util_ifsetor($tooltip_arr[$i], ""),
+			    true, false, $links_arr[$i],
+			    util_ifsetor($title_arr[$i], "Link ".$i));
+		}
+		return $rv;
+	}
 }
 
 // Local Variables:

Copied: trunk/gforge_base/evolvisforge-5.1/src/www/themes/evolvis/evolvis.css (from rev 17638, trunk/gforge_base/evolvisforge-5.1/src/www/themes/css/evolvis.css)
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/themes/evolvis/evolvis.css	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/themes/evolvis/evolvis.css	2011-10-25 15:56:30 UTC (rev 17639)
@@ -0,0 +1,720 @@
+/**
+ * Evolvis Theme main CSS file
+ *
+ * Copyright © 2010, 2011
+ *	Thorsten “mirabilos” Glaser <t.glaser at tarent.de>
+ * (and numerous others; README.Evolvis contains a list)
+ * All rights reserved.
+ *
+ * This file is part of FusionForge. FusionForge is free software;
+ * you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software
+ * Foundation; either version 2 of the Licence, or (at your option)
+ * any later version.
+ *
+ * FusionForge is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with FusionForge; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+body {
+	margin:0;
+	padding:0;
+	font-size:11pt;
+	font-family:sans-serif;
+	color:#202020;
+}
+
+ol, ul, p, tr.ff, td.ff, th.ff, form.ff {
+	font-family:sans-serif;
+	color:#202020;
+}
+
+hr {
+	margin:5px 0 5px 0;
+}
+
+h1 {
+	font-size:x-large;
+	font-family:sans-serif;
+	padding:1px;
+}
+
+h2 {
+	font-size:large;
+	font-family:sans-serif;
+	padding:1px;
+}
+
+h3 {
+	font-size:medium;
+	font-family:sans-serif;
+	padding:1px;
+}
+
+h4 {
+	font-size:small;
+	font-family:sans-serif;
+	padding:1px;
+}
+
+h5 {
+	font-size:x-small;
+	font-family:sans-serif;
+	padding:1px;
+}
+
+h6 {
+	font-size:xx-small;
+	font-family:sans-serif;
+	padding:1px;
+}
+
+a:link {
+	color:black;
+	text-decoration:underline;
+}
+
+a:visited {
+	color:black;
+	text-decoration:underline;
+}
+
+a:hover {
+	color:black;
+	text-decoration:underline;
+}
+
+a:active {
+	color:#cc0e08;
+	text-decoration:none;
+}
+
+a:focus {
+	color:black;
+	text-decoration:underline;
+}
+
+.mod_task td {
+	background-color:#EEEEEE;
+	font-family:sans-serif;
+}
+
+.mod_task_field td {
+	font-size:9pt;
+	background-color:#CECECE;
+	font-family:sans-serif;
+}
+
+.mod_task_reset td {
+	background-color:inherit;
+}
+
+.list_table_top {
+	font-size:11pt;
+	font-weight:bold;
+	font-family:sans-serif;
+}
+
+.content {
+	position:absolute;
+	left:2%;
+	top:134px;
+	width:96%;
+	font-family:sans-serif;
+}
+
+/* same as .content except top := 0px; */
+.contentnoforgebar {
+	position:absolute;
+	left:2%;
+	top:0px;
+	width:96%;
+	font-family:sans-serif;
+}
+
+.titlebar td {
+	background-image:url(/themes/evolvis/images/bg-head.png);
+	background-repeat:repeat-x;
+	line-height:1.5em;
+	color:#000;
+	background-color:#FFFFFF;
+	font-family:sans-serif;
+}
+
+.titlebar {
+	color:white;
+	text-decoration:none;
+	font-weight:bold;
+	font-family:sans-serif;
+}
+
+.boxtitlebar {
+	background-image:url(/themes/evolvis/images/bg-head.png);
+	background-repeat:repeat-x;
+	line-height:1.5em;
+	color:#000000;
+	background-color:#FFFFFF;
+	font-family:sans-serif;
+	text-decoration:none;
+	font-weight:bold;
+	font-family:sans-serif;
+	border-left:1px solid #CCCCCC;
+	border-right:1px solid #CCCCCC;
+	padding:3px;
+}
+
+.boxcontent {
+	/* COLOR_HTMLBOX_BACK */
+	border-top:5px solid #FFFFFF;
+	/* simple containment */
+	border-left:1px solid #CCCCCC;
+	border-right:1px solid #CCCCCC;
+	border-bottom:1px solid #CCCCCC;
+	margin-bottom:6px;
+	padding:3px;
+}
+
+strong.redhead {
+	color:#cc0e08;
+	font-family:sans-serif;
+}
+
+ul.tab_bar {
+	font-weight:bold;
+	width:100%;
+	display:block;
+	list-style-type:none;
+	margin:0;
+	padding:0;
+	float:left;
+	border-width:0 0 3px 0;
+	border-style:solid;
+	border-color:#CC0E08;
+	font-family:sans-serif;
+}
+
+ul.tab_bar li {
+	display:inline;
+	padding:0;
+	margin:0;
+	font-family:sans-serif;
+}
+
+ul.tab_bar li a {
+	line-height:1.5em;
+	font-family:sans-serif;
+}
+
+ul.tab_bar li a:hover {
+	background-color:#f1f1f1;
+	font-family:sans-serif;
+}
+
+.tab a {
+	background-color:#bebebe;
+	margin:0 0 0 2px;
+	padding:1px 5px 1px 5px;
+	text-decoration:none;
+	color:black;
+	border-width:1px 1px 0 1px;
+	border-color:black;
+	border-style:solid;
+	text-align:center;
+	float:left;
+	display:block;
+	font-family:sans-serif;
+}
+
+.tab a:active, .tab a:visited, .tab a:hover, .tab a:link {
+	text-decoration:none;
+	font-family:sans-serif;
+}
+
+.generalTab {
+	float:left;
+	font-family:sans-serif;
+}
+
+.myPageArtifactGroupHeader {
+	background-color:#d5d5d5;
+}
+
+.projectTab {
+	float:right;
+	font-family:sans-serif;
+}
+
+.outerTab {
+	float:left;
+	font-family:sans-serif;
+}
+
+.active_tab a {
+	text-decoration:none;
+	color:#cc0e08;
+	border-style:solid;
+	background-color:#e8e8e8;
+	font-family:sans-serif;
+}
+
+a.showsource {
+	color:#000000;
+	text-decoration:none;
+	font-size:small;
+	font-family:sans-serif;
+}
+
+a.showsource:visited {
+	color:#000000;
+	text-decoration:none;
+	font-size:small;
+	font-family:sans-serif;
+}
+
+a.showsource:hover {
+	color:#000000;
+	text-decoration:none;
+	font-size:small;
+	font-family:sans-serif;
+}
+
+#project_name {
+	white-space:nowrap;
+	font-size:150%;
+	padding-top:0.5em;
+	padding-left:0.2em;
+	font-style:italic;
+	font-weight:bold;
+	font-family:sans-serif;
+}
+
+#page_top {
+	background-image:url(/themes/evolvis/images/bg-header.png);
+	background-repeat:repeat-x;
+	border:0;
+	margin:0;
+	overflow:hidden;
+	font-size:10pt;
+	height:130px;
+	width:96%;
+	position:absolute;
+	top:4px;
+	left:2%;
+	z-index:1;
+	font-family:sans-serif;
+}
+
+#page_top_ie {
+	background-image:url(/themes/evolvis/images/bg-header.png);
+	background-repeat:repeat-x;
+	border:0;
+	margin:0;
+	overflow:hidden;
+	font-size:10pt;
+	height:130px;
+	width:96%;
+	position:absolute;
+	top:4px;
+	left:2%;
+	z-index:1;
+	font-family:sans-serif;
+}
+
+#red_headbar {
+	background-color:#CC0E08;
+	width:96%;
+	left:2%;
+	position:absolute;
+	top:0px;
+	height:4px;
+	font-family:sans-serif;
+}
+
+#red_bottombar {
+	background-color:#CC0E08;
+	height:4px;
+	font-family:sans-serif;
+}
+
+#backimg {
+	background-image:url(/themes/evolvis/images/bg-header-logo.png);
+	background-repeat:no-repeat;
+	background-position:right;
+	width:250px;
+	height:130px;
+	position:absolute;
+	top:4px;
+	right:0px;
+	z-index:1;
+	font-family:sans-serif;
+}
+
+#logo {
+	height:100%;
+	width:100%;
+	float:left;
+	vertical-align:middle;
+	z-index:2;
+	position:absolute;
+	left:2px;
+	top:0px;
+	font-family:sans-serif;
+}
+
+#search_box {
+	float:left;
+	padding-left:1.5em;
+	padding-top:1em;
+	font-family:sans-serif;
+}
+
+#advanced_search {
+	padding:0 5px 0 30px;
+	margin:0;
+	font-family:sans-serif;
+}
+
+#fffooter {
+	margin:1em 0 0 0;
+	font-family:sans-serif;
+}
+
+#imprint {
+	float:right;
+	font-family:sans-serif;
+}
+
+#powered_by {
+	float:left;
+	font-family:sans-serif;
+}
+
+.multi_table_row td {
+	border-width:1px;
+	border-style:solid;
+	border-color:gray;
+	background-color:#f2f2f2;
+	font-family:sans-serif;
+}
+
+.multi_table_row td span.titlebar {
+	color:black;
+	font-family:sans-serif;
+}
+
+.headblock {
+	white-space:nowrap;
+	margin-right:1em;
+}
+
+.headlink {
+	color:black;
+	font-size:10pt;
+	font-family:sans-serif;
+}
+
+.headlinks {
+	color:red;
+	font-size:10pt;
+	font-family:sans-serif;
+}
+
+a.headlink, a.headlink:visited, a.headlink:hover {
+	color:black;
+	text-decoration:none;
+	font-family:sans-serif;
+}
+
+.project_info {
+	vertical-align:top;
+	font-family:sans-serif;
+}
+
+.project_content {
+	width:80%;
+	vertical-align:top;
+	font-family:sans-serif;
+}
+
+.project_papa {
+	width:100%;
+	font-family:sans-serif;
+}
+
+.myPageArtifactTaskDiv {
+	border:2px solid #D5D5D5;
+}
+
+.forgeglobalmenu {
+	float:right;
+	margin-right:1em;
+	/*XXX development */
+	border:1px solid green;
+}
+
+.forgeoutertabs {
+	margin-bottom:1ex;
+	/*XXX development */
+	margin-right:6px;
+	border:1px solid yellow;
+}
+
+.forgeprojecttabs {
+	/*XXX development */
+	margin-right:6px;
+	border:1px solid blue;
+}
+
+.forgesubmenu {
+	/*XXX development */
+	border-bottom:4px solid #CC0E08;
+	padding:6px;
+	margin-bottom:12px;
+}
+
+.forgegrouptitle {
+	padding-bottom:3px;
+	margin-bottom:3px;
+}
+
+.forgesearchbox {
+	position:absolute;
+	top:0.5em;
+	right:0px;
+}
+
+#bd-col1 {
+	vertical-align:top;
+	width:65%;
+}
+
+#bd-col2 {
+	padding-top:12px;
+	vertical-align:top;
+	width:35%;
+}
+
+#ffErrors {
+	z-index:10;
+	position:absolute;
+	top:10px;
+	left:10px;
+	right:10px;
+	opacity:0.9;
+	color:black;
+	font-weight:bold;
+	border-width:2px;
+	border-style:solid;
+	background-color:#ffc0cb;
+	border-color:red;
+	padding:0.5em;
+}
+
+#ffErrors .error {
+	border-width:0px;
+	padding:0px;
+	color:red;
+}
+
+#ffErrors .warning {
+	border-width:0px;
+	padding:0px;
+	color:black;
+}
+
+#ffErrors .notice {
+	border-width:0px;
+	padding:0px;
+	color:#999999;
+}
+
+#ffErrors .strict {
+	border-width:0px;
+	padding:0px;
+	color:green;
+}
+
+/* the following style are for displaying items in different states */
+
+.active {
+	background-color:#00aa00;
+	text-decoration:none;
+	font-weight:normal;
+}
+
+.inactive {
+	background-color:gray;
+}
+
+.deleted {
+	background-color:blue;
+}
+
+.suspended {
+	background-color:#ffaa00;
+}
+
+.pending {
+	background-color:#E8E8E8;
+}
+
+/*
+ * 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;
+}
+
+.today {
+	background-color:pink;
+}
+
+.day {
+	background-color:red;
+}
+
+/* style for required fields */
+.requiredfield {
+	color:red;
+	font-weight:bold;
+}
+
+
+.altRowStyleEven {
+	background-color:#EAEAEA;
+	font-weight:normal;
+}
+
+.altRowStyleOdd {
+	background-color:#E0E0E0;
+	font-weight:normal;
+}
+
+
+.priority1 {
+	background-color:#dadada;
+}
+
+.priority2 {
+	background-color:#dacaca;
+}
+
+.priority3 {
+	background-color:#dababa;
+}
+
+.priority4 {
+	background-color:#daaaaa;
+}
+
+.priority5 {
+	background-color:#da8a8a;
+}
+
+.boxed_wgLogo {
+	width:135px;
+	height:135px;
+	border:1px solid #CCCCCC;
+	margin:1px;
+	padding:1px;
+}
+
+.copyAndClosed {
+	color:#A9A9A9;
+	background-color:#ffffff;
+}
+
+.itemFocus {
+	background-color:#9999FF;
+}
+
+/* BEGIN: Styles for the Jenkins plugin */
+
+.submitStandardInformation {
+	color:#000000;
+	font-weight:bold;
+}
+
+.submitErrorInformation {
+	color:#FF0000;
+	font-weight:bold;
+}
+
+.submitWarningInformation {
+	color:#FFFC00;
+	font-weight:bold;
+	border:1px solid #000000;
+	background-color:#6B6B6B;
+}
+
+.submitSuccessInformation {
+	color:#167616;
+	font-weight:bold;
+}
+
+.borderBottom {
+	border-bottom:1px solid #202020;
+	margin:5px 0 5px 0;
+}
+
+.cssStyleHeader1 {
+	font-weight:bold;
+	font-size:12pt;
+}
+
+.feedbackMessages {
+	font-weight:bold;
+	font-size:12pt;
+	margin-left:15px;
+}
+
+.mainContentBoxes {
+	/* commented out because it's too wide */
+	/*width:910px;*/
+	/* comment out because this breaks the layout */
+	/*float:left;*/
+}
+
+.smallContentBoxes {
+	/* comment out because this breaks the layout */
+	/*float:left;*/
+}
+
+/* END: Styles for the Jenkins plugin */
+
+/* BEGIN: tag cloud */
+
+.tag1 {
+	font-size:small;
+}
+
+.tag2 {
+	font-size:medium;
+}
+
+.tag3 {
+	font-size:large;
+}
+
+.tag4 {
+	font-size:x-large;
+}
+
+.tag5 {
+	font-size:xx-large;
+}
+
+/* END: tag cloud */
+
+pre,tt {
+	font-family:fixed,monospace;
+}

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/themes/funky/Theme.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/themes/funky/Theme.class.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/themes/funky/Theme.class.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -151,10 +151,9 @@
      * boxTop() - Top HTML box
      *
      * @param   string  Box title
-     * @param   bool    Whether to echo or return the results
-     * @param   string  The box background color
+     * @param	string	ID attribute (optional)
      */
-    function boxTop($title, $id = '') 
+    function boxTop($title, $id='') 
     {
 	if ($id) {
 		$id = $this->toSlug($id);
@@ -180,9 +179,9 @@
      * boxMiddle() - Middle HTML box
      *
      * @param   string  Box title
-     * @param   string  The box background color
+     * @param   string  ID attribute (optional)
      */
-    function boxMiddle($title, $id = '')
+    function boxMiddle($title, $id='')
     {
 	if ($id) {
 		$id = $this->toSlug($id);

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/themes/gforge/Theme.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/themes/gforge/Theme.class.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/themes/gforge/Theme.class.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -147,10 +147,9 @@
 	 * boxTop() - Top HTML box
 	 *
 	 * @param   string  Box title
-	 * @param   bool    Whether to echo or return the results
-	 * @param   string  The box background color
+	 * @param   string  ID attribute (optional)
 	 */
-	function boxTop($title, $id = '') {
+	function boxTop($title, $id='') {
 		if ($id) {
 			$id = $this->toSlug($id);
 			$idid = ' id="' . $id . '"';
@@ -182,9 +181,9 @@
 	 * boxMiddle() - Middle HTML box
 	 *
 	 * @param   string  Box title
-	 * @param   string  The box background color
+	 * @param   string  ID attribute (optional)
 	 */
-	function boxMiddle($title, $id = '') {
+	function boxMiddle($title, $id='') {
 		if ($id) {
 			$id = $this->toSlug($id);
 			$idtitle = ' id="' . $id . '-title"';

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/tracker/detail.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/tracker/detail.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/tracker/detail.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -22,8 +22,6 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-use_javascript('/tabber/tabber.js');
-
 if (getStringFromRequest('commentsort') == 'anti') {
        $sort_comments_chronologically = false;
 } else {

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/tracker/mod-limited.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/tracker/mod-limited.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/tracker/mod-limited.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -22,8 +22,6 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-use_javascript('/tabber/tabber.js');
-
 if (getStringFromRequest('commentsort') == 'anti') {
        $sort_comments_chronologically = false;
 } else {

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/tracker/mod.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/tracker/mod.php	2011-10-25 15:56:25 UTC (rev 17638)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/tracker/mod.php	2011-10-25 15:56:30 UTC (rev 17639)
@@ -23,8 +23,6 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-use_javascript('/tabber/tabber.js');
-
 if (getStringFromRequest('commentsort') == 'anti') {
        $sort_comments_chronologically = false;
 } else {



More information about the evolvis-commits mailing list