<?php\r
+\r
class commonDAOUtilisateur extends commonDAO {\r
- protected function singleton($r, $utilisateur = null)\r
- {\r
+\r
+ protected function singleton($r, $utilisateur = null) {\r
if (!$r) {\r
return null;\r
}\r
if (isset($r->rs)) {\r
$utilisateur->rs = $r->rs;\r
}\r
+ if (isset($r->ws_domains)) {\r
+ $utilisateur->ws_domains = explode(',', $r->ws_domains);\r
+ }\r
if ($r->ws_settings != '') {\r
$utilisateur->ws_settings = unserialize($r->ws_settings);\r
} else {\r
if (isset($r->ws_signatures)) {\r
$utilisateur->ws_signatures = $r->ws_signatures;\r
}\r
- if(isset($r->ws_admin)){\r
- $utilisateur->ws_admin=$r->ws_admin;\r
+ if (isset($r->ws_admin)) {\r
+ $utilisateur->ws_admin = $r->ws_admin;\r
}\r
return $utilisateur;\r
}\r
\r
- public function cree($utilisateur = null)\r
- {\r
+ public function cree($utilisateur = null) {\r
if (is_null($utilisateur)) {\r
$utilisateur = new commonUtilisateur();\r
}\r
return $utilisateur;\r
}\r
\r
- public function creeFromEntreprise($entreprise_id)\r
- {\r
+ public function creeFromEntreprise($entreprise_id) {\r
$utilisateur = $this->cree(null);\r
$utilisateur->entreprise = $entreprise_id;\r
$daoEntreprise = new commonDAOEntreprise($this->con);\r
return $utilisateur;\r
}\r
\r
- public function selectById($utilisateur_id, $table = 'utilisateurs')\r
- {\r
+ public function selectById($utilisateur_id, $table = 'utilisateurs') {\r
$r = $this->con->select('SELECT * FROM `' . $table . '` WHERE utilisateur_id=\'' . $this->con->escape($utilisateur_id) . '\' LIMIT 1');\r
return $this->singleton($r);\r
}\r
\r
- public function selectByLoginPassword($login, $password)\r
- {\r
+ public function selectByLoginPassword($login, $password) {\r
$sql = 'SELECT * FROM utilisateurs_entreprise WHERE (email=\'' . $this->con->escape($login) . '\' OR login=\'' . $this->con->escape($login) . '\') AND (password=\'' . $this->con->escape($password) . '\' OR ws_password=\'' . $this->con->escape($password) . '\') LIMIT 1';\r
$r = $this->con->select($sql);\r
if ($r->count() == 0) {\r
return $utilisateur;\r
}\r
\r
- public function selectByEmail($email)\r
- {\r
+ public function selectByEmail($email) {\r
$r = $this->con->select('SELECT * FROM utilisateurs WHERE email=\'' . $this->con->escape($email) . '\'');\r
if ($r->count()) {\r
return $this->singleton($r);\r
return null;\r
}\r
\r
- public function selectWSRevendeursFacturables()\r
- {\r
+ public function selectWSRevendeursFacturables() {\r
$r = $this->con->select('SELECT * FROM utilisateurs_entreprise WHERE ws_grade BETWEEN 3 AND 4 AND utilisateur_id IN(SELECT facturable_id FROM ws_users_tree) ORDER BY rs');\r
return $this->factory($r);\r
}\r
\r
- public function selectWSAdministrateursId()\r
- {\r
+ public function selectWSAdministrateursId() {\r
$r = $this->con->select('SELECT * FROM utilisateurs_entreprise WHERE ws_grade=5');\r
$liste = $this->factory($r);\r
\r
$res = array();\r
- foreach($liste as $u) {\r
+ foreach ($liste as $u) {\r
$res[] = $u->utilisateur_id;\r
}\r
return $res;\r
}\r
\r
- protected function getNextId()\r
- {\r
+ protected function getNextId() {\r
$r = $this->con->select('SELECT MAX(utilisateur_id) AS utilisateur_id FROM utilisateurs');\r
return $r->utilisateur_id + 1;\r
}\r
\r
- protected function getQueryList($table, $orderby = null, $sens = null, $limit = null, $where = null, $limitedToUserRights = false)\r
- {\r
+ protected function getQueryList($table, $orderby = null, $sens = null, $limit = null, $where = null, $limitedToUserRights = false) {\r
$wherec = $where;\r
$where = '(';\r
if (!is_null($this->q)) {\r
}\r
$where .= ' ' . $wherec . ' )';\r
$where .= $this->limitToUserRights($limitedToUserRights);\r
- $orderby = is_null($orderby)?'utilisateur_id':$orderby;\r
- $sens = is_null($sens)?'DESC':$sens;\r
- $limit = is_null($limit)?'':$this->con->limit($limit[0], $limit[1]);\r
+ $orderby = is_null($orderby) ? 'utilisateur_id' : $orderby;\r
+ $sens = is_null($sens) ? 'DESC' : $sens;\r
+ $limit = is_null($limit) ? '' : $this->con->limit($limit[0], $limit[1]);\r
\r
$sql = 'SELECT * FROM ' . $table . ' WHERE (' . $where . ') ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit;\r
return $sql;\r
}\r
\r
- protected function limitToUserRights($user)\r
- {\r
+ protected function limitToUserRights($user) {\r
if ($user) {\r
return ' AND utilisateur_id IN (' . $user->ws_rights . ')';\r
}\r
return '';\r
}\r
\r
- public function getListe($orderby = null, $sens = null, $limit = null, $where = null, $limitedToUserRights = false)\r
- {\r
+ public function getListe($orderby = null, $sens = null, $limit = null, $where = null, $limitedToUserRights = false) {\r
$sql = $this->getQueryList('utilisateurs_entreprise', $orderby, $sens, $limit, $where, $limitedToUserRights);\r
$r = $this->con->select($sql);\r
return $this->factory($r);\r
}\r
\r
- public function whereSearchByName($q, $search_entreprise = true)\r
- {\r
+ public function whereSearchByName($q, $search_entreprise = true) {\r
$where = 'nom LIKE \'' . $this->con->escape($q) . '%\' OR ';\r
$where .= 'prenom LIKE \'' . $this->con->escape($q) . '%\' OR ';\r
$where .= 'CONCAT(prenom,\' \',nom) LIKE \'' . $this->con->escape($q) . '%\' OR ';\r
return $where;\r
}\r
\r
- public function sauve($data)\r
- {\r
+ public function sauve($data) {\r
$c = $this->con->openCursor('utilisateurs');\r
$c->grade = $data['grade'];\r
$c->nom = $data['nom'];\r
}\r
}\r
\r
- public function sauveNotes($utilisateur_id, $notes)\r
- {\r
+ public function sauveNotes($utilisateur_id, $notes) {\r
$c = $this->con->openCursor('utilisateurs');\r
$c->notes = $notes;\r
return $c->update('WHERE utilisateur_id=\'' . $this->con->escape($utilisateur_id) . '\'');\r
}\r
\r
- public function sauveWSSettings($utilisateur_id, $datas)\r
- {\r
+ public function sauveWSSettings($utilisateur_id, $datas) {\r
$c = $this->con->openCursor('utilisateurs');\r
$c->ws_settings = serialize($datas);\r
return $c->update('WHERE utilisateur_id=\'' . $this->con->escape($utilisateur_id) . '\'');\r
}\r
\r
- public function sauvePreferences($utilisateur)\r
- {\r
+ public function sauvePreferences($utilisateur) {\r
if ($utilisateur) {\r
$c = $this->con->openCursor('utilisateurs');\r
$c->settings = serialize($utilisateur->settings);\r
return false;\r
}\r
\r
- public function changeParametres($utilisateur_id, $langue, $login)\r
- {\r
+ public function changeParametres($utilisateur_id, $langue, $login) {\r
$c = $this->con->openCursor('utilisateurs');\r
$c->lang = $langue;\r
$c->login = $login;\r
return $c->update('WHERE utilisateur_id=\'' . $this->con->escape($utilisateur_id) . '\'');\r
}\r
\r
- public function changeMotdepasse($utilisateur_id, $nouveau)\r
- {\r
+ public function changeMotdepasse($utilisateur_id, $nouveau) {\r
$c = $this->con->openCursor('utilisateurs');\r
$c->password = $nouveau;\r
return $c->update('WHERE utilisateur_id=\'' . $this->con->escape($utilisateur_id) . '\'');\r
}\r
\r
- public function supprime($utilisateur_id)\r
- {\r
+ public function supprime($utilisateur_id) {\r
$ok = $this->con->execute('DELETE FROM utilisateurs WHERE utilisateur_id=\'' . $this->con->escape($utilisateur_id) . '\'');\r
$core->refreshWSUsersTree();\r
return $ok;\r
}\r
\r
- public function count()\r
- {\r
+ public function count() {\r
$r = $this->con->select('SELECT COUNT(*) AS nb FROM utilisateurs WHERE ' . $this->makeWhereFromFiltres());\r
return $r->nb;\r
}\r
\r
- protected function makeWhereFromFiltres()\r
- {\r
+ protected function makeWhereFromFiltres() {\r
return '1=1';\r
}\r
+\r
}\r
\r
?>
\ No newline at end of file
$daoUtilisateur = new commonDAOUtilisateur($core->con);\r
\r
$demande = $dao->selectById($args[1]);\r
- \r
+\r
if ($demande->administrateur != 0 && $demande->administrateur != $core->user->utilisateur_id) {\r
$res = __("Cette demande est actuellement en cours d'édition par un autre administrateur");\r
} elseif ($demande->status > 1) {\r
$revendeur = $daoUtilisateur->selectById($demandeur->ws_admin, 'utilisateurs_entreprise');\r
$actions[__('Je confie la demande à') . ' ' . $revendeur->rs . ' (' . $revendeur->prenom . ' ' . $revendeur->nom . ')'] = $demandeur->ws_admin;\r
} else {\r
+ $d = explode('@', $demandeur->email);\r
+ $domain = mb_strtolower($d[1]);\r
+\r
$liste = $daoUtilisateur->selectWSRevendeursFacturables();\r
$revendeurs = array();\r
+ $revendeurs_prio = array();\r
foreach ($liste as $revendeur) {\r
- $revendeurs[$revendeur->rs . '(' . $revendeur->prenom . ' ' . $revendeur->nom . ')'] = $revendeur->utilisateur_id;\r
+ $k = $revendeur->rs . '(' . $revendeur->prenom . ' ' . $revendeur->nom . ')';\r
+ $v = $revendeur->utilisateur_id;\r
+ if (in_array($domain, $revendeur->ws_domains)) {\r
+ $revendeurs_prio[$k] = $v;\r
+ } else {\r
+ $revendeurs[$k] = $v;\r
+ }\r
}\r
\r
$actions = array(__('Je vais me charger de cette demande') => $core->user->utilisateur_id);\r
$actions[' '] = array();\r
- $actions[__('Je confie la demande à') . ' : '] = $revendeurs;\r
+ if (count($revendeurs_prio)) {\r
+ $actions[__('Je confie la demande à (liste suggérée) ') . ' : '] = $revendeurs_prio;\r
+ }\r
+ if (count($revendeurs)) {\r
+ $actions[__('Je confie la demande à ') . ' : '] = $revendeurs;\r
+ }\r
}\r
$res = form::combo('revendeur', $actions);\r
}\r