diff -Naur amule-cvs/src/webserver/chicane/downloads.php amule-cvs-patched/src/webserver/chicane/downloads.php
--- amule-cvs/src/webserver/chicane/downloads.php	2006-04-03 19:12:38.302949573 +0200
+++ amule-cvs-patched/src/webserver/chicane/downloads.php	2006-04-03 19:09:50.412573195 +0200
@@ -27,7 +27,7 @@
 
   .down-header, .down-header-left, .down-header-right,
   .down-line, .down-line-good, .down-line-left, .down-line-good-left,
-  .down-line-right, .down-line-good-right,
+  .down-line-right, .down-line-good-right, .down-actions,
   .up-header, .up-header-left, .up-line, .up-line-left,
   .server-header, .server-header-left, .server-line, .server-line-left,
   .shared-header, .shared-header-left, .shared-line, .shared-line-changed,
@@ -69,7 +69,7 @@
     background-color : #1D6083;
   }
 
-  .down-header, .down-line, .down-line-good, .up-header, .up-line,
+  .down-header, .down-line, .down-actions, .down-line-good, .up-header, .up-line,
   .server-header, .server-line, .shared-header, .shared-line, .shared-line-changed,
   .upqueue-header, .upqueue-line,
   .websearch-header, .websearch-line, .addserver-header, .addserver-line {
@@ -116,8 +116,7 @@
     font-size : 8pt;
   }
 
-  .down-line, .down-line-good, .down-line-left, .down-line-good-left,
-  .down-line-right, .down-line-good-right,
+  .down-line,
   .up-line, .up-line-left, .server-line, .server-line-left,
   .shared-line, .shared-line-changed, .shared-line-left, .shared-line-left-changed,
   .upqueue-line, .upqueue-line-left,
@@ -126,6 +125,10 @@
     background-color : #1F76A5;
   }
 
+  .down-line-hilight {
+    background-color: #3F98C7;
+  }
+
   .down-line-good, .down-line-good-left, .down-line-good-right,
   .shared-line-changed, .shared-line-left-changed {
 
@@ -443,10 +446,17 @@
 		usort(&$downloads, "my_cmp");
 	}
 
+	$filenumber = 0;
 	foreach ($downloads as $file) {
 		$status = StatusString($file);
 		if ( ($_SESSION['filter_status'] == 'All') || ($_SESSION['filter_status'] == $status) ) {
-			echo '<tr>';
+			if (modulo($filenumber, 6) < 1) {
+				echo '<tr class="down-line-hilight">';
+			} else {
+				echo '<tr class="down-line">';
+			}
+			$filenumber = $filenumber + 1;
+
 			$mark = $file->speed > 0 ? 1 : 0;
 			echo '<td valign=top class="', $mark ? 'down-line-good-left':'down-line-left',
 				'"><acronym title="', $file->name, '">', $file->short_name, '</acronym></td>';
@@ -457,7 +467,7 @@
 			echo '<td valign=top class="', $mark ? 'down-line-good-right':'down-line-right','">',
 				CastToXBytes($file->size_xfer), '</td>';
 			
-			echo '<td valign=middle class="', $mark ? 'down-line-right">':'down-line">';
+			echo '<td valign=middle class="', $mark ? 'down-line-right">':'down-actions">';
 			echo '<table width=200 height=11 border=1 class="percent_table" cellpadding=0 cellspacing=0 bordercolor="#000000">';
 			echo '<tr><td><img src="greenpercent.gif" height=4 width=', (($file->size_done * 1.0)/$file->size)*200 + 1, '><br>';
 			echo $file->progress, '</td></tr></table></td>';
@@ -479,7 +489,7 @@
 			echo '<td valign=middle class="', $mark ? 'down-line-good-right">':'down-line-right">',
 					PrioString($file), '</td>';
 	
-			echo '<td valign=top class="down-line"><acronym title="', $status, '">';
+			echo '<td valign=top class="down-actions"><acronym title="', $status, '">';
 			echo '<img src="l_info.gif" alt="', $status, '"></acronym>';
 	
 			// commands
diff -Naur amule-cvs/src/webserver/src/php_core_lib.cpp amule-cvs-patched/src/webserver/src/php_core_lib.cpp
--- amule-cvs/src/webserver/src/php_core_lib.cpp	2006-04-03 19:12:59.570741581 +0200
+++ amule-cvs-patched/src/webserver/src/php_core_lib.cpp	2006-04-03 19:10:15.756330211 +0200
@@ -190,6 +190,34 @@
 
 }
 
+void php_native_modulo(PHP_VALUE_NODE *result)
+{
+	PHP_SCOPE_ITEM *si = get_scope_item(g_current_scope, "__param_0");
+	if ( !si || (si->var->value.type != PHP_VAL_INT)) {
+		php_report_error(PHP_ERROR, "Invalid or missing argument 1");
+		return;
+	}
+	cast_value_dnum(&si->var->value);
+	int param1 = si->var->value.int_val;
+
+	si = get_scope_item(g_current_scope, "__param_1");
+	if ( !si || (si->var->value.type != PHP_VAL_INT)) {
+		php_report_error(PHP_ERROR, "Invalid or missing argument 1");
+		return;
+	}
+	cast_value_dnum(&si->var->value);
+	int param2 = si->var->value.int_val;
+
+	if ( param2 == 0 ) {
+		php_report_error(PHP_ERROR,"Division by zero");
+		return;
+	}
+  if ( result ) {
+		cast_value_dnum(result);
+		result->int_val = param1%param2;
+	}
+}
+
 void php_native_shared_file_cmd(PHP_VALUE_NODE *)
 {
 	PHP_SCOPE_ITEM *si = get_scope_item(g_current_scope, "__param_0");
@@ -1460,6 +1488,11 @@
 		php_native_usort,
 	},
 	{
+		"modulo",
+		2,
+		php_native_modulo,
+	},
+	{
 		"amule_load_vars",
 		1, php_native_load_amule_vars,
 	},
