diff --git a/htdocs/actioncomm.class.php b/htdocs/actioncomm.class.php
index 7ee8db9829359feaeef07a19f04d3394eba0da57..92877172431ba7216f10ef7ca677212f3343891e 100644
--- a/htdocs/actioncomm.class.php
+++ b/htdocs/actioncomm.class.php
@@ -45,8 +45,8 @@ class ActionComm
 
     var $datec;			// Date creation enregistrement (datec)
     var $datem;			// Date modif enregistrement (tms)
-    var $author;		// User that create action
-    var $usermod;		// User that modified action
+    var $author;		// Object user that create action
+    var $usermod;		// Object user that modified action
 
     var $datep;			// Date action planifie debut (datep)
     var $datef;			// Date action planifie fin (datep2)
@@ -56,8 +56,8 @@ class ActionComm
     var $durationa = -1;
 	var $priority;
 
-    var $usertodo;		// User that must do action
-    var $userdone;	 	// User that did action
+    var $usertodo;		// Object user that must do action
+    var $userdone;	 	// Object user that did action
 	
     var $societe;
     var $contact;
@@ -338,6 +338,7 @@ class ActionComm
         $sql.= ", datea = ".($this->date ? "'".$this->db->idate($this->date)."'" : 'null');
         $sql.= ", datea2 = ".($this->dateend ? "'".$this->db->idate($this->dateend)."'" : 'null');
         $sql.= ", note = ".($this->note ? "'".addslashes($this->note)."'":"null");
+        $sql.= ", fk_soc =". ($this->societe->id > 0 ? "'".$this->societe->id."'":"null");
         $sql.= ", fk_contact =". ($this->contact->id > 0 ? "'".$this->contact->id."'":"null");
         $sql.= ", priority = '".$this->priority."'";
         $sql.= ", fk_user_mod = '".$user->id."'";
@@ -500,20 +501,21 @@ class ActionComm
 
 	/**
 	 *    	\brief      Renvoie nom clicable (avec eventuellement le picto)
-	 *		\param		withpicto		Inclut le picto dans le lien
+	 * 		\param		withpicto		0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul
 	 *		\param		maxlength		Nombre de caract�res max dans libell�
+	 *		\param		class			Force style class on a link
 	 *		\return		string			Chaine avec URL
 	 *		\remarks	Utilise $this->id, $this->code et $this->libelle
 	 */
-	function getNomUrl($withpicto=0,$maxlength)
+	function getNomUrl($withpicto=0,$maxlength,$class='')
 	{
 		global $langs;
 		
 		$result='';
-		$lien = '<a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?id='.$this->id.'">';
+		$lien = '<a '.($class?'class="'.$class.'" ':'').'href="'.DOL_URL_ROOT.'/comm/action/fiche.php?id='.$this->id.'">';
 		$lienfin='</a>';
 
-        if ($langs->trans("Action".$this->code) != "Action".$this->code)
+        if ($langs->trans("Action".$this->code) != "Action".$this->code || ! $this->libelle)
         {
         	$libelle=$langs->trans("Action".$this->code);
         	$libelleshort=$langs->trans("Action".$this->code,'','','','',$maxlength);
@@ -524,7 +526,8 @@ class ActionComm
         	$libelleshort=dolibarr_trunc($this->libelle,$maxlength);
         }
 		
-		if ($withpicto) $result.=($lien.img_object($langs->trans("ShowTask").': '.$libelle,'task').$lienfin.' ');
+		if ($withpicto) $result.=($lien.img_object($langs->trans("ShowTask").': '.$libelle,'task').$lienfin);
+		if ($withpicto==1) $result.=' '; 
 		$result.=$lien.$libelleshort.$lienfin;
 		return $result;
 	}
diff --git a/htdocs/admin/index.php b/htdocs/admin/index.php
index 976eed1f94246464e3e30ae1896cc00814bdb444..167bd8ac8b2528a0bac8781f126ae374af437186 100644
--- a/htdocs/admin/index.php
+++ b/htdocs/admin/index.php
@@ -1,6 +1,6 @@
 <?php
 /* Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
- * Copyright (C) 2004-2006 Laurent Destailleur  <eldy@users.sourceforge.net>
+ * Copyright (C) 2004-2008 Laurent Destailleur  <eldy@users.sourceforge.net>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -15,14 +15,12 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * $Id$
  */
 
 /**
     	\file       htdocs/admin/index.php
 		\brief      Page d'accueil de l'espace administration/configuration
-		\version    $Revision$
+		\version    $Id$
 */
 
 require("./pre.inc.php");
@@ -34,7 +32,6 @@ if (!$user->admin)
   accessforbidden();
 
 
-
 /*
  * Affichage page
  */
diff --git a/htdocs/comm/action/fiche.php b/htdocs/comm/action/fiche.php
index 1da57b7d0c64f97ca678dc1e22031daaa84f929c..a3dd744282cfc8f96bd183b6c48c6033a4e6e55c 100644
--- a/htdocs/comm/action/fiche.php
+++ b/htdocs/comm/action/fiche.php
@@ -39,7 +39,7 @@ $langs->load("bills");
 $langs->load("orders");
 $langs->load("agenda");
 
-// Securite acces client
+// Security check
 if ($user->societe_id > 0)
 {
   $action = '';
@@ -324,12 +324,15 @@ if ($_POST["action"] == 'update')
 		$actioncomm->dateend = $datea2;
         $actioncomm->percentage  = $_POST["percentage"];
         $actioncomm->priority    = $_POST["priority"];
+		$actioncomm->societe->id = $_POST["socid"];
         $actioncomm->contact->id = $_POST["contactid"];
         $actioncomm->note        = $_POST["note"];
-		if ($actioncomm->type_code == 'AC_RDV' && $actioncomm->percentage == 100 && ! $actioncomm->date)
-		{
-			$actioncomm->date = $actioncomm->datep;
-		}
+
+	 	if (! $datep2 && $_POST["percentage"] == 100)
+	 	{
+	    	$error=$langs->trans("ErrorFieldRequired",$langs->trans("DateEnd"));
+			$_REQUEST["action"] = 'edit';
+	 	}
 
 		// Users
 		$usertodo=new User($db,$_POST["affectedto"]);
@@ -345,7 +348,21 @@ if ($_POST["action"] == 'update')
 		}
 		$actioncomm->userdone = $userdone;
 
-        $result=$actioncomm->update($user);
+		if (! $error)
+		{
+			$db->begin();
+			
+			$result=$actioncomm->update($user);
+			
+			if ($result > 0)
+			{
+				$db->commit();
+			}
+			else
+			{
+				$db->rollback();
+			}	
+		}
     }
 
     if ($result < 0)
