コード例 #1
0
ファイル: Support.php プロジェクト: aleboisselier/helpdesk
	public function sendRecoverMail(){
		global $config;
		$user = DAO::getOne("User", "mail = '".$_POST['email']."'");
		
		if ($user == null){
			return $this->_showMessage("Impossible de trouver un utilisateur correspondant à cet email : ".$_POST['email'], 'warning');
		}

		$token = new Token();
		$t = md5(uniqid(rand(), true));
		$token->setToken($t);
		$token->setUser($user);
		DAO::insert($token);
	
		$this->sendMail("<a href='".$config['siteUrl']."Support/resetPassword/".$t."'>Cliquez ici pour réintialiser votre mot de passe et en choisir un nouveau</a>", $user->getMail());
		
		return $this->_showMessage("Un mail vous a  été envoyé avec un lien permettant de réintialiser votre mot de passe...", 'success');
	}
コード例 #2
0
ファイル: Messages.php プロジェクト: aleboisselier/helpdesk
	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();
			
		}
	}
コード例 #3
0
ファイル: UserAuth.php プロジェクト: aleboisselier/helpdesk
	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");
		}
	}
コード例 #4
0
 /**
  * Met à jour à partir d'un post une instance de $className<br>
  * L'affectation des membres de l'objet par le contenu du POST se fait par appel de la méthode setValuesToObject()
  * @see _DefaultController::setValuesToObject()
  */
 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");
                 if (isset($object->getMail())) {
                     $_SESSION["password"] = $object->getPassword();
                     $_SESSION["login"] = $object->getLogin();
                 }
             } 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);
     }
 }
コード例 #5
0
	public function updateNotForward(){
			$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");
				}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");
				}
			}
			return $msg;
	} 
コード例 #6
0
ファイル: DAO.php プロジェクト: nicolasBREYNAERT/helpdesk
 /**
  * Met à jour le membre $member de $instance annoté par un ManyToMany
  * @param Object $instance
  * @param String $member
  */
 public static function insertOrUpdateManyToMany($instance, $member)
 {
     $parser = new ManyToManyParser($instance, $member);
     if ($parser->init()) {
         $myField = $parser->getMyFkField();
         $field = $parser->getFkField();
         $sql = "INSERT INTO `" . $parser->getJoinTable() . "`(`" . $myField . "`,`" . $field . "`) VALUES (:" . $myField . ",:" . $field . ");";
         $memberAccessor = "get" . ucfirst($member);
         $memberValues = $instance->{$memberAccessor}();
         $myKey = $parser->getMyPk();
         $myAccessorId = "get" . ucfirst($myKey);
         $accessorId = "get" . ucfirst($parser->getPk());
         $id = $instance->{$myAccessorId}();
         if (!is_null($memberValues)) {
             DAO::$db->execute("DELETE FROM `" . $parser->getJoinTable() . "` WHERE `" . $myField . "`='" . $id . "'");
             $statement = DAO::$db->prepareStatement($sql);
             foreach ($memberValues as $k => $targetInstance) {
                 $foreignId = $targetInstance->{$accessorId}();
                 $foreignInstances = DAO::getAll($parser->getTargetEntity(), "`" . $parser->getPk() . "`" . "='" . $foreignId . "'");
                 if (!OrmUtils::exists($targetInstance, $parser->getPk(), $foreignInstances)) {
                     DAO::insert($targetInstance, false);
                     $foreignId = $targetInstance->{$accessorId}();
                     \Logger::log("InsertMany", "Insertion d'une instance de " . get_class($instance));
                 }
                 DAO::$db->bindValueFromStatement($statement, $myField, $id);
                 DAO::$db->bindValueFromStatement($statement, $field, $foreignId);
                 $result = $statement->execute();
                 \Logger::log("InsertMany", "Insertion des valeurs dans la table association '" . $parser->getJoinTable() . "'");
             }
         }
     }
 }