Beispiel #1
0
 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'));
 }