@@ -391,234 +408,137 @@ if ($_GET["action"] == 'create')
     if (! empty($_REQUEST["backtopage"])) print '<input type="hidden" name="from" value="'.($_REQUEST["from"] ? $_REQUEST["from"] : $_SERVER["HTTP_REFERER"]).'">';
 	print '<input type="hidden" name="action" value="add_action">';
 
-	/*
-	* Si action de type Rendez-vous
-	*
-	*/
-	if ($_GET["actioncode"] == 'AC_RDV')
-	{
-		print_titre ($langs->trans("AddActionRendezVous"));
-
-		if ($mesg) print $mesg.'<br>';
-		else print "<br>";
+	if ($_GET["actioncode"] == 'AC_RDV') print_titre ($langs->trans("AddActionRendezVous"));
+	else print_titre ($langs->trans("AddAnAction"));
 
-		print '<input type="hidden" name="date" value="'.$db->idate(time()).'">'."\n";
-
-		print '<table class="border" width="100%">';
-
-		// Type d'action
-		print '<input type="hidden" name="actioncode" value="AC_RDV">';
-
-		// Societe, contact
-		print '<tr><td nowrap>'.$langs->trans("ActionOnCompany").'</td><td>';
-		if ($_REQUEST["socid"])
-		{
-			$societe = new Societe($db);
-			$societe->fetch($_REQUEST["socid"]);
-			print $societe->getNomUrl(1);
-			print '<input type="hidden" name="socid" value="'.$_REQUEST["socid"].'">';
-		}
-		else
-		{
-			print $html->select_societes('','socid',1,1);
-		}
-		print '</td></tr>';
-
-		// Si la societe est imposee, on propose ses contacts
-		if ($_REQUEST["socid"])
-		{
-			$contactid = $_REQUEST["contactid"]?$_REQUEST["contactid"]:'';
-			print '<tr><td>'.$langs->trans("ActionOnContact").'</td><td>';
-			$html->select_contacts($_REQUEST["socid"],$contactid,'contactid',1,1);
-			print '</td></tr>';
-		}
+	if ($mesg) print $mesg.'<br>';
+	else print "<br>";
+	
+	print '<table class="border" width="100%">';
 
-		// Affecte a
-		print '<tr><td nowrap>'.$langs->trans("ActionAffectedTo").'</td><td>';
-		$html->select_users($_REQUEST["affectedto"],'affectedto',1);
-		print '</td></tr>';
+	// Type d'action actifs
+	print '<tr><td><b>'.$langs->trans("Type").'*</b></td><td>';
+	if ($_GET["actioncode"])
+	{
+		print '<input type="hidden" name="actioncode" value="'.$_GET["actioncode"].'">'."\n";
+		$caction->fetch($_GET["actioncode"]);
+		print $caction->getNomUrl();
+	}
+	else
+	{
+		$html->select_type_actions($actioncomm->type_code, "actioncode");
+	}
+	print '</td></tr>';
 
-		// Realise par
-		print '<tr><td nowrap>'.$langs->trans("ActionDoneBy").'</td><td>';
-		$html->select_users($_REQUEST["doneby"],'doneby',1);
-		print '</td></tr>';
+	print '<tr><td>'.$langs->trans("Title").'</td><td><input type="text" name="label" size="30" value="'.$actioncomm->label.'"></td></tr>';
 
-		// Date start
-		print '<tr><td nowrap="nowrap">'.$langs->trans("DateActionStart").'</td><td>';
-		if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->datep,'ap',1,1,0,"action");
-		else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->datep,'ap',1,1,1,"action");
-		else $html->select_date($actioncomm->datep,'ap',1,1,1,"action");
-		print '</td></tr>';
-		// Date end
-		print '<tr><td>'.$langs->trans("DateActionEnd").'</td><td>';
-		if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->datef,'p2',1,1,1,"action");
-		else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->datef,'p2',1,1,1,"action");
-		else $html->select_date($actioncomm->datef,'p2',1,1,1,"action");
-		print '</td></tr>';
+	// Societe, contact
+	print '<tr><td nowrap>'.$langs->trans("ActionOnCompany").'</td><td>';
+	if ($_REQUEST["socid"] > 0)
+	{
+		$societe = new Societe($db);
+		$societe->fetch($_REQUEST["socid"]);
+		print $societe->getNomUrl(1);
+		print '<input type="hidden" name="socid" value="'.$_REQUEST["socid"].'">';
+	}
+	else
+	{
+		print $html->select_societes('','socid',1,1);
+	}
+	print '</td></tr>';
 
-		// Duration
-		print '<tr><td>'.$langs->trans("Duration").'</td><td>';
-		$html->select_duree("duree");
+	// Si la societe est imposee, on propose ces contacts
+	if ($_REQUEST["socid"] > 0)
+	{
+		print '<tr><td nowrap>'.$langs->trans("ActionOnContact").'</td><td>';
+		$html->select_contacts($_REQUEST["socid"],'','contactid',1,1);
 		print '</td></tr>';
+	}
 
-		add_row_for_calendar_link();
+	// Affecte a
+	print '<tr><td nowrap>'.$langs->trans("ActionAffectedTo").'</td><td>';
+	$html->select_users($_REQUEST["affectedto"]?$_REQUEST["affectedto"]:$actioncomm->usertodo,'affectedto',1);
+	print '</td></tr>';
 
-		// Note
-		print '<tr><td valign="top">'.$langs->trans("Note").'</td><td>';
-		if ($conf->fckeditor->enabled)
-	    {
-		    // Editeur wysiwyg
-			require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
-			$doleditor=new DolEditor('note','',280,'dolibarr_notes','In',true);
-			$doleditor->Create();
-	    }
-	    else
-	    {
-			print '<textarea name="note" cols="90" rows="'.ROWS_8.'"></textarea>';
-	    }
-		print '</td></tr>';
+	// Realise par
+	print '<tr><td nowrap>'.$langs->trans("ActionDoneBy").'</td><td>';
+	$html->select_users($_REQUEST["doneby"]?$_REQUEST["doneby"]:$actioncomm->userdone,'doneby',1);
+	print '</td></tr>';
 
-		print '<tr><td colspan="2" align="center">';
-		print '<input type="submit" class="button" value="'.$langs->trans("Add").'">';
-		print ' &nbsp; &nbsp; ';
-		print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
-		print '</td></tr>';
-		print '</table>';
+	if (! empty($_GET["datep"]) && eregi('^([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])$',$_GET["datep"],$reg)) 
+	{
+		$actioncomm->datep=dolibarr_mktime(0,0,0,$reg[2],$reg[3],$reg[1]);
 	}
 
