Fix: more simple

This commit is contained in:
Regis Houssin 2010-02-04 18:18:37 +00:00
parent 9854b5ab53
commit d418143bde
3 changed files with 17 additions and 17 deletions

View File

@ -44,13 +44,8 @@ if ($user->societe_id > 0)
$socstatic=new Societe($db);
$projectstatic=new Project($db);
$projectsIdArray=array();
$mine = $_REQUEST['mode']=='mine' ? 1 : 0;
$projectsListArray = $projectstatic->getProjectsAuthorizedForUser($user,$mine);
foreach ($projectsListArray as $key => $value)
{
$projectsIdArray[] = $key;
}
$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,$mine,1);
llxHeader("",$langs->trans("Projects"),"EN:Module_Projects|FR:Module_Projets|ES:Módulo_Proyectos");
@ -72,7 +67,7 @@ $sql = "SELECT p.rowid as projectid, p.ref, p.title, p.fk_user_creat, p.public,
$sql.= " FROM ".MAIN_DB_PREFIX."projet as p";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."projet_task as t ON p.rowid = t.fk_projet";
$sql.= " WHERE p.entity = ".$conf->entity;
if ($mine) $sql.= " AND p.rowid IN (".(!empty($projectsIdArray) ? implode(',',$projectsIdArray) : 0).")";
if ($mine) $sql.= " AND p.rowid IN (".$projectsListId.")";
if ($socid) $sql.= " AND p.fk_soc = ".$socid;
$sql.= " GROUP BY p.title, p.rowid";
@ -128,7 +123,7 @@ $sql.= ", s.nom, s.rowid as socid";
$sql.= " FROM ".MAIN_DB_PREFIX."projet as p";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s on p.fk_soc = s.rowid";
$sql.= " WHERE p.entity = ".$conf->entity;
$sql.= " AND p.rowid IN (".(!empty($projectsIdArray) ? implode(',',$projectsIdArray) : 0).")";
$sql.= " AND p.rowid IN (".$projectsListId.")";
if ($socid) $sql.= " AND s.rowid = ".$socid;
$sql.= " GROUP BY s.nom, s.rowid";

View File

@ -68,13 +68,8 @@ llxHeader("",$langs->trans("Projects"),"EN:Module_Projects|FR:Module_Projets|ES:
$projectstatic = new Project($db);
$socstatic = new Societe($db);
$projectsIdArray=array();
$mine = $_REQUEST['mode']=='mine' ? 1 : 0;
$projectsListArray = $projectstatic->getProjectsAuthorizedForUser($user,$mine);
foreach ($projectsListArray as $key => $value)
{
$projectsIdArray[] = $key;
}
$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,$mine,1);
$sql = "SELECT p.rowid as projectid, p.ref, p.title, p.fk_statut, p.public, p.fk_user_creat";
$sql.= ", p.datec as date_create, p.dateo as date_start, p.datee as date_end";
@ -82,7 +77,7 @@ $sql.= ", s.nom, s.rowid as socid";
$sql.= " FROM ".MAIN_DB_PREFIX."projet as p";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s on p.fk_soc = s.rowid";
$sql.= " WHERE p.entity = ".$conf->entity;
if ($mine) $sql.= " AND p.rowid IN (".(!empty($projectsIdArray) ? implode(',',$projectsIdArray) : 0).")";
if ($mine) $sql.= " AND p.rowid IN (".$projectsListId.")";
if ($socid) $sql.= " AND s.rowid = ".$socid;
if ($_GET["search_ref"])

View File

@ -657,11 +657,12 @@ class Project extends CommonObject
* @param unknown_type $user
* @return unknown
*/
function getProjectsAuthorizedForUser($user,$mine=0)
function getProjectsAuthorizedForUser($user,$mine=0,$list=0)
{
global $conf;
$projects = array();
$temp = array();
$sql = "SELECT DISTINCT p.rowid, p.ref";
$sql.= " FROM ".MAIN_DB_PREFIX."projet as p";
@ -695,9 +696,18 @@ class Project extends CommonObject
{
$row = $this->db->fetch_row($resql);
$projects[$row[0]] = $row[1];
$temp[] = $row[0];
$i++;
}
$this->db->free();
$this->db->free($resql);
if ($list)
{
if (empty($temp)) return 0;
$result = implode(',',$temp);
return $result;
}
}
else
{