diff --git a/htdocs/projet/index.php b/htdocs/projet/index.php
index ede2839aa09..cba229454e3 100644
--- a/htdocs/projet/index.php
+++ b/htdocs/projet/index.php
@@ -107,7 +107,8 @@ else
print "";
print '
';
-
+//$result = $projectstatic->getProjectsAuthorizedForUser($user);
+//var_dump($result);
print '';
print '';
@@ -122,7 +123,6 @@ $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s on p.fk_soc = s.rowid";
$sql.= " WHERE p.entity = ".$conf->entity;
if ($socid) $sql.= " AND s.rowid = ".$socid;
$sql.= " GROUP BY s.nom, s.rowid";
-//$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit, $offset);
$var=true;
$resql = $db->query($sql);
diff --git a/htdocs/projet/project.class.php b/htdocs/projet/project.class.php
index 239443d8c25..17944f907e5 100644
--- a/htdocs/projet/project.class.php
+++ b/htdocs/projet/project.class.php
@@ -650,6 +650,51 @@ class Project extends CommonObject
return $userAccess;
}
+
+ /**
+ * Return array of projects authorized for a user
+ *
+ * @param unknown_type $user
+ * @return unknown
+ */
+ function getProjectsAuthorizedForUser($user)
+ {
+ global $conf;
+
+ $projects = array();
+
+ $sql = "SELECT DISTINCT p.rowid, p.ref";
+ $sql.= " FROM ".MAIN_DB_PREFIX."projet as p";
+ $sql.= ", ".MAIN_DB_PREFIX."element_contact as ec";
+ $sql.= ", ".MAIN_DB_PREFIX."c_type_contact as ctc";
+ $sql.= " WHERE p.entity = ".$conf->entity;
+ $sql.= " AND ( p.public = 1";
+ $sql.= " OR p.fk_user_creat = ".$user->id;
+ $sql.= " OR ( ec.element_id = p.rowid";
+ $sql.= " AND ctc.rowid = ec.fk_c_type_contact";
+ $sql.= " AND ctc.element = '".$this->element."'";
+ $sql.= " AND ec.fk_socpeople = ".$user->id." ) )";
+
+ $resql = $this->db->query($sql);
+ if ($resql)
+ {
+ $num = $this->db->num_rows($resql);
+ $i = 0;
+ while ($i < $num)
+ {
+ $row = $this->db->fetch_row($resql);
+ $projects[$row[0]] = $row[1];
+ $i++;
+ }
+ $this->db->free();
+ }
+ else
+ {
+ dol_print_error($this->db);
+ }
+
+ return $projects;
+ }
}
?>
|