+	// Date start
+	print '<tr><td nowrap="nowrap">'.$langs->trans("DateActionStart").'</td><td>';
+	if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->datep,'ap',1,1,0,"action");
+	else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->datep,'ap',1,1,1,"action");
+	else $html->select_date($actioncomm->datep,'ap',1,1,1,"action");
+	print '</td></tr>';
+	// Date end
+	print '<tr><td>'.$langs->trans("DateActionEnd").'</td><td>';
+	if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->datef,'p2',1,1,1,"action");
+	else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->datef,'p2',1,1,1,"action");
+	else $html->select_date($actioncomm->datef,'p2',1,1,1,"action");
+	print '</td></tr>';
+
+	// Date start done
 	/*
-	* Si action de type autre que rendez-vous
-	*
+	print '<tr><td>'.$langs->trans("DateActionDoneStart").'</td><td>';
+	if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->date,'ad',1,1,1,"action");
+	else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->date,'ad',1,1,0,"action");
+	else $html->select_date($actioncomm->date,'ad',1,1,1,"action");
+	print '</td></tr>';
+	// Date end done
+	print '<tr><td>'.$langs->trans("DateActionDoneEnd").'</td><td>';
+	if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->dateend,'a2',1,1,1,"action");
+	else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->dateend,'a2',1,1,0,"action");
+	else $html->select_date($actioncomm->dateend,'a2',1,1,1,"action");
+	print '</td></tr>';
 	*/
-	else
+	
+	// Avancement
+	if ($_REQUEST["afaire"] == 1)
 	{
-		print_titre ($langs->trans("AddAnAction"));
-
-		if ($mesg) print $mesg.'<br>';
-		else print "<br>";
-		
-		print '<table class="border" width="100%">';
-
-		// Type d'action actifs
-		print '<tr><td><b>'.$langs->trans("Type").'*</b></td><td>';
-		if ($_GET["actioncode"])
-		{
-			print '<input type="hidden" name="actioncode" value="'.$_GET["actioncode"].'">'."\n";
-			$caction->fetch($_GET["actioncode"]);
-			print $caction->getNomUrl();
-		}
-		else
-		{
-			$html->select_type_actions($actioncomm->type_code, "actioncode");
-		}
-		print '</td></tr>';
-
-		print '<tr><td>'.$langs->trans("Title").'</td><td><input type="text" name="label" size="30" value="'.$actioncomm->label.'"></td></tr>';
-
-		// Societe, contact
-		print '<tr><td nowrap>'.$langs->trans("ActionOnCompany").'</td><td>';
-		if ($_REQUEST["socid"] > 0)
-		{
-			$societe = new Societe($db);
-			$societe->fetch($_REQUEST["socid"]);
-			print $societe->getNomUrl(1);
-			print '<input type="hidden" name="socid" value="'.$_REQUEST["socid"].'">';
-		}
-		else
-		{
-			print $html->select_societes('','socid',1,1);
-		}
-		print '</td></tr>';
-
-		// Si la societe est imposee, on propose ces contacts
-		if ($_REQUEST["socid"] > 0)
-		{
-			print '<tr><td nowrap>'.$langs->trans("ActionOnContact").'</td><td>';
-			$html->select_contacts($_REQUEST["socid"],'','contactid',1,1);
-			print '</td></tr>';
-		}
-
-		// Affecte a
-		print '<tr><td nowrap>'.$langs->trans("ActionAffectedTo").'</td><td>';
-		$html->select_users($_REQUEST["affectedto"]?$_REQUEST["affectedto"]:$actioncomm->usertodo,'affectedto',1);
-		print '</td></tr>';
-
-		// Realise par
-		print '<tr><td nowrap>'.$langs->trans("ActionDoneBy").'</td><td>';
-		$html->select_users($_REQUEST["doneby"]?$_REQUEST["doneby"]:$actioncomm->userdone,'doneby',1);
-		print '</td></tr>';
-
-		// Date start
-		print '<tr><td nowrap="nowrap">'.$langs->trans("DateActionStart").'</td><td>';
-		if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->datep,'ap',1,1,0,"action");
-		else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->datep,'ap',1,1,1,"action");
-		else $html->select_date($actioncomm->datep,'ap',1,1,1,"action");
-		print '</td></tr>';
-		// Date end
-		print '<tr><td>'.$langs->trans("DateActionEnd").'</td><td>';
-		if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->datef,'p2',1,1,1,"action");
-		else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->datef,'p2',1,1,1,"action");
-		else $html->select_date($actioncomm->datef,'p2',1,1,1,"action");
-		print '</td></tr>';
-
-		// Date start done
-		/*
-		print '<tr><td>'.$langs->trans("DateActionDoneStart").'</td><td>';
-		if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->date,'ad',1,1,1,"action");
-		else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->date,'ad',1,1,0,"action");
-		else $html->select_date($actioncomm->date,'ad',1,1,1,"action");
-		print '</td></tr>';
-		// Date end done
-		print '<tr><td>'.$langs->trans("DateActionDoneEnd").'</td><td>';
-		if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->dateend,'a2',1,1,1,"action");
-		else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->dateend,'a2',1,1,0,"action");
-		else $html->select_date($actioncomm->dateend,'a2',1,1,1,"action");
-		print '</td></tr>';
-		*/
-		
-		// Avancement
-		if ($_REQUEST["afaire"] == 1)
-		{
-			print '<input type="hidden" name="percentage" value="0">';
-			print '<input type="hidden" name="todo" value="on">';
-			print '<tr><td width="10%">'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td>'.$langs->trans("StatusActionToDo").' / 0%</td></tr>';
-		}
-		elseif ($_REQUEST["afaire"] == 2)
-		{
-			print '<input type="hidden" name="percentage" value="100">';
-			print '<tr><td>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td>'.$langs->trans("StatusActionDone").' / 100%</td></tr>';
-		} else
-		{
-			print '<tr><td>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td><input type="text" name="percentage" value="0" size="4">%</td></tr>';
-		}
-
-		add_row_for_calendar_link();
+		print '<input type="hidden" name="percentage" value="0">';
+		print '<input type="hidden" name="todo" value="on">';
+		print '<tr><td width="10%">'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td>'.$langs->trans("StatusActionToDo").' / 0%</td></tr>';
+	}
+	elseif ($_REQUEST["afaire"] == 2)
+	{
+		print '<input type="hidden" name="percentage" value="100">';
+		print '<tr><td>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td>'.$langs->trans("StatusActionDone").' / 100%</td></tr>';
+	} else
+	{
+		print '<tr><td>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td><input type="text" name="percentage" value="0" size="4">%</td></tr>';
+	}
 
