Пример #1
0
 function __construct($id)
 {
     $this->id = $id;
     $this->path = 'private/statiques/' . $id . '.wiki';
     try {
         Zend_Registry::get('acl')->add($this);
     } catch (Zend_Acl_Exception $e) {
         /* déjà ajoutée */
     }
     $this->title = preg_match("`^\\+\\+ (.*)\$`m", $this->read(), $res) ? $res[1] : wtk_ucfirst($this->id);
 }
Пример #2
0
 /**
  * @dataProvider ucfirstFixtures
  */
 function testUcfirst($label, $capsed)
 {
     $this->assertEquals(wtk_ucfirst($label), $capsed);
 }
Пример #3
0
 function recouvrirAction()
 {
     $this->metas(array('DC.Title' => "Recouvrir l'accès à votre compte"));
     $token = $this->_getParam('confirmer');
     if ($token) {
         $t = new Users();
         try {
             $user = $t->findByRecoverToken($token);
         } catch (Strass_Db_Table_NotFound $e) {
             throw new Zend_Controller_Action_Exception("Jeton inconnu ou expiré", 404);
         }
         $this->view->set = $m = new Wtk_Form_Model('recouvrir');
         $i0 = $m->addString('nouveau', "Nouveau mot de passe");
         $i1 = $m->addString('confirmation', "Confirmer");
         $m->addConstraintRequired($i0);
         $m->addConstraintEqual($i1, $i0);
         $m->addNewSubmission('enregistrer', 'Enregistrer');
         if ($m->validate()) {
             $db = $t->getAdapter();
             $db->beginTransaction();
             try {
                 $this->view->individu = $individu = $user->findParentIndividus();
                 $user->username = $individu->adelec;
                 $user->setPassword($m->get('nouveau'));
                 $user->recover_token = null;
                 $user->save();
                 $this->logger->info("Recouvrement du compte", $this->_helper->Url('fiche', 'individus', null, array('individu' => $individu->slug)));
                 $db->commit();
             } catch (Exception $e) {
                 $db->rollBack();
                 throw $e;
             }
             $this->redirectSimple('index', 'unites');
         }
     } else {
         $this->view->send = $m = new Wtk_Form_Model('recouvrir');
         $m->addConstraintEMail($m->addString('adelec', "Votre adresse"));
         $m->addNewSubmission('envoyer', "Envoyer");
         if ($m->validate()) {
             $t = new Users();
             try {
                 $user = $t->findByEMail($m->get('adelec'));
             } catch (Zend_Db_Table_Exception $e) {
                 $m->errors[] = new Wtk_Form_Model_Exception('Adresse inconnue', $m->getInstance('adelec'));
                 return;
             }
             $individu = $user->findParentIndividus();
             $user->recover_token = md5(uniqid() . '-' . mt_rand(10000, 99999));
             /* Laisser une demi heure pour délivrer le message */
             $user->recover_deadline = time() + 30 * 60;
             $user->save();
             $this->view->mail = $mail = new Strass_Mail_Recover($user);
             $fn = trim(wtk_ucfirst($individu->prenom) . " " . $individu->capitalizedLastname());
             $mail->addTo($individu->adelec, $fn);
             $mail->send();
             $this->_helper->flash->info("Courriel envoyé", "Un courriel vous a été envoyé avec un lien vers la page " . "pour définir un nouveau mot de passe. Le lien expirera dans " . "une demi heure.");
             $this->redirectSimple('index', 'unites');
         }
     }
 }
Пример #4
0
 function getFullName($compute = true, $totem = true, $compact = false)
 {
     $acl = Zend_Registry::get('acl');
     // si je suis un sachem
     if ($this->totem && ($compute && $totem)) {
         // et que l'utilisateur est un sachem/admin
         if ($acl->isAllowed(null, $this, 'totem')) {
             // montrer mon totem
             return wtk_ucfirst($this->totem);
         }
     }
     if ($acl->isAllowed(null, $this, 'voir-nom')) {
         return trim(wtk_ucfirst($this->prenom) . " " . $this->capitalizedLastname($compact));
     } else {
         if ($compute && ($app = $this->findAppartenances()->current())) {
             $role = $app->findParentRoles();
             if ($role->nom_jungle) {
                 /* Branche jaune, préférer Akéla, Guillemette pour les inconnus */
                 return $app->getTitre();
             } else {
                 /* Prénom et initiales pour les visiteurs*/
                 return trim(wtk_ucfirst($this->prenom) . " " . $this->capitalizedLastname(true));
             }
         } else {
             /* dans le doute, on masque plutôt que de fuiter un prénom de cheftaine à un louveteau*/
             return 'Nom masqué';
         }
     }
 }