Esempio n. 1
0
 public function execute($args = null)
 {
     if (!empty($_POST)) {
         $_POST['id'] = null;
         $_POST['hash'] = ServiceAuth::createHash($_POST['pass1']);
         $_POST['inBounds'] = 0;
         $_POST['outBounds'] = 0;
         $u = ModelUser::newInstance()->hydrate($_POST);
         $p = ModelProfile::newInstance();
         if ($_POST['pass1'] != $_POST['pass2']) {
             ServiceMessage::getInstance()->addMessage('Les mots de passes ne correspondent pas', 'error');
         } elseif (CollectionUser::newInstance()->findBy('login', $_POST['login'])) {
             ServiceMessage::getInstance()->addMessage('Ce login est déjà utilisé', 'error');
         } else {
             if (ServiceDb::getInstance()->persist($u)) {
                 if ($i = ServiceDb::getInstance()->lastInsertId()) {
                     if (ServiceDb::getInstance()->persist($p->hydrate(array('user_id' => $i)))) {
                         ServiceMessage::getInstance()->addMessage('Votre compte a bien été créé', 'success');
                         ServiceDb::getInstance()->persist(ModelAction::newInstance()->setUser_id($i)->setType('create')->setObject('profile')->setWhen());
                         return header('Location: /logout/quiet');
                     } else {
                         ServiceDb::getInstance()->delete($u);
                         ServiceMessage::getInstance()->addMessage('Une erreur est survenue #2', 'error');
                     }
                 } else {
                     ServiceMessage::getInstance()->addMessage('Une erreur est survenue #1', 'error');
                 }
             }
         }
     }
     ServiceRenderHtml::newInstance()->load('subscribe')->setData('hideNavigation', true)->render();
 }
Esempio n. 2
0
 private function del($args)
 {
     $p = ServiceRenderJson::newInstance();
     $u = ServiceAuth::getInstance()->getUser();
     $i = $u->getId();
     if ($v = $this->getQueryNext()) {
         if (!($o = $u->getPhoto($v))) {
             $p->setData('success', false)->setData('message', 'Cette photo n\'existe pas !');
         } elseif ($o->getUser_id() != $i) {
             $p->setData('success', false)->setData('message', 'Cette photo n\'est pas la votre !');
         } else {
             if (!ServiceDb::getInstance()->delete($o)) {
                 $p->setData('message', 'L\'opération a échoué !');
             } else {
                 $p->setData('success', true)->setData('message', 'La photo a bien été supprimée');
                 $u->delPhoto($o);
                 $f = '../public/uploads/' . $o->getId();
                 //.'.'.$ext;
                 if (@unlink($f)) {
                     ServiceDb::getInstance()->persist(ModelAction::newInstance()->setUser_id($i)->setType('delete')->setObject('photo')->setValue($o->getId())->setWhen());
                 } else {
                     $p->setData('success', false)->setData('message', 'Erreur lors de la suppression de l\'image');
                 }
             }
         }
     } else {
         $p->setData('success', false);
     }
     $p->render();
 }
Esempio n. 3
0
 public function execute($args = null)
 {
     $p = ServiceRenderJson::newInstance();
     if (isset($_POST['id'], $_POST['type'], $_POST['action'])) {
         if (!($u = CollectionUser::newInstance()->find($_POST['id']))) {
             $p->setData('success', false)->setData('message', 'Membre inconnu');
         } else {
             $c = ($_POST['action'] == 'add' ? 'enable' : 'disable') . 'Type';
             $r = ServiceAuth::getInstance()->getUser()->getUser_has_user($u);
             $r->{$c}($_POST['type']);
             if (ServiceDb::getInstance()->persist($r)) {
                 $p->setData('success', true)->setData('message', 'La relation a bien été ' . ($_POST['action'] == 'add' ? 'ajoutée' : 'supprimée'));
                 ServiceDb::getInstance()->persist(ModelAction::newInstance()->setUser_id(ServiceAuth::getInstance()->getUser()->getId())->setObject('relation')->setValue($u->getLogin() . ' (' . ModelUser_has_user::$shortNames[$_POST['type']] . ')')->setType($_POST['action'] == 'add' ? 'create' : 'delete')->setWhen());
                 if ($r->getType() == 0) {
                     ServiceAuth::getInstance()->getUser()->delUser_has_user($r);
                     ServiceDb::getInstance()->delete($r);
                 } else {
                     ServiceAuth::getInstance()->getUser()->addUser_has_user($r);
                 }
             } else {
                 $p->setData('message', 'L\'opération a échoué !');
             }
         }
     } else {
         $p->setData('success', false);
     }
     $p->render();
 }
Esempio n. 4
0
 private function updateV($args)
 {
     $p = ServiceRenderJson::newInstance();
     $pro = ServiceAuth::getInstance()->getUser()->getProfile();
     if (isset($_POST['id'], $_POST['value'])) {
         if (!($u = $pro->getParameter($_POST['id']))) {
             $p->setData('success', false)->setData('message', 'Paramètre inconnu');
         } else {
             if (!ModelParameter::isValidVisibility($_POST['value'])) {
                 $p->setData('success', false)->setData('message', 'Valeur incorrecte');
             } else {
                 $u->setVisibility($_POST['value']);
                 // we persist the Profile, not the Parameter ! Be careful
                 if (ServiceDb::getInstance()->persist($pro)) {
                     $p->setData('success', true)->setData('message', 'La visibilité du paramètre a bien été modifiée');
                     ServiceDb::getInstance()->persist(ModelAction::newInstance()->setUser_id(ServiceAuth::getInstance()->getUser()->getId())->setType('update')->setObject('parameter visibility')->setValue($_POST['id'])->setWhen());
                 } else {
                     $p->setData('message', 'L\'opération a échoué !');
                 }
             }
         }
     } else {
         $p->setData('success', false);
     }
     $p->render();
 }
Esempio n. 5
0
    public function countDesc()
    {
        $sth = ServiceDb::getInstance()->prepare('
				select `action`.*
				,`user`.*
				,count(*) as `nb`
				from `action`
				left join `user`
				on `user`.`id`=`action`.`user_id`
				group by `action`.`user_id`
				order by `nb` desc');
        $sth->execute();
        $arr = array();
        foreach ($sth->fetchAll() as $data) {
            $a = new ModelUser();
            $a->hydrate($data);
            $b = new ModelAction();
            $b->hydrate($data);
            $b->setUser($a);
            $arr[] = array($b, $data['nb']);
        }
        return $arr;
    }
Esempio n. 6
0
 private function del($args)
 {
     $p = ServiceRenderJson::newInstance();
     $u = ServiceAuth::getInstance()->getUser();
     $i = $u->getId();
     if ($v = $this->getQueryNext()) {
         if (!($o = $u->getSkill($v))) {
             $p->setData('success', false)->setData('message', 'Vous n\'avez pas cette compétence #1');
         } elseif ($o->getUser_id() != $u->getId()) {
             $p->setData('success', false)->setData('message', 'Vous n\'avez pas cette compétence #2');
         } else {
             if (!ServiceDb::getInstance()->delete($o)) {
                 $p->setData('message', 'L\'opération a échoué !');
             } else {
                 $p->setData('success', true)->setData('message', 'La compétence a bien été supprimée');
                 $u->delSkill($o);
                 ServiceDb::getInstance()->persist(ModelAction::newInstance()->setUser_id($i)->setType('delete')->setObject('skill')->setValue($o->getName())->setWhen());
             }
         }
     } else {
         $p->setData('success', false);
     }
     $p->render();
 }