-		// Note
-		print '<tr><td valign="top">'.$langs->trans("Note").'</td><td>';
-		if ($conf->fckeditor->enabled)
-	    {
-		    // Editeur wysiwyg
-			require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
-			$doleditor=new DolEditor('note','',280,'dolibarr_notes','In',true);
-			$doleditor->Create();
-	    }
-	    else
-	    {
-			print '<textarea name="note" cols="90" rows="'.ROWS_8.'"></textarea>';
-	    }
-		print '</td></tr>';
+	add_row_for_calendar_link();
 
-		print '<tr><td align="center" colspan="2">';
-		print '<input type="submit" class="button" value="'.$langs->trans("Add").'">';
-		print ' &nbsp; &nbsp; ';
-		print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
-		print '</td></tr>';
+	// Note
+	print '<tr><td valign="top">'.$langs->trans("Note").'</td><td>';
+	if ($conf->fckeditor->enabled)
+	{
+		// Editeur wysiwyg
+		require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
+		$doleditor=new DolEditor('note','',280,'dolibarr_notes','In',true);
+		$doleditor->Create();
+	}
+	else
+	{
+		print '<textarea name="note" cols="90" rows="'.ROWS_8.'"></textarea>';
+	}
+	print '</td></tr>';
 
-		print '</table>';
+	print '<tr><td align="center" colspan="2">';
+	print '<input type="submit" class="button" value="'.$langs->trans("Add").'">';
+	print ' &nbsp; &nbsp; ';
+	print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
+	print '</td></tr>';
 
+	print '</table>';
 
-	}
 	print "</form>";
 }
 
@@ -677,7 +597,7 @@ if ($_GET["id"])
         print '<br>';
     }
 
-    if ($_GET["action"] == 'edit')
+    if ($_REQUEST["action"] == 'edit')
     {
         // Fiche action en mode edition
         print '<form action="fiche.php" method="post">';
@@ -690,7 +610,9 @@ if ($_GET["id"])
         print '<tr><td>'.$langs->trans("Type").'</td><td colspan="3">'.$act->type.'</td></tr>';
         print '<tr><td>'.$langs->trans("Title").'</td><td colspan="3"><input type="text" name="label" size="50" value="'.$act->label.'"></td></tr>';
         print '<tr><td>'.$langs->trans("Company").'</td>';
-        print '<td><a href="'.DOL_URL_ROOT.'/comm/fiche.php?socid='.$act->societe->id.'">'.img_object($langs->trans("ShowCompany"),'company').' '.$act->societe->nom.'</a></td>';
+        print '<td>';
+		print $html->select_societes($act->societe->id,'socid',1,1);
+		print '</td>';
 
         print '<td>'.$langs->trans("Contact").'</td><td width="30%">';
         $html->select_array("contactid",  $act->societe->contact_array(), $act->contact->id, 1);
@@ -732,7 +654,7 @@ if ($_GET["id"])
 		print '</td></tr>';
 
 		// Status
-        print '<tr><td nowrap>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="3"><input name="percentage" value="'.$act->percentage.'" size="4">%</td></tr>';
+        print '<tr><td nowrap>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="3"><input name="percentage" value="'.(isset($_REQUEST["percentage"])?$_REQUEST["percentage"]:$act->percentage).'" size="4">%</td></tr>';
 
 		// Object linked
         if ($act->objet_url)
@@ -778,7 +700,7 @@ if ($_GET["id"])
         print '<tr><td>'.$langs->trans("Title").'</td><td colspan="3">'.$act->label.'</td></tr>';
 
 		// Societe - contact
-        print '<tr><td>'.$langs->trans("Company").'</td><td>'.$act->societe->getNomUrl(1).'</td>';
+        print '<tr><td>'.$langs->trans("Company").'</td><td>'.($act->societe->id?$act->societe->getNomUrl(1):$langs->trans("None")).'</td>';
         print '<td>'.$langs->trans("Contact").'</td>';
         print '<td>';
         if ($act->contact->id > 0)
diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php
index 073165ffd76d814f8c4519c7b78f17fcb21030d5..51715689575f6b1235ba75663615a3d0b5cc1e5b 100644
--- a/htdocs/comm/action/index.php
+++ b/htdocs/comm/action/index.php
@@ -197,7 +197,8 @@ $sql.= ' '.$db->pdate('a.datep').' as datep,';
 $sql.= ' '.$db->pdate('a.datep2').' as datep2,';
 $sql.= ' '.$db->pdate('a.datea').' as datea,';
 $sql.= ' '.$db->pdate('a.datea2').' as datea2,';
-$sql.= ' a.percent,a.fk_user_author,a.fk_user_action,a.fk_user_done';
+$sql.= ' a.percent,';
+$sql.= ' a.fk_user_author,a.fk_user_action,a.fk_user_done';
 $sql.= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a';	
 $sql.= ' WHERE 1=1';
 if ($filtera > 0 || $filtert > 0 || $filterd > 0) 
@@ -229,7 +230,10 @@ if ($resql)
 		//$action->dateend=$obj->datea2;
 		$action->libelle=$obj->label;
 		$action->percentage=$obj->percent;
-
+		$action->author->id=$obj->fk_user_author;
+		$action->usertodo->id=$obj->fk_user_action;
+		$action->userdone->id=$obj->fk_user_done;
+		
 		// Defined date_start_in_calendar and date_end_in_calendar property
 		if ($action->percentage <= 0)
 		{
@@ -249,10 +253,21 @@ if ($resql)
 			$action->ponctuel=1;
 		}
 
-		// Add an entry in action array for each day
+		// Add an entry in actionarray for each day
 		// \TODO
-		$daykey=$action->date_start_in_calendar;
-		$actionarray[$daykey]=$action;
+		$daycursor=$action->date_start_in_calendar;
+		$annee = date('Y',$daycursor);
+		$mois = date('m',$daycursor);
+		$jour = date('d',$daycursor);
+		$daykey=dolibarr_mktime(0,0,0,$mois,$jour,$annee);
+		$loop=true;
+		do
+		{
+			$actionarray[$daykey][]=$action;
+			$daykey+=60*60*24;
+			if ($daykey > $action->date_end_in_calendar) $loop=false;
+		}
+		while ($loop);
 		$i++;
 	}
 }
@@ -261,6 +276,14 @@ else
 	dolibarr_print_error($db);
 }
 
