From 910a92516711a006ad0f7424b4d3f44ce2de7594 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Sat, 6 May 2017 20:43:14 +0200
Subject: [PATCH] NEW Add last activation author and ip of modules

---
 htdocs/admin/modulehelp.php                   |  18 ++++++++
 htdocs/admin/modules.php                      |   6 +--
 htdocs/admin/user.php                         |   4 +-
 htdocs/admin/usergroup.php                    |   2 +-
 htdocs/comm/mailing/card.php                  |   2 +-
 htdocs/core/lib/admin.lib.php                 |   2 +-
 htdocs/core/menus/standard/auguria.lib.php    |   2 +-
 htdocs/core/menus/standard/eldy.lib.php       |   2 +-
 htdocs/core/modules/DolibarrModules.class.php |  42 ++++++++++++++++--
 htdocs/core/tpl/login.tpl.php                 |   2 +-
 htdocs/core/tpl/passwordforgotten.tpl.php     |   2 +-
 htdocs/langs/en_US/admin.lang                 |   4 +-
 htdocs/societe/admin/contact_extrafields.php  |   2 +-
 htdocs/societe/admin/societe.php              |   2 +-
 htdocs/societe/admin/societe_extrafields.php  |   2 +-
 htdocs/theme/dolibarr_logo.png                | Bin 14646 -> 10289 bytes
 htdocs/theme/eldy/style.css.php               |  10 ++++-
 htdocs/user/admin/group_extrafields.php       |   2 +-
 htdocs/user/admin/user_extrafields.php        |   2 +-
 19 files changed, 84 insertions(+), 24 deletions(-)
 mode change 100644 => 100755 htdocs/theme/dolibarr_logo.png

diff --git a/htdocs/admin/modulehelp.php b/htdocs/admin/modulehelp.php
index 94bfa8e05bb..d318566ff61 100644
--- a/htdocs/admin/modulehelp.php
+++ b/htdocs/admin/modulehelp.php
@@ -330,6 +330,24 @@ if ($mode == 'desc')
     else $text.=$langs->trans("Disabled");
     $text.='<br>';
 
+    $tmp = $objMod->getLastActivationInfo();
+    $authorid = $tmp['authorid'];
+    if ($authorid > 0)
+    {
+        $tmpuser = new User($db);
+        $tmpuser->fetch($authorid);
+        $text.='<strong>'.$langs->trans("LastActivationAuthor").':</strong> ';
+        $text.= $tmpuser->getNomUrl(1);
+        $text.='<br>';
+    }
+    $ip = $tmp['ip'];
+    if ($ip)
+    {
+        $text.='<strong>'.$langs->trans("LastActivationIP").':</strong> ';
+        $text.= $ip;
+        $text.='<br>';
+    }    
+    
     $moduledesclong=$objMod->getDescLong();
     if ($moduledesclong) $text.='<br><hr><div class="moduledesclong">'.$moduledesclong.'<div>';
 }
diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php
index 88944ee589a..433508be908 100644
--- a/htdocs/admin/modules.php
+++ b/htdocs/admin/modules.php
@@ -402,9 +402,9 @@ if ($nbofactivatedmodules <= 1) $moreinfo .= ' '.img_warning($langs->trans("YouM
 print load_fiche_titre($langs->trans("ModulesSetup"),$moreinfo,'title_setup');
 
 // Start to show page
-if ($mode=='common')      print $langs->trans("ModulesDesc")."<br>\n";
-if ($mode=='marketplace') print $langs->trans("ModulesMarketPlaceDesc")."<br>\n";
-if ($mode=='deploy')      print $langs->trans("ModulesDeployDesc", $langs->transnoentitiesnoconv("AvailableModules"))."<br>\n";
+if ($mode=='common')      print '<span class="opacitymedium">'.$langs->trans("ModulesDesc")."</span><br>\n";
+if ($mode=='marketplace') print '<span class="opacitymedium">'.$langs->trans("ModulesMarketPlaceDesc")."</span><br>\n";
+if ($mode=='deploy')      print '<span class="opacitymedium">'.$langs->trans("ModulesDeployDesc", $langs->transnoentitiesnoconv("AvailableModules"))."</span><br>\n";
 
 
 $h = 0;
diff --git a/htdocs/admin/user.php b/htdocs/admin/user.php
index 42feea8f8ec..0c7574b7ec4 100644
--- a/htdocs/admin/user.php
+++ b/htdocs/admin/user.php
@@ -167,7 +167,7 @@ print load_fiche_titre($langs->trans("UsersSetup"),$linkback,'title_setup');
 
 $head=user_admin_prepare_head();
 
-dol_fiche_head($head,'card', $langs->trans("MenuUsersAndGroups"), 0, 'user');
+dol_fiche_head($head,'card', $langs->trans("MenuUsersAndGroups"), -1, 'user');
 
 print '<table class="noborder" width="100%">';
 print '<tr class="liste_titre">';
@@ -205,7 +205,7 @@ print '</td></tr>';
 
 print '</table>';
 
-
+print '<br>';
 
 $dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']);
 
diff --git a/htdocs/admin/usergroup.php b/htdocs/admin/usergroup.php
index db5ef3cbf59..4642e6d3183 100644
--- a/htdocs/admin/usergroup.php
+++ b/htdocs/admin/usergroup.php
@@ -151,7 +151,7 @@ print load_fiche_titre($langs->trans("UsersSetup"),$linkback,'title_setup');
 
 $head=user_admin_prepare_head();
 
-dol_fiche_head($head,'usergroupcard', $langs->trans("MenuUsersAndGroups"), 0, 'user');
+dol_fiche_head($head,'usergroupcard', $langs->trans("MenuUsersAndGroups"), -1, 'user');
 
 
 $dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']);
diff --git a/htdocs/comm/mailing/card.php b/htdocs/comm/mailing/card.php
index fe582d56656..0b4c3c239f9 100644
--- a/htdocs/comm/mailing/card.php
+++ b/htdocs/comm/mailing/card.php
@@ -1057,7 +1057,7 @@ else
 			// Print mail content
 			print load_fiche_titre($langs->trans("EMail"), $form->textwithpicto($langs->trans("AvailableVariables"), $htmltext, 1, 'help', '', 0, 2, 'emailsubstitionhelp'), 'title_generic');
 			
-			dol_fiche_head('');
+			dol_fiche_head('', '', '', -1);
 			
 			print '<table class="border" width="100%">';
 
diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php
index 4beb49107d2..2016807efe9 100644
--- a/htdocs/core/lib/admin.lib.php
+++ b/htdocs/core/lib/admin.lib.php
@@ -812,7 +812,7 @@ function activateModule($value,$withdeps=1)
         return $ret;
     }
 
-    $result=$objMod->init();
+    $result=$objMod->init();    // Enable module
     if ($result <= 0) 
     {
         $ret['errors'][]=$objMod->error;
diff --git a/htdocs/core/menus/standard/auguria.lib.php b/htdocs/core/menus/standard/auguria.lib.php
index e95359e5683..d2d8e36b8ca 100644
--- a/htdocs/core/menus/standard/auguria.lib.php
+++ b/htdocs/core/menus/standard/auguria.lib.php
@@ -269,7 +269,7 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM
 		print '<div class="menu_titre" id="menu_titre_logo"></div>';
 		print '<div class="menu_top" id="menu_top_logo"></div>';
 		print '<div class="menu_contenu" id="menu_contenu_logo">';
-		print '<div class="center"><img title="'.dol_escape_htmltag($title).'" alt="" src="'.$urllogo.'" style="max-width: 80%"></div>'."\n";
+		print '<div class="center"><img title="'.dol_escape_htmltag($title).'" alt="" src="'.$urllogo.'" style="max-width: 70%"></div>'."\n";
 		print '</div>';
 		print '<div class="menu_end" id="menu_end_logo"></div>';
 		print '</div>'."\n";
diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php
index 4c873830948..b51292a0bb8 100644
--- a/htdocs/core/menus/standard/eldy.lib.php
+++ b/htdocs/core/menus/standard/eldy.lib.php
@@ -478,7 +478,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
 		print '<div class="menu_titre" id="menu_titre_logo"></div>';
 		print '<div class="menu_top" id="menu_top_logo"></div>';
 		print '<div class="menu_contenu" id="menu_contenu_logo">';
-		print '<div class="center"><img class="mycompany" title="'.dol_escape_htmltag($title).'" alt="" src="'.$urllogo.'" style="max-width: 80%"></div>'."\n";
+		print '<div class="center"><img class="mycompany" title="'.dol_escape_htmltag($title).'" alt="" src="'.$urllogo.'" style="max-width: 70%"></div>'."\n";
 		print '</div>';
 		print '<div class="menu_end" id="menu_end_logo"></div>';
 		print '</div>'."\n";
diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php
index 48ce35f1532..d0559268c52 100644
--- a/htdocs/core/modules/DolibarrModules.class.php
+++ b/htdocs/core/modules/DolibarrModules.class.php
@@ -795,6 +795,37 @@ class DolibarrModules           // Can not be abstract, because we need to insta
     }
     
     
+    /**
+     * Gives the last author of activation
+     *
+     * @return  array       Array array('authorid'=>Id of last activation user, 'lastactivationdate'=>Date of last activation)
+     */
+    function getLastActivationInfo()
+    {
+        global $conf;
+        
+        $sql = "SELECT tms, note FROM ".MAIN_DB_PREFIX."const";
+        $sql.= " WHERE ".$this->db->decrypt('name')." = '".$this->const_name."'";
+        $sql.= " AND entity IN (0, ".$conf->entity.")";
+        
+        dol_syslog(get_class($this)."::getLastActiveDate", LOG_DEBUG);
+        $resql=$this->db->query($sql);
+        if (! $resql) $err++;
+        else
+        {
+            $obj=$this->db->fetch_object($resql);
+            $tmp=array();
+            if ($obj->note)
+            {
+                $tmp=json_decode($obj->note, true);
+            }
+            if ($obj) return array('authorid'=>$tmp['authorid'], 'ip'=>$tmp['ip'], 'lastactivationdate'=>$this->db->jdate($obj->tms));
+        }
+        
+        return array();
+    }
+    
+    
     /**
      * Insert constants for module activation
      *
@@ -802,7 +833,7 @@ class DolibarrModules           // Can not be abstract, because we need to insta
      */
     function _active()
     {
-        global $conf;
+        global $conf, $user;
 
         $err = 0;
 
@@ -817,10 +848,13 @@ class DolibarrModules           // Can not be abstract, because we need to insta
         $resql=$this->db->query($sql);
         if (! $resql) $err++;
 
-        $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible,entity) VALUES";
+        $note=json_encode(array('authorid'=>$user->id, 'ip'=>$_SERVER['REMOTE_ADDR']));
+        
+        $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name, value, visible, entity, note) VALUES";
         $sql.= " (".$this->db->encrypt($this->const_name,1);
