diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php
index f025a34e045..837277c9858 100644
--- a/htdocs/core/lib/product.lib.php
+++ b/htdocs/core/lib/product.lib.php
@@ -132,6 +132,8 @@ function product_prepare_head($object, $user)
}
}
+ complete_head_from_modules($conf,$langs,$object,$head,$h,'product', 'remove');
+
return $head;
}
diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php
index f2ca35611f9..ace308db4bd 100644
--- a/htdocs/core/menus/standard/eldy.lib.php
+++ b/htdocs/core/menus/standard/eldy.lib.php
@@ -1373,8 +1373,13 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after)
$num=count($menu_array);
for ($i = 0; $i < $num; $i++)
{
+ $showmenu=true;
+ if (! empty($conf->global->MAIN_MENU_HIDE_UNAUTHORIZED) && empty($menu_array[$i]['enabled'])) {
+ $showmenu=false;
+ }
+
$alt++;
- if (empty($menu_array[$i]['level']))
+ if (empty($menu_array[$i]['level']) && $showmenu)
{
if (($alt%2==0))
{
@@ -1409,11 +1414,12 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after)
{
print '
'."\n";
}
- else if (empty($conf->global->MAIN_MENU_HIDE_UNAUTHORIZED))
+ else if ($showmenu)
{
print ''."\n";
}
- print ''."\n";
+ if ($showmenu)
+ print ''."\n";
}
// Menu niveau > 0
if ($menu_array[$i]['level'] > 0)
@@ -1428,7 +1434,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after)
if (! strstr($menu_array[$i]['titre'],'';
print ''."\n";
}
- else if (empty($conf->global->MAIN_MENU_HIDE_UNAUTHORIZED))
+ else if ($showmenu)
{
print ''."\n";
}
@@ -1437,7 +1443,8 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after)
// If next is a new block or end
if (empty($menu_array[$i+1]['level']))
{
- print ''."\n";
+ if ($showmenu)
+ print ''."\n";
print "\n";
}
}
diff --git a/htdocs/core/triggers/interface_20_modPaypal_PaypalWorkflow.class.php b/htdocs/core/triggers/interface_20_modPaypal_PaypalWorkflow.class.php
index ab78856e65f..9b0c2034927 100755
--- a/htdocs/core/triggers/interface_20_modPaypal_PaypalWorkflow.class.php
+++ b/htdocs/core/triggers/interface_20_modPaypal_PaypalWorkflow.class.php
@@ -102,47 +102,54 @@ class InterfacePaypalWorkflow
if ($action == 'PAYPAL_PAYMENT_OK')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". source=".$object->source." ref=".$object->ref);
-
- if ($object->source == 'membersubscription')
+
+ if (! empty($object->source))
{
- //require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherents.class.php");
-
- // TODO add subscription treatment
+ if ($object->source == 'membersubscription')
+ {
+ //require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherents.class.php';
+
+ // TODO add subscription treatment
+ }
+ else
+ {
+ require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
+
+ $soc = new Societe($this->db);
+
+ // Parse element/subelement (ex: project_task)
+ $element = $path = $filename = $object->source;
+ if (preg_match('/^([^_]+)_([^_]+)/i',$object->source,$regs))
+ {
+ $element = $path = $regs[1];
+ $filename = $regs[2];
+ }
+ // For compatibility
+ if ($element == 'order') {
+ $path = $filename = 'commande';
+ }
+ if ($element == 'invoice') {
+ $path = 'compta/facture'; $filename = 'facture';
+ }
+
+ dol_include_once('/'.$path.'/class/'.$filename.'.class.php');
+
+ $classname = ucfirst($filename);
+ $obj = new $classname($this->db);
+
+ $ret = $obj->fetch('',$object->ref);
+ if ($ret < 0) return -1;
+
+ // Add payer id
+ $soc->setValueFrom('ref_int', $object->payerID, 'societe', $obj->socid);
+
+ // Add transaction id
+ $obj->setValueFrom('ref_int',$object->resArray["TRANSACTIONID"]);
+ }
}
else
{
- require_once(DOL_DOCUMENT_ROOT."/societe/class/societe.class.php");
-
- $soc = new Societe($this->db);
-
- // Parse element/subelement (ex: project_task)
- $element = $path = $filename = $object->source;
- if (preg_match('/^([^_]+)_([^_]+)/i',$object->source,$regs))
- {
- $element = $path = $regs[1];
- $filename = $regs[2];
- }
- // For compatibility
- if ($element == 'order') {
- $path = $filename = 'commande';
- }
- if ($element == 'invoice') {
- $path = 'compta/facture'; $filename = 'facture';
- }
-
- dol_include_once('/'.$path.'/class/'.$filename.'.class.php');
-
- $classname = ucfirst($filename);
- $obj = new $classname($this->db);
-
- $ret = $obj->fetch('',$object->ref);
- if ($ret < 0) return -1;
-
- // Add payer id
- $soc->setValueFrom('ref_int', $object->payerID, 'societe', $obj->socid);
-
- // Add transaction id
- $obj->setValueFrom('ref_int',$object->resArray["TRANSACTIONID"]);
+ // TODO add free tag treatment
}
}
diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php
index 688dd8b0f45..dc185404cb8 100644
--- a/htdocs/user/class/user.class.php
+++ b/htdocs/user/class/user.class.php
@@ -512,7 +512,7 @@ class User extends CommonObject
$sql.= " FROM ".MAIN_DB_PREFIX."user_rights as ur";
$sql.= ", ".MAIN_DB_PREFIX."rights_def as r";
$sql.= " WHERE r.id = ur.fk_id";
- $sql.= " AND r.entity in (0,".(!empty($conf->multicompany->transverse_mode)?"1,":"").$conf->entity.")";
+ $sql.= " AND r.entity IN (0,".(! empty($conf->multicompany->enabled) && ! empty($conf->multicompany->transverse_mode)?"1,":"").$conf->entity.")";
$sql.= " AND ur.fk_user= ".$this->id;
$sql.= " AND r.perms IS NOT NULL";
if ($moduletag) $sql.= " AND r.module = '".$this->db->escape($moduletag)."'";
@@ -557,11 +557,14 @@ class User extends CommonObject
$sql.= " ".MAIN_DB_PREFIX."usergroup_user as gu,";
$sql.= " ".MAIN_DB_PREFIX."rights_def as r";
$sql.= " WHERE r.id = gr.fk_id";
+ if (! empty($conf->multicompany->enabled) && ! empty($conf->multicompany->transverse_mode)) {
+ $sql.= " AND gu.entity IN (0,".$conf->entity.")";
+ } else {
+ $sql.= " AND r.entity = ".$conf->entity;
+ }
$sql.= " AND gr.fk_usergroup = gu.fk_usergroup";
$sql.= " AND gu.fk_user = ".$this->id;
$sql.= " AND r.perms IS NOT NULL";
- $sql.= " AND r.entity = ".$conf->entity;
- $sql.= " AND gu.entity IN (0,".$conf->entity.")";
if ($moduletag) $sql.= " AND r.module = '".$this->db->escape($moduletag)."'";
dol_syslog(get_class($this).'::getrights sql='.$sql, LOG_DEBUG);
@@ -1418,7 +1421,7 @@ class User extends CommonObject
}
if (! empty($dolibarr_main_force_https)
|| (! empty($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == 'on')) $urlwithouturlroot=preg_replace('/http:/i','https:',$urlwithouturlroot);
-
+
// TODO Use outputlangs to translate messages
if (! $changelater)
{