+// Define theme_datacolor array
+$color_file = DOL_DOCUMENT_ROOT."/theme/".$conf->theme."/graph-color.php";
+if (is_readable($color_file))
+{
+	include_once($color_file);
+}
+if (! is_array($theme_datacolor)) $theme_datacolor=array(array(120,130,150), array(200,160,180), array(190,190,220));
+
 echo '<table width="100%" class="nocellnopadd">';
 echo ' <tr class="liste_titre">';
 echo '  <td align="center">'.$langs->trans("Monday")."</td>\n";
@@ -327,29 +350,83 @@ llxFooter('$Date$ - $Revision$');
 */
 function show_day_events($db, $day, $month, $year, $style, $actionarray)
 {
+	global $user, $conf, $langs;
 	global $filtera, $filtert, $filted;
+	global $theme_datacolor;
 	
 	$curtime = dolibarr_mktime (0, 0, 0, $month, $day, $year);
 
-	print '<table class="noborder" width="100%">';
-	print '<tr style="border-bottom: solid 1px #AAAAAA;"><td align="left">'.dolibarr_print_date($curtime,'%a %d').'</td></tr>';
-	print '<tr height="60"><td valign="top">';
+	print '<table class="nobordernopadding" width="100%">';
+	print '<tr style="background: #EEEEEE"><td align="left">';
+	print dolibarr_print_date($curtime,'%a %d');
+	print '</td><td align="right">';
+	print '<a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&datep='.sprintf("%04d%02d%02d",$year,$month,$day).'">';
+	print img_picto($langs->trans("NewAction"),'edit_add.png');
+	print '</a>';
+	print '</td></tr>';
+	print '<tr height="60"><td valign="top" colspan="2">';	// Minimum 60px height
 
 	//$curtime = dolibarr_mktime (0, 0, 0, $month, $day, $year);
 	$i=0;
-	foreach ($actionarray as $daykey => $action)
+	foreach ($actionarray as $daykey => $notused)
 	{
-		$annee = date('Y',$action->date_start_in_calendar);
-		$mois = date('m',$action->date_start_in_calendar);
-		$jour = date('d',$action->date_start_in_calendar);
+		$annee = date('Y',$daykey);
+		$mois = date('m',$daykey);
+		$jour = date('d',$daykey);
 		if ($day==$jour && $month==$mois && $year==$annee)
 		{
-			if ($i) print "<br>";
-	   		print $action->getNomUrl(1,9).$action->getLibStatut(3);
-			$i++;
+			foreach ($actionarray[$daykey] as $index => $action)
+			{
+		   		$ponct=($action->date_start_in_calendar == $action->date_end_in_calendar);
+				// Show rect of event
+				$colorindex=0;
+				if ($action->author->id == $user->id || $action->usertodo->id == $user->id || $action->userdone->id == $user->id) $colorindex=1;
+				$color=sprintf("%02x%02x%02x",$theme_datacolor[$colorindex][0],$theme_datacolor[$colorindex][1],$theme_datacolor[$colorindex][2]);
+				//print "x".$color;
+				print '<table class="cal_event" style="background: #'.$color.'; -moz-border-radius:4px; " width="100%"><tr>';
+				print '<td>';
+				$tmpyearstart  = date('Y',$action->date_start_in_calendar);
+				$tmpmonthstart = date('m',$action->date_start_in_calendar);
+				$tmpdaystart   = date('d',$action->date_start_in_calendar);
+				$tmpyearend    = date('Y',$action->date_end_in_calendar);
+				$tmpmonthend   = date('m',$action->date_end_in_calendar);
+				$tmpdayend     = date('d',$action->date_end_in_calendar);
+				// Hour start
+				if ($tmpyearstart == $annee && $tmpmonthstart == $mois && $tmpdaystart == $jour)
+				{
+					print dolibarr_print_date($action->date_start_in_calendar,'%H:%M');
+					if ($action->date_end_in_calendar && $action->date_start_in_calendar != $action->date_end_in_calendar)
+					{
+						if ($tmpyearstart == $tmpyearend && $tmpmonthstart == $tmpmonthend && $tmpdaystart == $tmpdayend)
+							print '-';
+						//else
+							//print '...';
+					}
+				}
+				if ($action->date_end_in_calendar && $action->date_start_in_calendar != $action->date_end_in_calendar)
+				{
+					if ($tmpyearstart != $tmpyearend || $tmpmonthstart != $tmpmonthend || $tmpdaystart != $tmpdayend)
+					{
+						print '...';
+					}
+				}
+				// Hour end
+				if ($action->date_end_in_calendar && $action->date_start_in_calendar != $action->date_end_in_calendar)
+				{
+					if ($tmpyearend == $annee && $tmpmonthend == $mois && $tmpdayend == $jour)
+						print dolibarr_print_date($action->date_end_in_calendar,'%H:%M');
+				}
+				print '<br>';
+				print $action->getNomUrl(0,14,'cal_event');
+				print '</td>';
+				print '<td align="right">'.$action->getLibStatut(3);
+				print '</td></tr></table>';
+				$i++;
+			}
 		}
 	}
-	print '&nbsp;</td></tr>';
+	if (! $i) print '&nbsp;';
+	print '</td></tr>';
 	print '</table>';
 }
 
diff --git a/htdocs/lib/menubase.class.php b/htdocs/lib/menubase.class.php
index c83682b6d46e13b4d0e0d5e5b2cd4408369390ff..0aff7447fd8b4bf5c79a2eaecad2f0024764f42a 100644
--- a/htdocs/lib/menubase.class.php
+++ b/htdocs/lib/menubase.class.php
@@ -403,7 +403,7 @@ class Menubase
 						$leftmenuConstraint = false;
 						$str = "if(" . $tab[$x][6] . ") \$leftmenuConstraint = true;";
 
-						eval ($str);
+						dol_eval ($str);
 						if ($leftmenuConstraint == true) {
 							$this->newmenu->add_submenu(DOL_URL_ROOT . $tab[$x][2], $tab[$x][3], $rang -1, $tab[$x][4], $tab[$x][5]);
 							$this->recur($tab, $tab[$x][0], $rang +1);
@@ -440,7 +440,7 @@ class Menubase
 				$obj = $this->db->fetch_object($result);
 				$strconstraint = "if(!(" . $obj->action . ")) { \$constraint = false; }";
 
-				eval ($strconstraint);
+				dol_eval ($strconstraint);
 				$i++;
 			}
 		}
@@ -463,7 +463,7 @@ class Menubase
 			$i = 0;
 			while (($i < count($tab_rights)) && ($rights == true)) {
 				$str = "if(!(" . $strRights . ")) { \$rights = false;}";
-				eval ($str);
+				dol_eval ($str);
 				$i++;
 			}
 		} else
