protected function setValuesToObject(&$object) { parent::setValuesToObject($object); $ticket = DAO::getOne("Ticket", $_POST['idTicket']); $object->setTicket($ticket); $object->setUser($_SESSION["user"]); }
public function testNouveauxTickets() { $this->get("DefaultC/asAdmin"); $this->waitFor(5); $this->assertPageContainsText("Nouveaux Tickets"); $this->waitFor(5); $notif = sizeof(DAO::getAll("Ticket", "idStatut='1'")); $this->assertEquals($notif, 1); $this->get("TicketsNouveau"); $this->waitFor(5); $bt = $this->getElementBySelector(".glyphicon.glyphicon-edit"); $this->assertNotNull($bt); $bt->click(); $add = $this->getElementById("elementdemande"); $this->assertNotNull($add); $add->click(); $this->waitFor(5); $add2 = $this->getElementById("element1"); $this->assertNotNull($add2); $add2->click(); $titre = $this->getElementById("titre"); $titre->sendKeys("test ticket nouveau"); $add2 = $this->getElementBySelector(".statut #element3"); $this->assertNotNull($add2); $add2->click(); $this->waitFor(5); $submit = $this->getElementBySelector(".valider"); $this->assertNotNull($submit); $submit->click(); $this->waitFor(5); }
/** * Affiche la liste des instances de la class du modèle associé $model * @see BaseController::index() */ public function index($message = null) { global $config; $baseHref = get_class($this); if (isset($message)) { if (is_string($message)) { $message = new DisplayedMessage($message); } $message->setTimerInterval($this->messageTimerInterval); $this->_showDisplayedMessage($message); } $objects = DAO::getAll($this->model); echo "<table class='table table-striped'>"; echo "<thead><tr> " . $this->model . "</thead>"; echo "<tbody>"; foreach ($objects as $object) { echo "<tr>"; echo "<td><a href= '" . $baseHref . "/view/" . $object->getId() . "'>{$object}</a> </td>"; if (Auth::isAdmin() == 1) { echo "<td class='td-center'><a class='btn btn-primary btn-xs' href='" . $baseHref . "/frmUpdate/" . $object->getId() . "'><span class='glyphicon glyphicon-edit' aria-hidden='true'></span></a></td>" . "<td class='td-center'><a class='btn btn-warning btn-xs' href='" . $baseHref . "/delete/" . $object->getId() . "'><span class='glyphicon glyphicon-remove' aria-hidden='true'></span></a></td>"; } echo "</tr>"; } echo "</tbody>"; echo "</table>"; if (Auth::isAdmin() == 1) { echo "<a class='btn btn-primary' href='" . $config["siteUrl"] . $baseHref . "/frm'>Ajouter...</a>"; } }
protected function setValuesToObject(&$object) { parent::setValuesToObject($object); if(isset($_POST["idCategorie"])){ $parent=DAO::getOne("Categorie", $_POST["idCategorie"]); $object->setCategorie($parent); } }
public function run() { global $config; session_start(); Logger::init(); if ($config["test"]) { $config["siteUrl"] = "http://127.0.0.1:8090/"; } extract($config["database"]); $db = $config["database"]; DAO::connect($db["dbName"], @$db["serverName"], @$db["port"], @$db["user"], @$db["password"]); $url = $_GET["c"]; if (!$url) { $url = $config["documentRoot"]; } if (StrUtils::endswith($url, "/")) { $url = substr($url, 0, strlen($url) - 1); } $this->urlParts = explode("/", $url); $u = $this->urlParts; $urlSize = sizeof($this->urlParts); if (class_exists($this->urlParts[0]) && StrUtils::startswith($this->urlParts[0], "_") === false) { //Construction de l'instance de la classe (1er élément du tableau) try { $obj = new $this->urlParts[0](); $obj->initialize(); try { switch ($urlSize) { case 1: $obj->index(); break; case 2: //Appel de la méthode (2ème élément du tableau) if (method_exists($obj, $u[1])) { $obj->{$u}[1](); } else { print "La méthode `{$u[1]}` n'existe pas sur le contrôleur `" . $u[0] . "`<br/>"; } break; default: //Appel de la méthode en lui passant en paramètre le reste du tableau $obj->{$u}[1](array_slice($u, 2)); break; } } catch (\Exception $e) { print "Error!: " . $e->getMessage() . "<br/>"; die; } } catch (\Exception $e) { print "Error!: " . $e->getMessage() . "<br/>"; die; } $obj->finalize(); } else { print "Le contrôleur `" . $u[0] . "` n'existe pas <br/>"; } }
public function test() { $faqs = DAO::getAll("Faq", "1=1 order by dateCreation limit 1,1"); foreach ($faqs as $faq) { echo $faq . "<br>"; } echo DAO::$db->query("SELECT max(id) FROM Faq")->fetchColumn(); $ArticleMax = DAO::getOne("Faq", "id=(SELECT max(id) FROM Faq)"); echo $ArticleMax; }
protected function setValuesToObject(&$object) { parent::setValuesToObject($object); $object->setAdmin(isset($_POST["admin"])); $object->setGroupe(DAO::getOne("Groupe", "id=".$_POST['idGroupe'])); if (isset($_POST["password"]) && isset($_POST["password2"])) { if ($_POST['password'] == $_POST['password2']) { $object->setPassword(password_hash($_POST['password'], PASSWORD_BCRYPT)); } } }
public function index($id=NULL){ $select=$this->getInstance($id); $genericFields=DAO::getAll("GenericField"); if($select->getLibelle()==null){ $champ=-1; }else{ $champ=$select->getLibelle()->getId(); } $listGenericField=Gui::select($genericFields,$champ,"Sélectionner un champ ..."); // $this->loadView("genericField/vSelect", array("genericFields"=>$genericFields)); // if(){}; }
public function nouveauMess() { $contenu = $_POST['newMess']; $user = $_POST['idUser']; $ticket = $_POST['idTicket']; DAO::$db->execute("INSERT INTO message(id,contenu,idUser,idTicket) VALUES('','" . $contenu . "'," . $user . "," . $ticket . ")"); if (Auth::isAdmin()) { $obj = DAO::getOne("ticket", "id=" . $ticket); $obj->setIdAdmin(Auth::getUser()->getId()); DAO::update($obj); } $this->forward("Tickets", "frm2", $ticket); }
public function updateTitre() { if (RequestUtils::isPost()) { $faq = DAO::getOne("Faq", $_POST["id"]); $faq->setTitre($_POST["titre"]); if (DAO::update($faq)) { $this->messageInfo($faq . " modifié", "5000"); Jquery::get("sample/liste", "#liste"); Jquery::doJquery(".alert", "hide", "3000"); echo Jquery::compile(); } } }
public function run(){ $config=$GLOBALS["config"]; set_error_handler(array($this, 'errorHandler')); $config=$GLOBALS["config"]; try { if(array_key_exists("templateEngine", $config)){ $engine=new $config["templateEngine"](); if ($engine instanceof TemplateEngine) $GLOBALS["config"]["templateEngine"]=$engine; } } catch (\Exception $e) { echo $e->getTraceAsString(); } session_start(); \Logger::init(); if($config["test"]){ $GLOBALS["config"]["siteUrl"]="http://127.0.0.1:8090/"; } extract($config["database"]); $db=$config["database"]; DAO::connect($db["dbName"],@$db["serverName"],@$db["port"],@$db["user"],@$db["password"]); $url=$_GET["c"]; if(!$url){ $url=$config["documentRoot"]; } if(StrUtils::endswith($url, "/")) $url=substr($url, 0,strlen($url)-1); $this->urlParts=explode("/", $url); $u=$this->urlParts; if(class_exists($u[0]) && StrUtils::startswith($u[0],"_")===false){ //Construction de l'instance de la classe (1er élément du tableau) try{ if(array_key_exists("onStartup", $config)){ if(is_callable($config['onStartup'])){ $config["onStartup"]($u); } } self::runAction($u); }catch (\Exception $e){ print "Error!: " . $e->getMessage() . "<br/>"; die(); } }else{ print "Le contrôleur `".$u[0]."` n'existe pas <br/>"; } }
public function updatePass(){ $user = DAO::getOne("User", "id = ".$_SESSION['resetPass']['idUser']); if ($_POST['pass'] == $_POST['pass']) { $user->setPassword(password_hash($_POST['pass'], PASSWORD_BCRYPT)); DAO::update($user); $token = DAO::getOne('Token', $_SESSION['resetPass']['token']); DAO::delete($token); $_SESSION['resetPass'] = null; return $this->_showMessage("Votre mot de passe a été correctement modifié. ".Auth::getInfoUser(), 'success'); }else{ return $this->_showMessage("Mots de passe différents !", 'warning'); } }
/** * Retourne l'utilisateur actuellement connecté<br> * ou NULL si personne ne l'est * @return User */ public static function getUser(){ global $config; $user=null; if(array_key_exists("user", $_SESSION)){ $user=$_SESSION["user"]; }else if (isset($_COOKIE) && isset($_SESSION['logStatus'])) { if (array_key_exists("user", $_COOKIE) && $_COOKIE['user'] != null && $_SESSION['logStatus'] != 'disconnected') { $_SESSION["user"] = DAO::getOne('User', 'id='.$_COOKIE['user']); $user=$_SESSION["user"]; setcookie('user', $_COOKIE['user'], $config['cookies']['user']['lifetime']); } } return $user; }
public function getInstance($id = NULL) { $obj = parent::getInstance($id); if (null == $obj->getType()) { $obj->setType("intervention"); } if ($obj->getStatut() === NULL) { $statut = DAO::getOne("Statut", 1); $obj->setStatut($statut); } if ($obj->getUser() === NULL) { $obj->setUser(Auth::getUser()); } if ($obj->getDateCreation() === NULL) { $obj->setdateCreation(date('Y-m-d H:i:s')); } return $obj; }
public function ajaxSample() { $users = DAO::getAll("User"); echo '<ul class="list-group">'; foreach ($users as $u) { echo '<li class="list-group-item" id="' . $u->getId() . '"><input type="checkbox" class="ck"> ' . $u->toString() . "</li>"; } echo "</ul>"; echo "<button id='btClose' class='btn btn-primary'>Fermer</button>"; Jquery::bindMethods(true, false); Jquery::getOn("click", ".list-group-item", "users/frm", "#response"); Jquery::doJqueryOn(".ck", "click", "\$(event.target).parent()", "toggleClass", array("disabled", "\$(event.target).prop('checked')")); Jquery::doJqueryOn(".list-group-item", "mouseenter", "this", "addClass", array("active")); Jquery::doJqueryOn(".list-group-item", "mouseout", "this", "removeClass", "active"); Jquery::doJqueryOn("#btClose", "click", "#response", "html", ""); Jquery::doJqueryOn("#btClose", "click", "#main", "show"); Jquery::doJquery("#main", "hide"); echo Jquery::compile(); }
public function testConnexion() { $login = $_POST["login"]; //echo $login; $mdp = $_POST["mdp"]; //echo $mdp; $resultat = DAO::getOne("user", "login='******' AND password='******'"); if ($resultat != null) { $_SESSION["user"] = $resultat; $_SESSION['KCFINDER'] = array('disabled' => false); $this->header(); $notif = sizeof(DAO::getAll("Ticket", "idStatut='1'")); $this->loadView("main/vDefault", array("notif" => $notif)); //$this->loadView("connexion/vConnexion", array("notif"=>$notif)); } else { $this->header(); echo "<span> Votre mot de passe ou login est incorrecte. </span>"; } }
public function update(){ if(RequestUtils::isPost()){ parent::updateNotForward(); $ticket = DAO::getOne("Ticket",$_POST['idTicket']); $messages = DAO::getAll("Message", 'idTicket = '.$_POST['idTicket']); $users = array(); foreach ($messages as $message) { $user = $message->getUser()->getId(); if (!in_array($user, $users) && $user != Auth::getUser()->getId() ) { array_push($users, $message->getUser()->getId()); } $message->setUser(DAO::getAll("User", "id=".$message->getUser()->getId())[0]); } $message = DAO::getOne("Message", "idUser="******" ORDER BY date DESC"); foreach ($users as $user) { if (DAO::getOne("Notification", 'idUser = '******' AND idTicket = '.$ticket->getId()) == null) { $user = DAO::getOne("User", $user); $notif = new Notification(); $notif->setUser($user); $notif->setTicket($ticket); $notif->setMessage($message); DAO::insert($notif); } } $this->loadView("ticket/vMessage",array("messages"=>$messages, "ticket" => $ticket)); Jquery::execute("CKEDITOR.replace('contenu');"); Jquery::executeOn('.submitMessage', "click", " for ( instance in CKEDITOR.instances ) CKEDITOR.instances[instance].updateElement(); "); Jquery::postFormOn("click",".submitMessage","messages/update","frm",".contentMessages"); echo Jquery::compile(); } }
public function signin_with_hybridauth($provider) { global $config; $authConfig=ROOT."configHybrid.php"; include ROOT."./../vendor/hybridauth/hybridauth/hybridauth/Hybrid/Auth.php"; $hybridauth=new Hybrid_Auth($authConfig); $adapter=$hybridauth->authenticate($provider[0]); $user_profile=$adapter->getUserProfile(); $dbProvider=DAO::getOne("AuthProvider", array ( "name" => $provider[0] )); if ($dbProvider!=NULL) { $user=DAO::getOne("User", array ( "login" => $user_profile->displayName,"idAuthProvider" => $dbProvider->getId() )); if ($user===null) { $user=new User(); $user->setLogin($user_profile->displayName); $user->setMail($user_profile->email); $user->setGroupe(DAO::getOne("Groupe", "id=2")); $user->setAuthProvider($dbProvider); $user->setKey($user_profile->identifier); DAO::insert($user); } $_SESSION["user"]=$user; setcookie("autoConnect", $provider[0], time()+3600, "/"); if (array_key_exists("action", $_SESSION)) { Startup::runAction($_SESSION["action"], false, false); unset($_SESSION["action"]); } else { echo '<h3>Connecté à '.$dbProvider->getName().'</h3>'; echo '<h4>'.$user->getLogin().'</h4>'; echo '<div class="row"><div class="col-xs-6 col-md-3"><img style="width: 230px;height:230px;border-radius: 6px;" src="'.$user_profile->photoURL.'&s=460" alt="avatar" width="230" height="230"></div></div>'; } echo "<div id='divInfoUser'></div>"; echo Jquery::get("Indexx/getInfoUser/", "#divInfoUser"); header("Location: ".$config['siteUrl']."/Indexx"); } }
public function ajaxSample() { echo $this->messageInfo("Cocher la case pour désactiver un utilisateur.<br>Cliquer sur une ligne pour modifier l'utilisateur associé." . "<div><label>Utilisateurs à désactiver : <input type='number' class='form-control' id='nb' value='0'></label></div>"); echo $this->_showMessage("La condition de sortie n'est pas satisfaite !", "danger", 0, false, false); $users = DAO::getAll("User"); echo '<form id="frmUsers"><ul class="list-group">'; foreach ($users as $u) { echo '<li class="list-group-item" id="' . $u->getId() . '"><input type="checkbox" class="ck" name="user[]" id="user-' . $u->getId() . '"> ' . $u->toString() . "</li>"; } echo "<li class='list-group-item list-group-item-info' id='divCount'><input type='hidden' id='res' value='0'>Aucun utilisateur désactivé</li>"; echo "</ul></form>"; echo "<button id='btClose' class='btn btn-primary'>Fermer</button>"; Jquery::bindMethods(true, false); Jquery::getOn("click", ".list-group-item", "users/frm", "#response"); Jquery::doJqueryOn(".ck", "click", "\$(event.target).parent()", "toggleClass", array("disabled", "\$(event.target).prop('checked')")); Jquery::postFormOn("click", ".ck", "sample/ajaxCount", "frmUsers", "#divCount"); Jquery::doJqueryOn(".list-group-item", "mouseenter", "this", "addClass", array("active")); Jquery::doJqueryOn(".list-group-item", "mouseout", "this", "removeClass", "active"); Jquery::startCondition("\$('#nb').val()==\$('#res').val()", "\$('.alert-danger').show();"); Jquery::doJqueryOn("#btClose", "click", "#response", "html", "", Jquery::_doJquery("#main", "show")); Jquery::doJquery("#main", "hide"); echo Jquery::compile(); }
protected function setValuesToObject(&$object){ parent::setValuesToObject($object); $object->setUser(DAO::getOne("User", $_POST['idUser'])); if(isset($_POST['enabled'])){ if (isset($_POST['frequence'])){ $i = 0; $array = array(); $freq= $_POST['frequence']; foreach ($freq as $f){ array_push($array, array("day" => $f, "time"=>$_POST['time'])); $i++; } $object->setFrequence(json_encode($array)); } $object->setEnabled(1); }else{ $object->setEnabled(0); } if(isset($_POST['instant'])) $object->setInstant(1); else $object->setInstant(0); }
public function test_Modif_Disable_Delete_SES_ARTICLES() { $this->get("DefaultC/asAdmin"); $this->waitFor(2); $this->get("Faqs"); $this->waitFor(2); $this->assertPageContainsText("Foire aux questions"); $oklm = DAO::getAll("Faq", "iduser=1"); $this->assertEquals(count($this->getElementsBySelector("td.x")), 3 * count($oklm)); }
$faqMin = DAO::getOne("Faq", "1=1 limit 1"); $min = $faqMin->getId(); //le dernier $faqMax = DAO::getOne("Faq", "1=1 order by id DESC limit 1"); $max = $faqMax->getId(); $c = $faqs->getId(); if ($c <= $min) { $a = $c; } else { $faqPre = DAO::getAll("Faq", " id<{$c} order by id DESC limit 1"); $a = $faqPre[0]->getId(); } if ($c >= $max) { $b = $c; } else { $faqSui = DAO::getAll("Faq", "id>{$c} limit 1"); $b = $faqSui[0]->getId(); } ?> <div class="container"> <div class="table"> <table> <tr><td colspan="2"><a class="btn btn-primary" href=<?php echo "faqs/contenu/" . $a; ?> >Precedent</a> <a class="btn btn-primary" href=<?php echo "faqs/contenu/" . $b; ?> >Suivant</a><td></tr> <tr><td colspan="2"> </td></tr> <tr><td colspan="2" class="bg-info"><h2><?php
public function mesArticles($param = NULL) { global $config; $this->orderBy = "order by idCategorie"; $baseHref = get_class($this); $objects = DAO::getAll($this->model, $this->where . " " . $this->orderBy); echo "<a class='btn btn-primary' style='margin-right:10px;' href='" . $config["siteUrl"] . $baseHref . "/mesArticles'>Mes articles</a>"; echo "<a class='btn btn-info' href='" . $config["siteUrl"] . $baseHref . "'>Tous les articles</a>"; echo "<br><br><table class='table table-striped'><tbody>"; foreach ($objects as $object) { if (Auth::getUser() == $object->getUser()) { echo "<tr>"; echo "<td class='titre-faq' style='width:80%'><a href='" . $baseHref . "/frm2/" . $object->getId() . "' style='color:#253939'><b>" . $object->getTitre() . "</b></a></td>"; echo "<td class='td-center'><a class='btn btn-success btn-xs' href='" . $baseHref . "/frm2/" . $object->getId() . "'><span class='glyphicon glyphicon-eye-open' aria-hidden='true'></span></a></td>"; echo "<td class='td-center'><a class='btn btn-primary btn-xs' href='" . $baseHref . "/frm/" . $object->getId() . "'><span class='glyphicon glyphicon-edit' aria-hidden='true'></span></a></td>"; if ($object->getDisable() == "0") { echo "<td class='td-center'><a class='btn btn-warning btn-xs' href='" . $baseHref . "/disable/" . $object->getId() . "'><span class='glyphicon glyphicon-pause' aria-hidden='true'></span></a></td>"; } else { echo "<td class='td-center'><a class='btn btn-info btn-xs' href='" . $baseHref . "/activate/" . $object->getId() . "'><span class='glyphicon glyphicon-play' aria-hidden='true'></span></a></td>"; } echo "<td class='td-center'><a class='btn btn-danger btn-xs' href='" . $baseHref . "/delete/" . $object->getId() . "'><span class='glyphicon glyphicon-remove' aria-hidden='true'></span></a></td>"; } } echo "</tr>"; echo "</tbody>"; echo "</table>"; if (Auth::isAdmin()) { echo "<a class='btn btn-primary' href='" . $config["siteUrl"] . $baseHref . "/frm'>Ajouter...</a>"; } }
"port" => 587, "secure"=>"tls" ], "cookies"=>[ "user"=>[ "lifetime"=>time()+60*60*24*7 ] ], "test"=>false, "onStartup"=>function($action){ if(!Auth::isAuth() && $action[0]!=="UserAuth" && @$action[1]!=="disconnect"){ if(array_key_exists("autoConnect", $_COOKIE)){ $_SESSION["action"]=$action; $ctrl=new UserAuth(); $ctrl->initialize(); $ctrl->signin_with_hybridauth(array($_COOKIE["autoConnect"])); $ctrl->finalize(); die(); }else if(array_key_exists("user", $_COOKIE)){ $user = DAO::getOne("User", $_COOKIE['user']); $_SESSION["user"] = $user; $_SESSION['KCFINDER'] = array( 'disabled' => true ); $_SESSION['logStatus'] = 'success'; } } }, "templateEngine"=>'micro\views\engine\Twig', );
/** * Supprime l'instance dont l'id est $id dans la BDD * @param int $id */ public function delete($id) { try { $object = DAO::getOne($this->model, $id[0]); if ($object !== NULL) { DAO::delete($object); $msg = new DisplayedMessage($this->model . " `{$object->toString()}` supprimé(e)"); } else { $msg = new DisplayedMessage($this->model . " introuvable", "warning"); } } catch (Exception $e) { $msg = new DisplayedMessage("Impossible de supprimer l'instance de " . $this->model, "danger"); } $this->forward(get_class($this), "index", $msg); }
public function update() { if (RequestUtils::isPost()) { $className = $this->model; $object = new $className(); $this->setValuesToObject($object); if ($_POST["id"]) { try { DAO::update($object); $msg = new DisplayedMessage($this->model . " `{$object->toString()}` mis à jour"); /* ICI JE CREE UN MESSAGE */ } catch (Exception $e) { $msg = new DisplayedMessage("Impossible de modifier l'instance de " . $this->model, "danger"); } } else { try { DAO::insert($object); $msg = new DisplayedMessage("Instance de " . $this->model . " `{$object->toString()}` ajoutée"); } catch (Exception $e) { $msg = new DisplayedMessage("Impossible d'ajouter l'instance de " . $this->model, "danger"); } } $this->forward(get_class($this), "index", $msg); } }
public function suspend($params){ $params = explode(";", $params[0]); $faq = DAO::getOne($this->model, $params[0]); $faq->setPublished($params[1]); DAO::update($faq); echo "<div class='test'></div>"; echo Jquery::postForm('Faqs/filter', 'searchForm', '.list'); }
public static function setUpBeforeClass() { parent::setUpBeforeClass(); global $config; DAO::connect($config["database"]["dbName"]); }
public function testTicket() { $ticket = DAO::getOne("ticket", 1); $this->assertNotNull($ticket); $this->assertEquals($ticket->getId(), 1); }
public function updateStatut($params){ $params = explode(";", $params[0]); $statut = DAO::getOne("Statut", $params[0]); $ticket = DAO::getOne("Ticket", $params[1]); if ($statut->getId() == 2) { $ticket->setAdmin(DAO::getOne("User", "id=".$params[2])); } $ticket->setStatut($statut); if (DAO::update($ticket)) { $this->listTickets(); } }