if($user->socid)$sql.=" INNER JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid=p.fk_soc";
$sql.=" WHERE p.entity = ".$conf->entity;
if($user->socid)$sql.=" AND s.rowid = ".$user->socid;
$sql.=" WHERE p.entity IN (".getEntity('project',1).')';
if(!$user->rights->projet->all->lire)$sql.=" AND p.rowid IN (".$projectsListId.")";// public and assigned to, or restricted to company for external users
if($user->socid)$sql.=" AND s.rowid = ".$user->socid;
$sql.=" AND p.fk_statut = 1";// Seulement les projets ouverts
$sql.=" ORDER BY p.datec DESC";
$sql.=$db->plimit($max,0);
if($socid)$sql.=" AND (p.fk_soc IS NULL OR p.fk_soc = 0 OR p.fk_soc = ".$socid.")";
if(!$user->rights->societe->client->voir&&!$socid)$sql.=" AND ((s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id.") OR (s.rowid IS NULL))";
// Get id of types of contacts for projects (This list never contains a lot of elements)
...
...
@@ -245,7 +246,7 @@ if ($search_user > 0)
$sql.=" WHERE p.entity IN (".getEntity('project',1).')';
if(!$user->rights->projet->all->lire)$sql.=" AND p.rowid IN (".$projectsListId.")";// public and assigned to, or restricted to company for external users
// No need to check company, as filtering of projects must be done by getProjectsAuthorizedForUser
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.")";
if($search_categ>0)$sql.=" AND cs.fk_categorie = ".$db->escape($search_categ);
if($search_categ==-2)$sql.=" AND cs.fk_categorie IS NULL";