From 8b83d41f48ee2e93cbb6cbaa5071a1db5ecdeb92 Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Thu, 2 Feb 2012 12:48:54 +0000 Subject: [PATCH] --- inc/commons/class.common.filtre.php | 40 ++++++++++++++++------------- inc/commons/class.common.page.php | 9 +++++-- inc/ws/Controlleur/class.ws.url.php | 3 ++- inc/ws/DAO/class.ws.dao.book.php | 3 +++ 4 files changed, 34 insertions(+), 21 deletions(-) diff --git a/inc/commons/class.common.filtre.php b/inc/commons/class.common.filtre.php index 3f4e37f4e..d6d099e66 100644 --- a/inc/commons/class.common.filtre.php +++ b/inc/commons/class.common.filtre.php @@ -1,30 +1,35 @@ titre = $titre; $this->varname = $varname; $this->all = __('Tous'); - $this->settings = isset($settings[$varname]) && count($settings[$varname])?$settings[$varname]:null; + $this->settings = isset($settings[$varname]) && count($settings[$varname]) ? $settings[$varname] : null; $this->getValues(); } - protected function getValues() - { + protected function getValues() { global $core; if ($this->varname == 'equipier' || $this->varname == 'equipier_participe' || $this->varname == 'admin_book' || $this->varname == 'admin_client') { $r = $core->con->select('SELECT prenom,utilisateur_id FROM equipiers'); while ($r->fetch()) { $this->values[$r->prenom] = $r->utilisateur_id; } + } elseif ($this->varname == 'revendeur_book') { + $r = $core->con->select('SELECT DISTINCT facturable,facturable_id FROM books_vue WHERE status>0 AND facturable_id IN(SELECT utilisateur_id FROM utilisateurs WHERE entreprise IN(SELECT entreprise_id FROM entreprises WHERE ws_grade BETWEEN 3 AND 4)) ORDER BY facturable'); + while ($r->fetch()) { + $this->values[$r->facturable] = $r->facturable; + } } elseif ($this->varname == 'annee') { - for($i = 2006;$i <= date('Y', TIME);$i++) { + for ($i = 2006; $i <= date('Y', TIME); $i++) { $this->values[$i] = $i; } $this->all = __('Toutes'); @@ -40,7 +45,7 @@ class commonFiltre { } elseif ($this->varname == 'status_demande') { $this->values = array_flip($core->demandes_status); } elseif ($this->varname == 'annee_facture') { - for($i = 2008;$i <= date('Y', TIME);$i++) { + for ($i = 2008; $i <= date('Y', TIME); $i++) { $this->values[$i] = $i; } $this->all = __('Toutes'); @@ -51,7 +56,7 @@ class commonFiltre { } elseif ($this->varname == 'status_book') { $this->values = array_flip($core->books_status); } elseif ($this->varname == 'annee_book') { - for($i = 2007;$i <= date('Y', TIME);$i++) { + for ($i = 2007; $i <= date('Y', TIME); $i++) { $this->values[$i] = $i; } $this->all = __('Toutes'); @@ -63,42 +68,41 @@ class commonFiltre { } } - public function display() - { + public function display() { if (is_null($this->settings) || count($this->settings) == count($this->values)) { $class = ''; $titre = $this->all; } else { $class = ' active'; $t = array(); - foreach($this->settings as $k => $v) { + foreach ($this->settings as $k => $v) { $t[] = array_search($k, $this->values); } $titre = implode(', ', $t); } $limit = 20; - $t = (mb_strlen($titre) > $limit)?mb_substr($titre, 0, $limit-4) . '...':$titre; + $t = (mb_strlen($titre) > $limit) ? mb_substr($titre, 0, $limit - 4) . '...' : $titre; $res = '
'; $res .= '' . $this->titre . ''; - $res .= '
' . $t . '' ; + $res .= '
' . $t . ''; $res .= '' . cubeMedia::spacer(155, 18) . ''; $res .= '
'; if (is_array($this->values)) { $res .= '
  • ' . $this->all . '
  • '; - $last = count($this->values)-1; + $last = count($this->values) - 1; $i = 0; - foreach($this->values as $v => $k) { + foreach ($this->values as $v => $k) { $checked = false; if (is_null($this->settings)) { $checked = true; } elseif (isset($this->settings[$k])) { $checked = true; } - $l = ($i == $last)?' class="last"':''; + $l = ($i == $last) ? ' class="last"' : ''; $res .= ''; $i++; } @@ -108,11 +112,11 @@ class commonFiltre { return $res; } - public static function test($varname, $settings) - { + public static function test($varname, $settings) { $f = new commonFiltre(__(''), $varname, array()); return isset($settings[$varname]) && count($f->values) > count($settings[$varname]) && count($settings[$varname]); } + } ?> \ No newline at end of file diff --git a/inc/commons/class.common.page.php b/inc/commons/class.common.page.php index 592874170..63371a951 100644 --- a/inc/commons/class.common.page.php +++ b/inc/commons/class.common.page.php @@ -86,12 +86,17 @@ class commonPage { return $res; } - public static function barre($filtres = null, $action = null, $dashboard = null, $shortcuts = null) { + public static function barre($filtres = null, $action = null, $dashboard = null, $shortcuts = null,$big=false) { if (is_null($shortcuts) && is_null($filtres)) { return '
    '; } + + $class=''; + if($big){ + $class=' class="big"'; + } - $res = '
    '; + $res = '
    '; $res .= '
    '; if (!is_null($shortcuts)) { diff --git a/inc/ws/Controlleur/class.ws.url.php b/inc/ws/Controlleur/class.ws.url.php index 4582b15c5..4225d0d3f 100644 --- a/inc/ws/Controlleur/class.ws.url.php +++ b/inc/ws/Controlleur/class.ws.url.php @@ -22,8 +22,9 @@ class wsUrl { } if (wsDroits::admin()) { $filtres[] = new commonFiltre(__('Administrateur'), 'admin_book', $settings['filtres']); + $filtres[] = new commonFiltre(__('Revendeur'), 'revendeur_book', $settings['filtres']); } - $res = commonPage::barre($filtres, 'filtreBooks', 'books', $shortcuts); + $res = commonPage::barre($filtres, 'filtreBooks', 'books', $shortcuts, wsDroits::admin()); $res .= commonPage::tMain(null, wsDroits::admin()); $res .= commonPage::bh(); $res .= '
    '; diff --git a/inc/ws/DAO/class.ws.dao.book.php b/inc/ws/DAO/class.ws.dao.book.php index f1afa2e36..69ea3c6b5 100644 --- a/inc/ws/DAO/class.ws.dao.book.php +++ b/inc/ws/DAO/class.ws.dao.book.php @@ -394,6 +394,9 @@ class wsDAOBook extends commonDAO { if (commonFiltre::test('status_book', $this->filtres)) { $w[] = 'status IN(' . implode(',', array_keys($this->filtres['status_book'])) . ')'; } + if (commonFiltre::test('revendeur_book', $this->filtres)) { + $w[] = 'facturable IN(\'' . implode('\',\'', array_keys($this->filtres['revendeur_book'])) . '\')'; + } return implode(' AND ', $w); } else { return '1=1'; -- 2.39.5