Example #1
0
 function supprimerutilisateurAction()
 {
     $this->view->title = "Suppression d'un utilisateur";
     $utilisateuradmin = new Utilisateur();
     $utilisateur = new Utilisateur();
     $avatar = new Avatar();
     $objet = new LigneInventaire();
     $compavatar = new AvatarCompetence();
     $id = $this->_request->getParam('id');
     $utilisateur = $utilisateur->findById($id);
     // L'admin ne peut pas supprimer son propre compte !
     if ($utilisateuradmin->isAdmin($id)) {
         $this->_redirect('admin/utilisateur');
         return;
     }
     if ($this->_request->isPost()) {
         $del = $this->_request->getPost('del');
         if ($del == 'Oui' && $id > 0) {
             // Recuperation de tous les avatars de l'utilisateur
             $avatars = $avatar->findByUser($id);
             foreach ($avatars as $avatar) {
                 // Recuperation des competences de chaque avatar
                 $compavatars = $compavatar->findByIdAvatar($avatar->id_avatar);
                 foreach ($compavatars as $compavatar) {
                     $compavatar->delete('id_competence = ' . $compavatar->id_competence);
                 }
                 // Suppression des competences
                 $compavatar = new AvatarCompetence();
                 // Recuperation des objets de chaque avatar
                 $objets = $objet->findByIdAvatar($avatar->id_avatar);
                 foreach ($objets as $objet) {
                     $objet->delete('id_objet = ' . $objet->id_objet);
                 }
                 // Suppression des objets
                 $objet = new LigneInventaire();
                 $avatar->delete('id_avatar = ' . $avatar->id_avatar);
                 //Suppression de l'avatar
             }
             $utilisateur = new Utilisateur();
             // Recuperation de tous les avatars du joueur
             $where = "id_utilisateur = " . $id;
             $utilisateur->delete($where);
         }
         $this->_redirect('admin/utilisateur');
         return;
     }
     $this->view->utilisateur = $utilisateur;
 }
Example #2
0
 function usehealAction()
 {
     $this->user = Zend_Auth::getInstance()->getIdentity();
     $id_user = $this->user->id_utilisateur;
     $id = (int) $this->_request->getParam('id', 0);
     if (avatarViolation($id, $id_user) || $id < 1) {
         $this->_redirect('avatar/avatar');
         return;
     }
     $idsoin = (int) $this->_request->getParam('soin', 0);
     $avatar = new Avatar();
     $avatar = $avatar->findById($id);
     $invent = new LigneInventaire();
     $invent = $invent->findItem($avatar->id_avatar, $idsoin);
     if (!$invent) {
         $this->_redirect('avatar/avatar');
         return;
     }
     $qte = $invent->quantite_ligne;
     //gérer le soin
     $soin = new ObjetSoin();
     if (!($soin = $soin->findById($invent->id_objet))) {
         $this->_redirect('avatar/avatar');
         return;
     }
     $current_hp = $avatar->hp_avatar + $soin->hp_soin;
     if ($current_hp > $avatar->hpmax_avatar) {
         $current_hp = $avatar->hpmax_avatar;
     }
     $current_mp = $avatar->mp_avatar + $soin->mp_soin;
     if ($current_mp > $avatar->mpmax_avatar) {
         $current_mp = $avatar->mpmax_avatar;
     }
     $adata = array('hp_avatar' => $current_hp, 'mp_avatar' => $current_mp);
     $where = 'id_avatar = ' . $id;
     $avatar = new Avatar();
     $avatar->update($adata, $where);
     if ($qte > 1) {
         $data = array('quantite_ligne' => $qte - 1);
         $where = 'id_objet = ' . $invent->id_objet . ' AND id_avatar = ' . $id;
         $invent = new LigneInventaire();
         $invent->update($data, $where);
     } else {
         $where = 'id_objet = ' . $invent->id_objet . ' AND id_avatar = ' . $id;
         $invent = new LigneInventaire();
         $row_affected = $invent->delete($where);
     }
     $this->_redirect('jeu/inventaire/id/' . $id);
 }