-        $sql.= ",".$this->db->encrypt('1',1);
-        $sql.= ",0,".$entity.")";
+        $sql.= ", ".$this->db->encrypt('1',1);
+        $sql.= ", 0, ".$entity;
+        $sql.= ", '".$this->db->escape($note)."')";
 
         dol_syslog(get_class($this)."::_active", LOG_DEBUG);
         $resql=$this->db->query($sql);
diff --git a/htdocs/core/tpl/login.tpl.php b/htdocs/core/tpl/login.tpl.php
index 1245041d98a..81e3936d300 100644
--- a/htdocs/core/tpl/login.tpl.php
+++ b/htdocs/core/tpl/login.tpl.php
@@ -258,7 +258,7 @@ if (!empty($conf->global->MAIN_EASTER_EGG_COMMITSTRIP)) {
 <?php if ($main_home)
 {
 ?>
-	<div class="center login_main_home" style="max-width: 80%">
+	<div class="center login_main_home" style="max-width: 70%">
 	<?php echo $main_home; ?>
 	</div><br>
 <?php
diff --git a/htdocs/core/tpl/passwordforgotten.tpl.php b/htdocs/core/tpl/passwordforgotten.tpl.php
index bdc38b08873..ad29cbfcd3d 100644
--- a/htdocs/core/tpl/passwordforgotten.tpl.php
+++ b/htdocs/core/tpl/passwordforgotten.tpl.php
@@ -151,7 +151,7 @@ if (! empty($hookmanager->resArray['options'])) {
 </form>
 
 
-<div class="center login_main_home" style="max-width: 80%">
+<div class="center login_main_home" style="max-width: 70%">
 <?php if ($mode == 'dolibarr' || ! $disabled) { ?>
 	<font style="font-size: 12px;">
 	<?php echo $langs->trans('SendNewPasswordDesc'); ?>
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index 8425aa2c4c6..5fd5cb57c8b 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -302,6 +302,8 @@ CurrentVersion=Dolibarr current version
 CallUpdatePage=Go to the page that updates the database structure and data: %s.
 LastStableVersion=Latest stable version
 LastActivationDate=Latest activation date
+LastActivationAuthor=Latest activation author
+LastActivationIP=Latest activation IP
 UpdateServerOffline=Update server offline
 WithCounter=Manage a counter
 GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:<br><b>{000000}</b> corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask. <br><b>{000000+000}</b> same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s. <br><b>{000000@x}</b> same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required. <br><b>{dd}</b> day (01 to 31).<br><b>{mm}</b> month (01 to 12).<br><b>{yy}</b>, <b>{yyyy}</b> or <b>{y}</b> year over 2, 4 or 1 numbers. <br>
@@ -1099,7 +1101,7 @@ WarningAtLeastKeyOrTranslationRequired=A search criteria is required at least fo
 NewTranslationStringToShow=New translation string to show
 OriginalValueWas=The original translation is overwritten. Original value was:<br><br>%s
 TransKeyWithoutOriginalValue=You forced a new translation for the translation key '<strong>%s</strong>' that does not exists in any language files
-TotalNumberOfActivatedModules=Total number of activated feature modules: <b>%s</b> / <b>%s</b>
+TotalNumberOfActivatedModules=Activated feature/modules: <b>%s</b> / <b>%s</b>
 YouMustEnableOneModule=You must at least enable 1 module
 ClassNotFoundIntoPathWarning=Class %s not found into PHP path
 YesInSummer=Yes in summer
diff --git a/htdocs/societe/admin/contact_extrafields.php b/htdocs/societe/admin/contact_extrafields.php
index 37db7d02e4c..2a60252f7f8 100644
--- a/htdocs/societe/admin/contact_extrafields.php
+++ b/htdocs/societe/admin/contact_extrafields.php
@@ -70,7 +70,7 @@ print load_fiche_titre($langs->trans("CompanySetup"),$linkback,'title_setup');
 
 $head = societe_admin_prepare_head();
 
-dol_fiche_head($head, 'attributes_contacts', $langs->trans("ThirdParties"), 0, 'company');
+dol_fiche_head($head, 'attributes_contacts', $langs->trans("ThirdParties"), -1, 'company');
 
 require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
 
diff --git a/htdocs/societe/admin/societe.php b/htdocs/societe/admin/societe.php
index 517672d14ed..63ba12197fd 100644
--- a/htdocs/societe/admin/societe.php
+++ b/htdocs/societe/admin/societe.php
@@ -307,7 +307,7 @@ print load_fiche_titre($langs->trans("CompanySetup"),$linkback,'title_setup');
 
 $head = societe_admin_prepare_head();
 
-dol_fiche_head($head, 'general', $langs->trans("ThirdParties"), 0, 'company');
+dol_fiche_head($head, 'general', $langs->trans("ThirdParties"), -1, 'company');
 
 $dirsociete=array_merge(array('/core/modules/societe/'),$conf->modules_parts['societe']);
 
diff --git a/htdocs/societe/admin/societe_extrafields.php b/htdocs/societe/admin/societe_extrafields.php
index 89f44d53aa7..a722ec61b86 100644
--- a/htdocs/societe/admin/societe_extrafields.php
+++ b/htdocs/societe/admin/societe_extrafields.php
@@ -71,7 +71,7 @@ print load_fiche_titre($langs->trans("CompanySetup"),$linkback,'title_setup');
 
 $head = societe_admin_prepare_head();
 
-dol_fiche_head($head, 'attributes', $langs->trans("ThirdParties"), 0, 'company');
+dol_fiche_head($head, 'attributes', $langs->trans("ThirdParties"), -1, 'company');
 
 require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
 
diff --git a/htdocs/theme/dolibarr_logo.png b/htdocs/theme/dolibarr_logo.png
old mode 100644
new mode 100755
index 3ee46b5155303f5f03b05594070a6c076e773636..5287d9dcc25bc48dddcc351dd4aa64fd83322463
GIT binary patch
literal 10289
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
DtGo)<

literal 14646
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

diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php
index f4d5c5c32bd..b6e1fa0569d 100644
--- a/htdocs/theme/eldy/style.css.php
+++ b/htdocs/theme/eldy/style.css.php
@@ -90,7 +90,7 @@ $colorbacklinepair1='248,248,248';    // line pair
 $colorbacklinepair2='248,248,248';    // line pair
 $colorbacklinepairhover='238,246,252';    // line pair
 $colorbackbody='255,255,255';
-$colortexttitlenotab='60,60,20';
+$colortexttitlenotab='100,60,20';
 $colortexttitle='0,0,0';
 $colortext='0,0,0';
 $colortextlink='0,0,120';
@@ -988,6 +988,9 @@ div.fiche {
 	<?php if (! empty($conf->dol_hide_leftmenu) && ! empty($conf->dol_hide_topmenu)) print 'margin-top: 4px;'."\n"; ?>
 	<?php if (! empty($conf->dol_hide_leftmenu)) print 'margin-bottom: 12px;'."\n"; ?>
 }
+div.fiche>table:first-child {
+	margin-bottom: 15px !important;
+}
 div.fichecenter {
 	/* margin-top: 10px; */
 	width: 100%;
@@ -2018,6 +2021,9 @@ a.tabTitle {
     white-space: nowrap;
 }
 
+a.tabunactive {
+    color: rgb(<?php print $colortextlink; ?>) !important;
+}
 a.tab:link, a.tab:visited, a.tab:hover, a.tab#active {
 	font-family: <?php print $fontlist ?>;
 	padding: 12px 9px 12px;
@@ -3034,7 +3040,7 @@ td.legendLabel { padding: 2px 2px 2px 0 !important; }
 div.titre {
 	font-family: <?php print $fontlist ?>;
 	font-size: 14px;
-	/* font-weight: bold; */
+	font-weight: bold;
 	color: rgb(<?php print $colortexttitlenotab; ?>);
 	text-decoration: none;
 	padding-top: 5px;
diff --git a/htdocs/user/admin/group_extrafields.php b/htdocs/user/admin/group_extrafields.php
index 99eab0e3a88..8dad702935f 100644
--- a/htdocs/user/admin/group_extrafields.php
+++ b/htdocs/user/admin/group_extrafields.php
@@ -71,7 +71,7 @@ print load_fiche_titre($langs->trans("UsersSetup"),$linkback,'title_setup');
 
 $head = user_admin_prepare_head();
 
-dol_fiche_head($head, 'attributes_group', $langs->trans("MenuUsersAndGroups"), 0, 'user');
+dol_fiche_head($head, 'attributes_group', $langs->trans("MenuUsersAndGroups"), -1, 'user');
 
 require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
 
diff --git a/htdocs/user/admin/user_extrafields.php b/htdocs/user/admin/user_extrafields.php
index bb035d9f95f..28bf22da654 100644
--- a/htdocs/user/admin/user_extrafields.php
+++ b/htdocs/user/admin/user_extrafields.php
@@ -70,7 +70,7 @@ print load_fiche_titre($langs->trans("UsersSetup"),$linkback,'title_setup');
 
 $head = user_admin_prepare_head();
 
-dol_fiche_head($head, 'attributes', $langs->trans("MenuUsersAndGroups"), 0, 'user');
+dol_fiche_head($head, 'attributes', $langs->trans("MenuUsersAndGroups"), -1, 'user');
 
 require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
 
-- 
GitLab