function indexAction() { $this->metas(array('DC.Title' => "Annuaire")); $this->assert(null, 'membres', 'voir', "Accès réservé aux membres"); $this->view->recherche = $m = new Wtk_Form_Model('recherche'); $m->addString('recherche', 'Recherche'); $m->addNewSubmission('chercher', 'Chercher', null, Wtk_Form_Model_Submission::METHOD_GET); $t = new Individus(); if ($m->validate()) { $s = $t->selectSearch($m->recherche); } else { $s = $t->selectAll(); } $filtre = $this->_getParam('filtre'); switch ($filtre) { case 'actifs': $s->join('appartenance', 'appartenance.individu = individu.id AND appartenance.fin IS NULL', array()); break; case 'anciens': $s->joinLeft('appartenance', 'appartenance.individu = individu.id AND appartenance.fin IS NULL', array())->where('appartenance.id IS NULL'); break; case 'sachem': $s->where("coalesce(individu.totem, '') IS NOT ''"); break; case 'membres': $s->join('user', 'user.individu = individu.id', array()); break; case 'admins': $s->join('user', 'user.individu = individu.id', array())->where('user.admin'); break; default: case 'tous': $filtre = 'tous'; break; } $this->view->filtre = $filtre; $this->view->individus = new Strass_Pages_Model_Rowset($s, 20, $this->_getParam('page')); }