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; }
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); }