@@ -537,7 +537,7 @@ class Menubase
 		        	if ($objm->perms)
 		        	{
 		        		$str = "if(!(".$objm->perms.")) \$right = false;";
-		        		eval($str);
+		        		dol_eval($str);
 		        	}
 		        	
 					// Define $chaine
@@ -580,10 +580,17 @@ class Menubase
 		{
 			dolibarr_print_error($this->db);
 		}
-		
+
 		return $tabMenu;
-		
 	}
 
 }
+
+function dol_eval($s)
+{
+	// \todo
+	// Warning. We must add code to exclude test if it contains = (affectation) that is not == (compare)
+	return eval($s);
+}
+
 ?>
diff --git a/htdocs/theme/auguria/auguria.css.php b/htdocs/theme/auguria/auguria.css.php
index 02e7c55702e661bcf164b9d5daba57862d7502b3..37fdee4c1a5bc0d5f73d79e57607616c0922da03 100644
--- a/htdocs/theme/auguria/auguria.css.php
+++ b/htdocs/theme/auguria/auguria.css.php
@@ -355,17 +355,17 @@ img.login
 /* Barre de gauche                                                                */
 /* ============================================================================== */
 
-a.vmenu:link        { font-size:11px; text-align:left; font-weight: bold; color: #FFFFFF; margin: 1em 1em 1em 1em; }
-a.vmenu:visited     { font-size:11px; text-align:left; font-weight: bold; color: #FFFFFF; margin: 1em 1em 1em 1em; }
-a.vmenu:active      { font-size:11px; text-align:left; font-weight: bold; color: #FFFFFF; margin: 1em 1em 1em 1em; }
-a.vmenu:hover       { font-size:11px; text-align:left; font-weight: bold; color: #FFFFFF; margin: 1em 1em 1em 1em; }
-font.vmenudisabled  { font-size:11px; text-align:left; font-weight: bold; color: #757575; margin: 1em 1em 1em 1em; }
-
-a.vsmenu:link       { font-size:11px; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-a.vsmenu:visited    { font-size:11px; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-a.vsmenu:active     { font-size:11px; text-align:left; font-weight: normal; color: RGB(94,148,181); margin: 1em 1em 1em 1em; }
-a.vsmenu:hover      { font-size:11px; text-align:left; font-weight: normal; color: RGB(94,148,181); margin: 1em 1em 1em 1em; }
-font.vsmenudisabled { font-size:11px; text-align:left; font-weight: normal; color: #757575; margin: 1em 1em 1em 1em; }
+a.vmenu:link        { font-size:11px; text-align:left; font-weight: bold; color: #FFFFFF; margin: 1px 1px 1px 1px; }
+a.vmenu:visited     { font-size:11px; text-align:left; font-weight: bold; color: #FFFFFF; margin: 1px 1px 1px 1px; }
+a.vmenu:active      { font-size:11px; text-align:left; font-weight: bold; color: #FFFFFF; margin: 1px 1px 1px 1px; }
+a.vmenu:hover       { font-size:11px; text-align:left; font-weight: bold; color: #FFFFFF; margin: 1px 1px 1px 1px; }
+font.vmenudisabled  { font-size:11px; text-align:left; font-weight: bold; color: #757575; margin: 1px 1px 1px 1px; }
+
+a.vsmenu:link       { font-size:11px; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 1px; }
+a.vsmenu:visited    { font-size:11px; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 1px; }
+a.vsmenu:active     { font-size:11px; text-align:left; font-weight: normal; color: RGB(94,148,181); 1px 1px 1px 1px; }
+a.vsmenu:hover      { font-size:11px; text-align:left; font-weight: normal; color: RGB(94,148,181); margin: 1px 1px 1px 1px; }
+font.vsmenudisabled { font-size:11px; text-align:left; font-weight: normal; color: #757575; margin: 1px 1px 1px 1px; }
 
 a.help:link         { font-size: 10px; font-weight: bold; background: #FFFFFF; border: 1px solid #8CACBB; color: #68ACCF; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; }
 a.help:visited      { font-size: 10px; font-weight: bold; background: #FFFFFF; border: 1px solid #8CACBB; color: #68ACCF; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; }
@@ -1206,10 +1206,16 @@ cursor: pointer;
 /*  Module agenda                                                                 */
 /* ============================================================================== */
 
-.cal_other_month   { background: #DDDDDD; border: solid 1px #ACBCBB; }
-.cal_past_month    { background: #EEEEEE; border: solid 1px #ACBCBB; }
-.cal_current_month { background: #FFFFFF; border: solid 1px #ACBCBB; }
-.cal_today         { background: #DDFFDD; border: solid 1px #ACBCBB; }
+.cal_other_month   { background: #DDDDDD; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_past_month    { background: #EEEEEE; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_current_month { background: #FFFFFF; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_today         { background: #FFFFFF; border: solid 2px #6C7C7B; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+table.cal_event    { border-collapse: collapse; margin-bottom: 1px; }
+table.cal_event td { border: 0px; padding-left: 0px; padding-right: 2px; padding-top: 0px; padding-bottom: 0px; } */
+.cal_event a:link    { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:visited { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:active  { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:hover   { color: #111111; font-size: 11px; font-weight: normal; !important }
 
 
 
diff --git a/htdocs/theme/auguria/img/star.png b/htdocs/theme/auguria/img/star.png
index b6bbefb4c2e7a5669f146ddbd06b370fdfe410a1..4b6b458467588e6c444e1d4e23a00622db915374 100644
Binary files a/htdocs/theme/auguria/img/star.png and b/htdocs/theme/auguria/img/star.png differ
diff --git a/htdocs/theme/bluelagoon/bluelagoon.css b/htdocs/theme/bluelagoon/bluelagoon.css
index 6f8589d673e234366fd8b1c27fa081b77f1815bd..43b7d58f400e5ef5c6c7c44dc4218af3256e3ec6 100644
--- a/htdocs/theme/bluelagoon/bluelagoon.css
+++ b/htdocs/theme/bluelagoon/bluelagoon.css
@@ -258,13 +258,13 @@ a.vmenu:link    { font-size: 12px; font: helvetica, verdana, arial, sans-serif;
 a.vmenu:visited { font-size: 12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; }
 a.vmenu:active  { font-size: 12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; }
 a.vmenu:hover   { font-size: 12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; text-decoration: underline; }
-font.vmenudisabled { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #a3a590; margin: 1em 1em 1em 1em; }
+font.vmenudisabled { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #a3a590; margin: 1px 1px 1px 6px; }
 
-a.vsmenu:link    { font-size: 12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-a.vsmenu:visited { font-size: 12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-a.vsmenu:active  { font-size: 12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-a.vsmenu:hover   { font-size: 12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; text-decoration: underline; }
-font.vsmenudisabled { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #a3a590; margin: 1em 1em 1em 1em; }
+a.vsmenu:link    { font-size: 12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 6px; }
+a.vsmenu:visited { font-size: 12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 6px; }
+a.vsmenu:active  { font-size: 12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 6px; }
+a.vsmenu:hover   { font-size: 12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 6px; text-decoration: underline; }
+font.vsmenudisabled { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #a3a590; margin: 1px 1px 1px 6px; }
 
 a.help:link         { font-size:11px; font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; }
 a.help:visited      { font-size:11px; font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; }
@@ -759,8 +759,14 @@ cursor: pointer;
 /*  Module agenda                                                                 */
 /* ============================================================================== */
 
-.cal_other_month   { background: #DDDDDD; border: solid 1px #ACBCBB; }
-.cal_past_month    { background: #EEEEEE; border: solid 1px #ACBCBB; }
-.cal_current_month { background: #FFFFFF; border: solid 1px #ACBCBB; }
-.cal_today         { background: #DDFFDD; border: solid 1px #ACBCBB; }
+.cal_other_month   { background: #DDDDDD; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_past_month    { background: #EEEEEE; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_current_month { background: #FFFFFF; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_today         { background: #FFFFFF; border: solid 2px #6C7C7B; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+table.cal_event    { border-collapse: collapse; margin-bottom: 1px; }
+table.cal_event td { border: 0px; padding-left: 0px; padding-right: 2px; padding-top: 0px; padding-bottom: 0px; } */
+.cal_event a:link    { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:visited { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:active  { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:hover   { color: #111111; font-size: 11px; font-weight: normal; !important }
 
diff --git a/htdocs/theme/bluelagoon/img/star.png b/htdocs/theme/bluelagoon/img/star.png
index 2f3ebc13f016a87c4f46bcc061148a8dfdaeba1d..4b6b458467588e6c444e1d4e23a00622db915374 100644
Binary files a/htdocs/theme/bluelagoon/img/star.png and b/htdocs/theme/bluelagoon/img/star.png differ
diff --git a/htdocs/theme/eldy/eldy.css.php b/htdocs/theme/eldy/eldy.css.php
index 61890f9b9cf29e065d82ca261f9e5460817e0ecd..d05fec08613d011c8a3973e18246077c8136a7be 100644
--- a/htdocs/theme/eldy/eldy.css.php
+++ b/htdocs/theme/eldy/eldy.css.php
@@ -178,7 +178,7 @@ div.fiche
 }
 
 /* ============================================================================== */
-/* Menu superieur et 1ere ligne tableau                                           */
+/* Menu top et 1ere ligne tableau                                                 */
 /* ============================================================================== */
 
 div.tmenu
@@ -1143,10 +1143,16 @@ td.hidden {
 /*  Module agenda                                                                 */
 /* ============================================================================== */
 
-.cal_other_month   { background: #DDDDDD; border: solid 1px #ACBCBB; }
-.cal_past_month    { background: #EEEEEE; border: solid 1px #ACBCBB; }
-.cal_current_month { background: #FFFFFF; border: solid 1px #ACBCBB; }
-.cal_today         { background: #DDFFDD; border: solid 1px #ACBCBB; }
+.cal_other_month   { background: #DDDDDD; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_past_month    { background: #EEEEEE; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_current_month { background: #FFFFFF; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_today         { background: #FFFFFF; border: solid 2px #6C7C7B; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+table.cal_event    { border-collapse: collapse; margin-bottom: 1px; }
+table.cal_event td { border: 0px; padding-left: 0px; padding-right: 2px; padding-top: 0px; padding-bottom: 0px; }
+.cal_event a:link    { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:visited { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:active  { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:hover   { color: #111111; font-size: 11px; font-weight: normal; !important }
 
 
 
diff --git a/htdocs/theme/eldy/graph-color.php b/htdocs/theme/eldy/graph-color.php
index e8a80f4340090f3b529a25a59a9a2d3453fd2af6..f9b813f4ef6f20397524616e3951dc72aaf79de6 100755
--- a/htdocs/theme/eldy/graph-color.php
+++ b/htdocs/theme/eldy/graph-color.php
@@ -15,15 +15,13 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * $Id$
  */
 
 /**
 		\file       htdocs/theme/eldy/graph-color.php
 		\brief      Fichier de d�claration des couleurs pour les graphiques
         \ingroup    core
-		\version    $Revision$
+		\version    $Id$
 */
 
 global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet;
diff --git a/htdocs/theme/freelug/freelug.css.php b/htdocs/theme/freelug/freelug.css.php
index f3143a288639db3074a7bde49234d2d224ce89dd..8c5e9b6fa737d97a810e14b83dfca77f9802f03f 100644
--- a/htdocs/theme/freelug/freelug.css.php
+++ b/htdocs/theme/freelug/freelug.css.php
@@ -371,11 +371,11 @@ a.vmenu:active  { font-family: helvetica, verdana, arial, sans-serif; text-align
 a.vmenu:hover   { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; }
 font.vmenudisabled { font-size:12px; font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #a3a590; }
 
-a.vsmenu:link    { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-a.vsmenu:visited { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-a.vsmenu:active  { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-a.vsmenu:hover   { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-font.vsmenudisabled { font-size:12px; font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #a3a590; margin: 1em 1em 1em 1em; }
+a.vsmenu:link    { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 6px; }
+a.vsmenu:visited { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 6px; }
+a.vsmenu:active  { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 6px; }
+a.vsmenu:hover   { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 6px; }
+font.vsmenudisabled { font-size:12px; font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #a3a590; margin: 1px 1px 1px 6px; }
 
 a.help:link    { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; }
 a.help:visited { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; }
@@ -970,7 +970,13 @@ td.hidden {
 /*  Module agenda                                                                 */
 /* ============================================================================== */
 
-.cal_other_month   { background: #DDDDDD; border: solid 1px #ACBCBB; }
-.cal_past_month    { background: #EEEEEE; border: solid 1px #ACBCBB; }
-.cal_current_month { background: #FFFFFF; border: solid 1px #ACBCBB; }
-.cal_today         { background: #DDFFDD; border: solid 1px #ACBCBB; }
+.cal_other_month   { background: #DDDDDD; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_past_month    { background: #EEEEEE; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_current_month { background: #FFFFFF; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_today         { background: #FFFFFF; border: solid 2px #6C7C7B; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+table.cal_event    { border-collapse: collapse; margin-bottom: 1px; }
+table.cal_event td { border: 0px; padding-left: 0px; padding-right: 2px; padding-top: 0px; padding-bottom: 0px; } */
+.cal_event a:link    { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:visited { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:active  { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:hover   { color: #111111; font-size: 11px; font-weight: normal; !important }
diff --git a/htdocs/theme/freelug/img/star.png b/htdocs/theme/freelug/img/star.png
index b6bbefb4c2e7a5669f146ddbd06b370fdfe410a1..4b6b458467588e6c444e1d4e23a00622db915374 100755
Binary files a/htdocs/theme/freelug/img/star.png and b/htdocs/theme/freelug/img/star.png differ
diff --git a/htdocs/theme/yellow/graph-color.php b/htdocs/theme/yellow/graph-color.php
index 45fa9c4a18bfb04cbd329af92445d5cacd9eda13..a8d7b8e5b46b6d9bd80d2863c77d9b08cb3f8f35 100755
--- a/htdocs/theme/yellow/graph-color.php
+++ b/htdocs/theme/yellow/graph-color.php
@@ -1,6 +1,6 @@
 <?PHP
-/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> 
- * Copyright (C) 2004 Laurent Destailleur  <eldy@users.sourceforge.net> 
+/* Copyright (C) 2004      Rodolphe Quiedeville <rodolphe@quiedeville.org> 
+ * Copyright (C) 2004-2008 Laurent Destailleur  <eldy@users.sourceforge.net> 
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -15,21 +15,18 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * $Id$
- * $Source$
  */
 
 /**
 		\file       htdocs/theme/yellow/graph-color.php
 		\brief      Fichier de d�claration des couleurs pour les graphiques
         \ingroup    core
-		\version    $Revision$
+		\version    $Id$
 */
 
 global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet;
 $theme_bordercolor = array(235,235,224);
-$theme_datacolor = array(array(120,130,150), array(160,160,180), array(190,190,220));
+$theme_datacolor = array(array(160,140,120), array(140,160,130), array(190,190,220));
 $theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4'));
 $theme_bgcoloronglet = array(hexdec('DC'),hexdec('DC'),hexdec('D3'));
 
diff --git a/htdocs/theme/yellow/img/star.png b/htdocs/theme/yellow/img/star.png
index b6bbefb4c2e7a5669f146ddbd06b370fdfe410a1..4b6b458467588e6c444e1d4e23a00622db915374 100644
Binary files a/htdocs/theme/yellow/img/star.png and b/htdocs/theme/yellow/img/star.png differ
diff --git a/htdocs/theme/yellow/yellow.css.php b/htdocs/theme/yellow/yellow.css.php
index 22833705079cca9c7356e766f0e706d123741330..dd8c28ef5128354b7f27cb9f085fbe81b453a128 100644
--- a/htdocs/theme/yellow/yellow.css.php
+++ b/htdocs/theme/yellow/yellow.css.php
@@ -330,11 +330,11 @@ a.vmenu:active  { font-family: helvetica, verdana, arial, sans-serif; text-align
 a.vmenu:hover   { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; }
 font.vmenudisabled { font-size:12px; font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #aaa593; margin: 0em 0em 0em 0em; }
 
-a.vsmenu:link    { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-a.vsmenu:visited { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-a.vsmenu:active  { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-a.vsmenu:hover   { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; }
-font.vsmenudisabled { font-size:12px; font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #aaa593; margin: 1em 1em 1em 1em; }
+a.vsmenu:link    { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 6px; }
+a.vsmenu:visited { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 6px; }
+a.vsmenu:active  { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 6px; }
+a.vsmenu:hover   { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 6px; }
+font.vsmenudisabled { font-size:12px; font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #aaa593; margin: 1px 1px 1px 6px; }
 
 a.help:link    { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; }
 a.help:visited { font-family: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; }
@@ -343,6 +343,7 @@ a.help:hover   { font-family: helvetica, verdana, arial, sans-serif; text-align:
 
 div.blockvmenupair
 {
+	width:160px;
 	border-right: 1px solid #555555;
 	border-bottom: 1px solid #555555;
 	background: #dcdcb3;
@@ -350,12 +351,16 @@ div.blockvmenupair
 	color: #000000; 
 	text-align:left;
 	text-decoration: none;
-    padding: 3px;
+    padding-left: 3px;
+    padding-right: 1px;
+    padding-top: 3px;
+    padding-bottom: 3px;
     margin: 1px 0px 0px 0px;
 }
 
 div.blockvmenuimpair
 {
+	width:160px;
 	border-right: 1px solid #555555;
 	border-bottom: 1px solid #555555;
 	background: #dcdcb3;
@@ -363,12 +368,16 @@ div.blockvmenuimpair
 	color: #000000; 
 	text-align:left;
 	text-decoration: none;
-    padding: 3px;
+    padding-left: 3px;
+    padding-right: 1px;
+    padding-top: 3px;
+    padding-bottom: 3px;
     margin: 1px 0px 0px 0px;
 }
 
 div.help
 {
+	width:160px;
 	border-right: 1px solid #000000;
 	border-bottom: 1px solid #000000;
 	background: #f0f0f0;
@@ -376,7 +385,10 @@ div.help
 	color: #000000; 
 	text-align:left;
 	text-decoration: none;
-    padding: 3px;
+    padding-left: 3px;
+    padding-right: 1px;
+    padding-top: 3px;
+    padding-bottom: 3px;
     margin: 1px 0px 0px 0px;
 }
 
@@ -873,11 +885,16 @@ cursor: pointer;
 /*  Module agenda                                                                 */
 /* ============================================================================== */
 
-.cal_other_month   { background: #DDDDDD; border: solid 1px #ACBCBB; }
-.cal_past_month    { background: #EEEEEE; border: solid 1px #ACBCBB; }
-.cal_current_month { background: #FFFFFF; border: solid 1px #ACBCBB; }
-.cal_today         { background: #DDFFDD; border: solid 1px #ACBCBB; }
-
+.cal_other_month   { background: #DDDDDD; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_past_month    { background: #EEEEEE; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_current_month { background: #FFFFFF; border: solid 1px #ACBCBB; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+.cal_today         { background: #FFFFFF; border: solid 2px #6C7C7B; padding-left: 2px; padding-right: 1px; padding-top: 0px; padding-bottom: 0px; }
+table.cal_event    { border-collapse: collapse; margin-bottom: 1px; }
+table.cal_event td { border: 0px; padding-left: 0px; padding-right: 2px; padding-top: 0px; padding-bottom: 0px; } */
+.cal_event a:link    { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:visited { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:active  { color: #111111; font-size: 11px; font-weight: normal; !important }
+.cal_event a:hover   { color: #111111; font-size: 11px; font-weight: normal; !important }
 
 
 /* ============================================================================== */