Ejemplo n.º 1
0
 function __construct(Unite $unite, $annee, $force = false)
 {
     $this->unite = $unite;
     $annees = $unite->getAnneesOuvertes();
     if ($force) {
         if (!array_key_exists($annee, $annees)) {
             $annees[$annee] = '##INCONNU##';
         }
         ksort($annees);
         $keys = array_keys($annees);
         sort($keys);
         $precedente = current($keys) - 1;
         $annees[$precedente] = 'précédente';
         $suivante = end($keys) + 1;
         $annees[$suivante] = 'suivante';
         ksort($annees);
         /* Filtrer les années futures */
         foreach ($annees as $a => $chef) {
             if ($a > date('Y', time() - 120 * 24 * 3600)) {
                 unset($annees[$a]);
             }
         }
     }
     parent::__construct($annees, $annee);
 }
Ejemplo n.º 2
0
<?php

include_once './modele/ressource.php';
include_once './modele/Unite.php';
include_once './modele/authentification.php';
if (estAuthentifier()) {
    global $currentJoueur;
    $titre = "Mes Unités";
    $uni = Unite::Unites();
} else {
    retourEnTerresConnues();
}
include_once './vue/Unite.php';
Ejemplo n.º 3
0
 public function genUniteLink()
 {
     global $bdd;
     foreach (Unite::Unites() as $row) {
         $req = "INSERT INTO POSSEDE_UNITE(idJoueur, idUnite, quantite) VALUES ('" . $this->idJoueur . "', '" . $row['idUnite'] . "', 0)";
         $req = $bdd->exec($req);
     }
 }
Ejemplo n.º 4
0
 function testUnitePng()
 {
     $o = new Unite();
     $o->slug = 'imagick-png';
     $o->storeImage(dirname(__FILE__) . '/images/transparente.png');
 }
Ejemplo n.º 5
0
 function fonderAction()
 {
     $this->view->parente = $unite = $this->_helper->Unite(false);
     $this->assert(null, $unite, 'fonder', "Pas le droit de fonder une sous-unité !");
     /* on crée une sous unité si le parent est explicitement désignée */
     $this->view->sousunite = $sousunite = $this->_getParam('unite');
     $ttu = new TypesUnite();
     // sous types possibles
     if ($this->view->sousunite) {
         $soustypes = $unite->getSousTypes();
     } else {
         $soustypes = $ttu->fetchAll($ttu->select()->where('virtuelle = 0'));
     }
     $st = $soustypes->count() > 1 ? 'sous-unité' : $soustypes->rewind()->current();
     if ($sousunite) {
         $this->metas(array('DC.Title' => 'Fonder une ' . $st . ' de ' . $unite->getFullname()));
     } else {
         $this->metas(array('DC.Title' => 'Fonder une unité'));
     }
     $m = new Wtk_Form_Model('fonder');
     /* Parente */
     $i = $m->addEnum('parente', 'Unité parente');
     if ($sousunite) {
         $i->set($unite->id);
     } else {
         $t = new Unites();
         $i->addItem(null, 'Orpheline');
         foreach ($t->findSuperUnites() as $u) {
             $i->addItem($u->id, $u->getFullname());
         }
     }
     /* Types */
     $ens = array();
     $enum = array();
     foreach ($soustypes as $type) {
         $en = $type->extra;
         if ($en) {
             array_push($ens, $en);
         }
         $label = $type->nom;
         /* en cas de nom doublon (ex: équipe, sizaine), inclure le nom du type parent */
         $homonymes = $ttu->countRows($ttu->select()->where('nom = ?', $type->nom)) > 1;
         if (!$unite && $homonymes) {
             $label .= ' (' . $type->findParentTypesUnite()->nom . ')';
         }
         $enum[$type->id] = $label;
     }
     $ens = array_unique($ens);
     $types = $enum;
     $m->addEnum('type', 'Type', key($enum), $enum);
     if (key($enum) == 'sizloup') {
         // préselectionner les couleurs des loups.
         $couleurs = array('Noir', 'Gris', 'Brun', 'Blanc', 'Fauve', 'Tacheté');
         $enum = array();
         foreach ($couleurs as $couleur) {
             // ne pas permettre de recréer une sizaine.
             $ex = $unite->findUnites("unites.nom = '" . $couleur . "'")->current();
             if (!$ex) {
                 $enum[wtk_strtoid($couleur)] = $couleur;
             }
         }
         $m->addEnum('nom', 'Nom', null, $enum);
     } else {
         $m->addString('nom', "Nom");
     }
     $m->addString('extra', current($ens));
     $m->addNewSubmission('fonder', 'Fonder');
     if ($m->validate()) {
         $t = new Unites();
         $db = $t->getAdapter();
         $db->beginTransaction();
         try {
             $u = new Unite();
             $u->slug = $t->createSlug(wtk_strtoid($types[$m->type] . '-' . $m->nom));
             $u->nom = $m->nom;
             $u->type = $m->type;
             $u->extra = $m->extra;
             $u->parent = $m->parente ? $m->parente : null;
             $u->save();
             $this->logger->info("Fondation de " . $u->getFullname(), $this->_helper->Url('index', 'unites', null, array('unite' => $u->slug), true));
             $db->commit();
         } catch (Exception $e) {
             $db->rollBack();
             throw $e;
         }
         $this->redirectSimple('index', 'unites', null, array('unite' => $u->slug), true);
     }
     $this->view->model = $m;
 }