Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
91885a8bd4
@ -35,7 +35,7 @@ class ActionComm extends CommonObject
|
|||||||
public $element='action';
|
public $element='action';
|
||||||
public $table_element = 'actioncomm';
|
public $table_element = 'actioncomm';
|
||||||
public $table_rowid = 'id';
|
public $table_rowid = 'id';
|
||||||
protected $ismultientitymanaged = 2; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe
|
protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe
|
||||||
|
|
||||||
var $id;
|
var $id;
|
||||||
|
|
||||||
|
|||||||
@ -51,6 +51,8 @@ if ($user->societe_id > 0)
|
|||||||
$socid = $user->societe_id;
|
$socid = $user->societe_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$result = restrictedArea($user, 'agenda', $objectid, 'actioncomm&societe', 'myactions&allactions', '', 'id');
|
||||||
|
|
||||||
$act = new ActionComm($db);
|
$act = new ActionComm($db);
|
||||||
|
|
||||||
if ($objectid > 0)
|
if ($objectid > 0)
|
||||||
|
|||||||
@ -53,7 +53,7 @@ $contactid=GETPOST('contactid','int');
|
|||||||
$socid = GETPOST('socid','int');
|
$socid = GETPOST('socid','int');
|
||||||
$id = GETPOST('id','int');
|
$id = GETPOST('id','int');
|
||||||
if ($user->societe_id) $socid=$user->societe_id;
|
if ($user->societe_id) $socid=$user->societe_id;
|
||||||
//$result = restrictedArea($user, 'agenda', $id, 'actioncomm', 'actions', '', 'id');
|
$result = restrictedArea($user, 'agenda', $id, 'actioncomm&societe', 'myactions&allactions', '', 'id');
|
||||||
|
|
||||||
$error=GETPOST("error");
|
$error=GETPOST("error");
|
||||||
$mesg='';
|
$mesg='';
|
||||||
|
|||||||
@ -31,6 +31,8 @@ require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php';
|
|||||||
|
|
||||||
$langs->load("commercial");
|
$langs->load("commercial");
|
||||||
|
|
||||||
|
$id = GETPOST('id','int');
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0)
|
||||||
{
|
{
|
||||||
@ -38,6 +40,7 @@ if ($user->societe_id > 0)
|
|||||||
$socid = $user->societe_id;
|
$socid = $user->societe_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$result = restrictedArea($user, 'agenda', $id, 'actioncomm&societe', 'myactions&allactions', '', 'id');
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -48,8 +51,8 @@ $help_url='EN:Module_Agenda_En|FR:Module_Agenda|ES:M&omodulodulo_Agenda';
|
|||||||
llxHeader('',$langs->trans("Agenda"),$help_url);
|
llxHeader('',$langs->trans("Agenda"),$help_url);
|
||||||
|
|
||||||
$act = new ActionComm($db);
|
$act = new ActionComm($db);
|
||||||
$act->fetch($_GET["id"]);
|
$act->fetch($id);
|
||||||
$act->info($_GET["id"]);
|
$act->info($act->id);
|
||||||
|
|
||||||
$head=actions_prepare_head($act);
|
$head=actions_prepare_head($act);
|
||||||
dol_fiche_head($head, 'info', $langs->trans("Action"),0,'action');
|
dol_fiche_head($head, 'info', $langs->trans("Action"),0,'action');
|
||||||
|
|||||||
@ -36,6 +36,7 @@ class Contact extends CommonObject
|
|||||||
{
|
{
|
||||||
public $element='contact';
|
public $element='contact';
|
||||||
public $table_element='socpeople';
|
public $table_element='socpeople';
|
||||||
|
protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe
|
||||||
|
|
||||||
var $id;
|
var $id;
|
||||||
var $civilite_id; // In fact we store civility_code
|
var $civilite_id; // In fact we store civility_code
|
||||||
|
|||||||
@ -29,26 +29,28 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/contact.lib.php';
|
|||||||
$langs->load("companies");
|
$langs->load("companies");
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
$contactid = isset($_GET["id"])?$_GET["id"]:'';
|
$id = GETPOST('id', 'int');
|
||||||
if ($user->societe_id) $socid=$user->societe_id;
|
if ($user->societe_id) $socid=$user->societe_id;
|
||||||
$result = restrictedArea($user, 'contact', $contactid, 'socpeople&societe');
|
$result = restrictedArea($user, 'contact', $id, 'socpeople&societe');
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
llxHeader('',$langs->trans("ContactsAddresses"),'EN:Module_Third_Parties|FR:Module_Tiers|ES:Módulo_Empresas');
|
$title = (! empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("Contacts") : $langs->trans("ContactsAddresses"));
|
||||||
|
|
||||||
|
llxHeader('',$title,'EN:Module_Third_Parties|FR:Module_Tiers|ES:Módulo_Empresas');
|
||||||
|
|
||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
|
|
||||||
$contact = new Contact($db);
|
$contact = new Contact($db);
|
||||||
$contact->fetch($_GET["id"], $user);
|
$contact->fetch($id, $user);
|
||||||
|
|
||||||
|
|
||||||
$head = contact_prepare_head($contact);
|
$head = contact_prepare_head($contact);
|
||||||
|
|
||||||
dol_fiche_head($head, 'exportimport', $langs->trans("ContactsAddresses"), 0, 'contact');
|
dol_fiche_head($head, 'exportimport', $title, 0, 'contact');
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -97,7 +99,7 @@ print '</div>';
|
|||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
print $langs->trans("ExportCardToFormat").': ';
|
print $langs->trans("ExportCardToFormat").': ';
|
||||||
print '<a href="'.DOL_URL_ROOT.'/contact/vcard.php?id='.$_GET["id"].'">';
|
print '<a href="'.DOL_URL_ROOT.'/contact/vcard.php?id='.$contact->id.'">';
|
||||||
print img_picto($langs->trans("VCard"),'vcard.png').' ';
|
print img_picto($langs->trans("VCard"),'vcard.png').' ';
|
||||||
print $langs->trans("VCard");
|
print $langs->trans("VCard");
|
||||||
print '</a>';
|
print '</a>';
|
||||||
|
|||||||
@ -67,7 +67,7 @@ if (! empty($canvas))
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
$result = restrictedArea($user, 'contact', $id, 'socpeople&societe', '', '', '', $objcanvas); // If we create a contact with no company (shared contacts), no check on write permission
|
$result = restrictedArea($user, 'contact', $id, 'socpeople&societe', '', '', 'rowid', $objcanvas); // If we create a contact with no company (shared contacts), no check on write permission
|
||||||
|
|
||||||
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
||||||
$hookmanager->initHooks(array('contactcard'));
|
$hookmanager->initHooks(array('contactcard'));
|
||||||
|
|||||||
@ -35,12 +35,12 @@ $langs->load("admin");
|
|||||||
$action=GETPOST('action');
|
$action=GETPOST('action');
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
$contactid = isset($_GET["id"])?$_GET["id"]:'';
|
$id = GETPOST('id', 'int');
|
||||||
if ($user->societe_id) $socid=$user->societe_id;
|
if ($user->societe_id) $socid=$user->societe_id;
|
||||||
$result = restrictedArea($user, 'contact', $contactid, 'socpeople&societe');
|
$result = restrictedArea($user, 'contact', $id, 'socpeople&societe');
|
||||||
|
|
||||||
$contact = new Contact($db);
|
$contact = new Contact($db);
|
||||||
$contact->fetch($_GET["id"], $user);
|
$contact->fetch($id, $user);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -79,13 +79,15 @@ if ($action == 'dolibarr2ldap')
|
|||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
llxHeader('',$langs->trans("ContactsAddresses"),'EN:Module_Third_Parties|FR:Module_Tiers|ES:Módulo_Empresas');
|
$title = (! empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("Contacts") : $langs->trans("ContactsAddresses"));
|
||||||
|
|
||||||
|
llxHeader('',$title,'EN:Module_Third_Parties|FR:Module_Tiers|ES:Módulo_Empresas');
|
||||||
|
|
||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
|
|
||||||
$head = contact_prepare_head($contact);
|
$head = contact_prepare_head($contact);
|
||||||
|
|
||||||
dol_fiche_head($head, 'ldap', $langs->trans("ContactsAddresses"), 0, 'contact');
|
dol_fiche_head($head, 'ldap', $title, 0, 'contact');
|
||||||
|
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|||||||
@ -69,7 +69,9 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->societe->contact
|
|||||||
|
|
||||||
$now=dol_now();
|
$now=dol_now();
|
||||||
|
|
||||||
llxHeader('',$langs->trans("ContactsAddresses"),'EN:Module_Third_Parties|FR:Module_Tiers|ES:Módulo_Empresas');
|
$title = (! empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("Contacts") : $langs->trans("ContactsAddresses"));
|
||||||
|
|
||||||
|
llxHeader('',$title,'EN:Module_Third_Parties|FR:Module_Tiers|ES:Módulo_Empresas');
|
||||||
|
|
||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
|
|
||||||
@ -77,7 +79,7 @@ $object->fetch($id, $user);
|
|||||||
|
|
||||||
$head = contact_prepare_head($object);
|
$head = contact_prepare_head($object);
|
||||||
|
|
||||||
dol_fiche_head($head, 'perso', $langs->trans("ContactsAddresses"), 0, 'contact');
|
dol_fiche_head($head, 'perso', $title, 0, 'contact');
|
||||||
|
|
||||||
if ($action == 'edit')
|
if ($action == 'edit')
|
||||||
{
|
{
|
||||||
|
|||||||
@ -29,8 +29,13 @@ require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/vcard.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/vcard.class.php';
|
||||||
|
|
||||||
|
|
||||||
|
$id = GETPOST('id', 'int');
|
||||||
|
|
||||||
|
// Security check
|
||||||
|
$result = restrictedArea($user, 'contact', $id, 'socpeople&societe');
|
||||||
|
|
||||||
$contact = new Contact($db);
|
$contact = new Contact($db);
|
||||||
$result=$contact->fetch($_GET["id"]);
|
$result=$contact->fetch($id);
|
||||||
|
|
||||||
$physicalperson=1;
|
$physicalperson=1;
|
||||||
|
|
||||||
|
|||||||
@ -4134,7 +4134,7 @@ function verifCond($strRights)
|
|||||||
* This function is called by verifCond() or trans() and transnoentitiesnoconv().
|
* This function is called by verifCond() or trans() and transnoentitiesnoconv().
|
||||||
*
|
*
|
||||||
* @param string $s String to evaluate
|
* @param string $s String to evaluate
|
||||||
* @param int $returnvalue 0=No return (used to execute $a=something). 1=Value of eval is returned (used to eval $something).
|
* @param int $returnvalue 0=No return (used to execute eval($a=something)). 1=Value of eval is returned (used to eval($something)).
|
||||||
* @return mixed Nothing or return of eval
|
* @return mixed Nothing or return of eval
|
||||||
*/
|
*/
|
||||||
function dol_eval($s,$returnvalue=0)
|
function dol_eval($s,$returnvalue=0)
|
||||||
@ -4145,16 +4145,16 @@ function dol_eval($s,$returnvalue=0)
|
|||||||
global $rights;
|
global $rights;
|
||||||
|
|
||||||
//print $s."<br>\n";
|
//print $s."<br>\n";
|
||||||
if ($returnvalue) return eval('return '.$s.';');
|
if ($returnvalue) return @eval('return '.$s.';');
|
||||||
else eval($s);
|
else @eval($s);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return if var element is ok
|
* Return if var element is ok
|
||||||
*
|
*
|
||||||
* @param string $element Variable to check
|
* @param string $element Variable to check
|
||||||
* @return boolean Return true of variable is not empty
|
* @return boolean Return true of variable is not empty
|
||||||
*/
|
*/
|
||||||
function dol_validElement($element)
|
function dol_validElement($element)
|
||||||
{
|
{
|
||||||
return (trim($element) != '');
|
return (trim($element) != '');
|
||||||
|
|||||||
@ -112,11 +112,15 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
|
|||||||
if (method_exists($objcanvas->control,'restrictedArea')) return $objcanvas->control->restrictedArea($user,$features,$objectid,$dbtablename,$feature2,$dbt_keyfield,$dbt_select);
|
if (method_exists($objcanvas->control,'restrictedArea')) return $objcanvas->control->restrictedArea($user,$features,$objectid,$dbtablename,$feature2,$dbt_keyfield,$dbt_select);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($dbt_select != 'rowid') $objectid = "'".$objectid."'";
|
if ($dbt_select != 'rowid' && $dbt_select != 'id') $objectid = "'".$objectid."'";
|
||||||
|
|
||||||
// More features to check
|
// More features to check
|
||||||
$features = explode("&", $features);
|
$features = explode("&", $features);
|
||||||
|
|
||||||
|
// More subfeatures to check
|
||||||
|
if (!empty($feature2))
|
||||||
|
$feature2 = explode("&", $feature2);
|
||||||
|
|
||||||
// More parameters
|
// More parameters
|
||||||
$params = explode('&', $dbtablename);
|
$params = explode('&', $dbtablename);
|
||||||
$dbtablename=(! empty($params[0]) ? $params[0] : '');
|
$dbtablename=(! empty($params[0]) ? $params[0] : '');
|
||||||
@ -160,8 +164,11 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
|
|||||||
}
|
}
|
||||||
else if (! empty($feature2)) // This should be used for future changes
|
else if (! empty($feature2)) // This should be used for future changes
|
||||||
{
|
{
|
||||||
if (empty($user->rights->$feature->$feature2->lire)
|
foreach($feature2 as $subfeature)
|
||||||
&& empty($user->rights->$feature->$feature2->read)) $readok=0;
|
{
|
||||||
|
if (empty($user->rights->$feature->$subfeature->lire) && empty($user->rights->$feature->$subfeature->read)) $readok=0;
|
||||||
|
else { $readok=1; break; } // For bypass the second test if the first is ok
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (! empty($feature) && ($feature!='user' && $feature!='usergroup')) // This is for old permissions
|
else if (! empty($feature) && ($feature!='user' && $feature!='usergroup')) // This is for old permissions
|
||||||
{
|
{
|
||||||
@ -206,8 +213,11 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
|
|||||||
}
|
}
|
||||||
else if (! empty($feature2)) // This should be used for future changes
|
else if (! empty($feature2)) // This should be used for future changes
|
||||||
{
|
{
|
||||||
if (empty($user->rights->$feature->$feature2->creer)
|
foreach($feature2 as $subfeature)
|
||||||
&& empty($user->rights->$feature->$feature2->write)) $createok=0;
|
{
|
||||||
|
if (empty($user->rights->$feature->$subfeature->creer) && empty($user->rights->$feature->$subfeature->write)) $createok=0;
|
||||||
|
else { $createok=1; break; } // For bypass the second test if the first is ok
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (! empty($feature)) // This is for old permissions
|
else if (! empty($feature)) // This is for old permissions
|
||||||
{
|
{
|
||||||
@ -267,8 +277,11 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
|
|||||||
}
|
}
|
||||||
else if (! empty($feature2)) // This should be used for future changes
|
else if (! empty($feature2)) // This should be used for future changes
|
||||||
{
|
{
|
||||||
if (empty($user->rights->$feature->$feature2->supprimer)
|
foreach($feature2 as $subfeature)
|
||||||
&& empty($user->rights->$feature->$feature2->delete)) $deleteok=0;
|
{
|
||||||
|
if (empty($user->rights->$feature->$subfeature->supprimer) && empty($user->rights->$feature->$subfeature->delete)) $deleteok=0;
|
||||||
|
else { $deleteok=1; break; } // For bypass the second test if the first is ok
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (! empty($feature)) // This is for old permissions
|
else if (! empty($feature)) // This is for old permissions
|
||||||
{
|
{
|
||||||
|
|||||||
@ -40,8 +40,8 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0)
|
|||||||
{
|
{
|
||||||
global $user,$conf,$langs,$dolibarr_main_db_name;
|
global $user,$conf,$langs,$dolibarr_main_db_name;
|
||||||
|
|
||||||
$mainmenu=$_SESSION["mainmenu"];
|
$mainmenu=(empty($_SESSION["mainmenu"])?'':$_SESSION["mainmenu"]);
|
||||||
$leftmenu=$_SESSION["leftmenu"];
|
$leftmenu=(empty($_SESSION["leftmenu"])?'':$_SESSION["leftmenu"]);
|
||||||
|
|
||||||
$id='mainmenu';
|
$id='mainmenu';
|
||||||
$listofmodulesforexternal=explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL);
|
$listofmodulesforexternal=explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL);
|
||||||
|
|||||||
@ -43,6 +43,8 @@ class modAgenda extends DolibarrModules
|
|||||||
*/
|
*/
|
||||||
function __construct($db)
|
function __construct($db)
|
||||||
{
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->numero = 2400;
|
$this->numero = 2400;
|
||||||
|
|
||||||
|
|||||||
@ -297,7 +297,11 @@ if (! empty($_SESSION["disablemodules"]))
|
|||||||
$disabled_modules=explode(',',$_SESSION["disablemodules"]);
|
$disabled_modules=explode(',',$_SESSION["disablemodules"]);
|
||||||
foreach($disabled_modules as $module)
|
foreach($disabled_modules as $module)
|
||||||
{
|
{
|
||||||
if ($module) $conf->$module->enabled=false;
|
if ($module)
|
||||||
|
{
|
||||||
|
if (empty($conf->$module)) $conf->$module=new stdClass();
|
||||||
|
$conf->$module->enabled=false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -833,11 +833,11 @@ class Project extends CommonObject
|
|||||||
{
|
{
|
||||||
// To verify role of users
|
// To verify role of users
|
||||||
$userAccess = 0;
|
$userAccess = 0;
|
||||||
if (($mode == 'read' && $user->rights->projet->all->lire) || ($mode == 'write' && $user->rights->projet->all->creer) || ($mode == 'delete' && $user->rights->projet->all->supprimer))
|
if (($mode == 'read' && ! empty($user->rights->projet->all->lire)) || ($mode == 'write' && ! empty($user->rights->projet->all->creer)) || ($mode == 'delete' && ! empty($user->rights->projet->all->supprimer)))
|
||||||
{
|
{
|
||||||
$userAccess = 1;
|
$userAccess = 1;
|
||||||
}
|
}
|
||||||
else if ($this->public && (($mode == 'read' && $user->rights->projet->lire) || ($mode == 'write' && $user->rights->projet->creer) || ($mode == 'delete' && $user->rights->projet->supprimer)))
|
else if ($this->public && (($mode == 'read' && ! empty($user->rights->projet->lire)) || ($mode == 'write' && ! empty($user->rights->projet->creer)) || ($mode == 'delete' && ! empty($user->rights->projet->supprimer))))
|
||||||
{
|
{
|
||||||
$userAccess = 1;
|
$userAccess = 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,7 +31,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php';
|
|||||||
$langs->load("projects");
|
$langs->load("projects");
|
||||||
$langs->load("companies");
|
$langs->load("companies");
|
||||||
|
|
||||||
$mine = $_REQUEST['mode']=='mine' ? 1 : 0;
|
$mine = GETPOST('mode')=='mine' ? 1 : 0;
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
$socid=0;
|
$socid=0;
|
||||||
@ -49,7 +49,7 @@ $sortorder = GETPOST("sortorder",'alpha');
|
|||||||
$socstatic=new Societe($db);
|
$socstatic=new Societe($db);
|
||||||
$projectstatic=new Project($db);
|
$projectstatic=new Project($db);
|
||||||
|
|
||||||
$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,($mine?$mine:($user->rights->projet->all->lire?2:0)),1);
|
$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,($mine?$mine:(empty($user->rights->projet->all->lire)?0:2)),1);
|
||||||
//var_dump($projectsListId);
|
//var_dump($projectsListId);
|
||||||
|
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ print_fiche_titre($text);
|
|||||||
if ($mine) print $langs->trans("MyProjectsDesc").'<br><br>';
|
if ($mine) print $langs->trans("MyProjectsDesc").'<br><br>';
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($user->rights->projet->all->lire && ! $socid) print $langs->trans("ProjectsDesc").'<br><br>';
|
if (! empty($user->rights->projet->all->lire) && ! $socid) print $langs->trans("ProjectsDesc").'<br><br>';
|
||||||
else print $langs->trans("ProjectsPublicDesc").'<br><br>';
|
else print $langs->trans("ProjectsPublicDesc").'<br><br>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ $sql.= ", s.nom, s.rowid as socid";
|
|||||||
$sql.= " FROM ".MAIN_DB_PREFIX."projet as p";
|
$sql.= " FROM ".MAIN_DB_PREFIX."projet as p";
|
||||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s on p.fk_soc = s.rowid";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s on p.fk_soc = s.rowid";
|
||||||
$sql.= " WHERE p.entity = ".$conf->entity;
|
$sql.= " WHERE p.entity = ".$conf->entity;
|
||||||
if ($mine || ! $user->rights->projet->all->lire) $sql.= " AND p.rowid IN (".$projectsListId.")";
|
if ($mine || empty($user->rights->projet->all->lire)) $sql.= " AND p.rowid IN (".$projectsListId.")";
|
||||||
if ($socid) $sql.= " AND (p.fk_soc IS NULL OR p.fk_soc = 0 OR p.fk_soc = ".$socid.")";
|
if ($socid) $sql.= " AND (p.fk_soc IS NULL OR p.fk_soc = 0 OR p.fk_soc = ".$socid.")";
|
||||||
$sql.= " GROUP BY s.nom, s.rowid";
|
$sql.= " GROUP BY s.nom, s.rowid";
|
||||||
|
|
||||||
|
|||||||
@ -38,48 +38,55 @@ global $dolibarr_main_demo;
|
|||||||
if (empty($dolibarr_main_demo)) accessforbidden('Parameter dolibarr_main_demo must be defined in conf file with value "default login,default pass" to enable the demo entry page',1,1,1);
|
if (empty($dolibarr_main_demo)) accessforbidden('Parameter dolibarr_main_demo must be defined in conf file with value "default login,default pass" to enable the demo entry page',1,1,1);
|
||||||
|
|
||||||
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
||||||
$hookmanager->initHooks(array('demo'));
|
$res=$hookmanager->initHooks(array('demo'));
|
||||||
|
|
||||||
$demoprofiles=array(
|
|
||||||
array('default'=>'1', 'key'=>'profdemoservonly','label'=>'DemoCompanyServiceOnly',
|
|
||||||
'disablemodules'=>'adherent,barcode,boutique,cashdesk,categorie,don,expedition,externalsite,mailmanspip,margin,prelevement,product,stock',
|
|
||||||
'icon'=>DOL_URL_ROOT.'/public/demo/dolibarr_screenshot8.png'),
|
|
||||||
array('default'=>'-1','key'=>'profdemoshopwithdesk','label'=>'DemoCompanyShopWithCashDesk',
|
|
||||||
'disablemodules'=>'adherent,boutique,categorie,don,externalsite,ficheinter,mailmanspip,prelevement,product,stock',
|
|
||||||
'icon'=>DOL_URL_ROOT.'/public/demo/dolibarr_screenshot2.png'),
|
|
||||||
array('default'=>'0', 'key'=>'profdemoprodstock','label'=>'DemoCompanyProductAndStocks',
|
|
||||||
'disablemodules'=>'adherent,boutique,contrat,categorie,don,externalsite,ficheinter,mailmanspip,prelevement,service',
|
|
||||||
'icon'=>DOL_URL_ROOT.'/public/demo/dolibarr_screenshot2.png'),
|
|
||||||
array('default'=>'0', 'key'=>'profdemoall','label'=>'DemoCompanyAll',
|
|
||||||
'disablemodules'=>'adherent,boutique,don,externalsite,mailmanspip',
|
|
||||||
'icon'=>DOL_URL_ROOT.'/public/demo/dolibarr_screenshot9.png'),
|
|
||||||
array('default'=>'-1', 'key'=>'profdemofun','label'=>'DemoFundation',
|
|
||||||
'disablemodules'=>'banque,barcode,boutique,cashdesk,commande,commercial,compta,comptabilite,contrat,expedition,externalsite,facture,ficheinter,fournisseur,mailmanspip,margin,prelevement,product,projet,propal,propale,service,societe,stock,tax',
|
|
||||||
'icon'=>DOL_URL_ROOT.'/public/demo/dolibarr_screenshot6.png'),
|
|
||||||
array('default'=>'0', 'key'=>'profdemofun2','label'=>'DemoFundation2',
|
|
||||||
'disablemodules'=>'barcode,boutique,cashdesk,commande,commercial,compta,comptabilite,contrat,expedition,externalsite,facture,ficheinter,fournisseur,mailmanspip,margin,prelevement,product,projet,propal,propale,service,societe,stock,tax',
|
|
||||||
'icon'=>DOL_URL_ROOT.'/public/demo/dolibarr_screenshot6.png')
|
|
||||||
);
|
|
||||||
|
|
||||||
|
$demoprofiles=array();
|
||||||
|
$alwayscheckedmodules=array();
|
||||||
|
$alwaysuncheckedmodules=array();
|
||||||
|
$alwayshiddencheckedmodules=array();
|
||||||
|
$alwayshiddenuncheckedmodules=array();
|
||||||
|
|
||||||
$tmpaction = 'view';
|
$tmpaction = 'view';
|
||||||
$parameters=array();
|
$parameters=array();
|
||||||
$object=new stdClass();
|
$object=new stdClass();
|
||||||
$reshook=$hookmanager->executeHooks('addDemoProfile', $parameters, $object, $tmpaction); // Note that $action and $object may have been modified by some hooks
|
$reshook=$hookmanager->executeHooks('addDemoProfile', $parameters, $object, $tmpaction); // Note that $action and $object may have been modified by some hooks
|
||||||
$error=$hookmanager->error; $errors=$hookmanager->errors;
|
$error=$hookmanager->error; $errors=$hookmanager->errors;
|
||||||
|
if (empty($reshook))
|
||||||
|
{
|
||||||
|
$demoprofiles=array(
|
||||||
|
array('default'=>'1', 'key'=>'profdemoservonly','label'=>'DemoCompanyServiceOnly',
|
||||||
|
'disablemodules'=>'adherent,barcode,boutique,cashdesk,categorie,don,expedition,externalsite,mailmanspip,margin,prelevement,product,stock',
|
||||||
|
'icon'=>DOL_URL_ROOT.'/public/demo/dolibarr_screenshot8.png'),
|
||||||
|
array('default'=>'-1','key'=>'profdemoshopwithdesk','label'=>'DemoCompanyShopWithCashDesk',
|
||||||
|
'disablemodules'=>'adherent,boutique,categorie,don,externalsite,ficheinter,mailmanspip,prelevement,product,stock',
|
||||||
|
'icon'=>DOL_URL_ROOT.'/public/demo/dolibarr_screenshot2.png'),
|
||||||
|
array('default'=>'0', 'key'=>'profdemoprodstock','label'=>'DemoCompanyProductAndStocks',
|
||||||
|
'disablemodules'=>'adherent,boutique,contrat,categorie,don,externalsite,ficheinter,mailmanspip,prelevement,service',
|
||||||
|
'icon'=>DOL_URL_ROOT.'/public/demo/dolibarr_screenshot2.png'),
|
||||||
|
array('default'=>'0', 'key'=>'profdemoall','label'=>'DemoCompanyAll',
|
||||||
|
'disablemodules'=>'adherent,boutique,don,externalsite,mailmanspip',
|
||||||
|
'icon'=>DOL_URL_ROOT.'/public/demo/dolibarr_screenshot9.png'),
|
||||||
|
array('default'=>'-1', 'key'=>'profdemofun','label'=>'DemoFundation',
|
||||||
|
'disablemodules'=>'banque,barcode,boutique,cashdesk,commande,commercial,compta,comptabilite,contrat,expedition,externalsite,facture,ficheinter,fournisseur,mailmanspip,margin,prelevement,product,projet,propal,propale,service,societe,stock,tax',
|
||||||
|
'icon'=>DOL_URL_ROOT.'/public/demo/dolibarr_screenshot6.png'),
|
||||||
|
array('default'=>'0', 'key'=>'profdemofun2','label'=>'DemoFundation2',
|
||||||
|
'disablemodules'=>'barcode,boutique,cashdesk,commande,commercial,compta,comptabilite,contrat,expedition,externalsite,facture,ficheinter,fournisseur,mailmanspip,margin,prelevement,product,projet,propal,propale,service,societe,stock,tax',
|
||||||
|
'icon'=>DOL_URL_ROOT.'/public/demo/dolibarr_screenshot6.png')
|
||||||
|
);
|
||||||
|
|
||||||
// Visible
|
// Visible
|
||||||
$alwayscheckedmodules=array('barcode','bookmark','externalrss','fckeditor','geoipmaxmind','gravatar','memcached','syslog','user','webservices'); // Technical module we always want
|
$alwayscheckedmodules=array('barcode','bookmark','externalrss','fckeditor','geoipmaxmind','gravatar','memcached','syslog','user','webservices'); // Technical module we always want
|
||||||
$alwaysuncheckedmodules=array('paybox','paypal','google','scanner','workflow'); // Module we never want
|
$alwaysuncheckedmodules=array('paybox','paypal','google','scanner','workflow'); // Module we never want
|
||||||
// Not visible
|
// Not visible
|
||||||
$alwayshiddencheckedmodules=array('accounting','barcode','bookmark','clicktodial','comptabilite','document','domain','externalrss','externalsite','fckeditor','geoipmaxmind','gravatar','label','ldap',
|
$alwayshiddencheckedmodules=array('accounting','barcode','bookmark','clicktodial','comptabilite','document','domain','externalrss','externalsite','fckeditor','geoipmaxmind','gravatar','label','ldap',
|
||||||
'mailmanspip','notification','syslog','user','webservices',
|
'mailmanspip','notification','syslog','user','webservices',
|
||||||
// Extended modules
|
// Extended modules
|
||||||
'memcached','numberwords','zipautofillfr');
|
'memcached','numberwords','zipautofillfr');
|
||||||
$alwayshiddenuncheckedmodules=array('boutique','ftp',
|
$alwayshiddenuncheckedmodules=array('boutique','ftp',
|
||||||
// Extended modules
|
// Extended modules
|
||||||
'awstats','bittorrent','bootstrap','cabinetmed','cmcic','concatpdf','customfield','dolicloud','filemanager','lightbox','mantis','monitoring','moretemplates','multicompany','nltechno','numberingpack','openstreetmap',
|
'awstats','bittorrent','bootstrap','cabinetmed','cmcic','concatpdf','customfield','dolicloud','filemanager','lightbox','mantis','monitoring','moretemplates','multicompany','nltechno','numberingpack','openstreetmap',
|
||||||
'ovh','phenix','phpsysinfo','pibarcode','postnuke','selectbank','skincoloreditor','submiteverywhere','survey','thomsonphonebook','topten','tvacerfa','voyage','webcalendar','webmail');
|
'ovh','phenix','phpsysinfo','pibarcode','postnuke','selectbank','skincoloreditor','submiteverywhere','survey','thomsonphonebook','topten','tvacerfa','voyage','webcalendar','webmail');
|
||||||
|
}
|
||||||
|
|
||||||
// Search modules
|
// Search modules
|
||||||
$dirlist=$conf->file->dol_document_root;
|
$dirlist=$conf->file->dol_document_root;
|
||||||
@ -151,8 +158,8 @@ foreach ($modulesdir as $dir)
|
|||||||
|
|
||||||
// We discard modules according to features level (PS: if module is activated we always show it)
|
// We discard modules according to features level (PS: if module is activated we always show it)
|
||||||
$const_name = 'MAIN_MODULE_'.strtoupper(preg_replace('/^mod/i','',get_class($objMod)));
|
$const_name = 'MAIN_MODULE_'.strtoupper(preg_replace('/^mod/i','',get_class($objMod)));
|
||||||
if ($objMod->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2 && ! $conf->global->$const_name) $modulequalified=0;
|
if ($objMod->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2 && empty($conf->global->$const_name)) $modulequalified=0;
|
||||||
if ($objMod->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1 && ! $conf->global->$const_name) $modulequalified=0;
|
if ($objMod->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1 && empty($conf->global->$const_name)) $modulequalified=0;
|
||||||
|
|
||||||
if ($modulequalified)
|
if ($modulequalified)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2766,7 +2766,7 @@ class Societe extends CommonObject
|
|||||||
*/
|
*/
|
||||||
function getLibCustProspStatut()
|
function getLibCustProspStatut()
|
||||||
{
|
{
|
||||||
return $this->LibCustProspStatut($this->client,$mode);
|
return $this->LibCustProspStatut($this->client);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -174,7 +174,7 @@ class UserGroup extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return array of users id for group
|
* Return array of users id for group this->id (or all if this->id not defined)
|
||||||
*
|
*
|
||||||
* @param string $excludefilter Filter to exclude
|
* @param string $excludefilter Filter to exclude
|
||||||
* @return array Array of users
|
* @return array Array of users
|
||||||
@ -214,8 +214,10 @@ class UserGroup extends CommonObject
|
|||||||
$newuser->fetch($obj->rowid);
|
$newuser->fetch($obj->rowid);
|
||||||
$ret[$obj->rowid]=$newuser;
|
$ret[$obj->rowid]=$newuser;
|
||||||
}
|
}
|
||||||
|
if (! empty($obj->usergroup_entity))
|
||||||
$ret[$obj->rowid]->usergroup_entity[]=$obj->usergroup_entity;
|
{
|
||||||
|
$ret[$obj->rowid]->usergroup_entity[]=$obj->usergroup_entity;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->db->free($resql);
|
$this->db->free($resql);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user