/** * Action permettant de créer un data set. * * @param sfWebRequest $request */ public function execute($request) { $this->setLayout(false); $this->getResponse()->setContentType('application/json'); try { // Création du tableau de résultats. $folders = array(); /** @var EiProjetTable $tableProjet */ $tableProjet = Doctrine_Core::getTable("EiProjet"); $projetsListe = $tableProjet->findUserProjet($this->user->getGuardId()); if ($projetsListe !== null) { /** @var EiProjet $projet */ foreach ($projetsListe as $projet) { if ($projet != null && $projet->needsReload($this->user->getGuardUser()->getUsername())) { $xml = $projet->downloadKalFonctions($request); if ($xml != null) { $projet->transactionToLoadObjectsOfProject($xml); } } /** @var EiNode $oRoot */ $oRoot = $projet->getRootFolder(); //Récupération du dossier root /** @var EiNode[] $oChilds */ $oChilds = $oRoot->getStructure(); // Ajout du lien vers le scénario. $oChilds = $this->throwStructureAndAddUrlToScenario($oChilds, $projet->getDefaultProfil()); $folders[] = $oChilds; } } } catch (Exception $e) { $folders = array(); } return $this->renderText(json_encode(array("tree" => $folders))); }
/** * Méthode permettant de vérifier l'utilisateur rensigné par le Web service par le biais de tokens. */ private function checkUserWebService() { /** @var EiUserTable $table */ $table = Doctrine_Core::getTable('EiUser'); $this->token = $this->getRequest()->getParameter("token"); $this->user = $table::getInstance()->getUserByTokenApi($this->token); $this->forward404If(is_bool($this->user) && $this->user === false, "You are not allowed to access this page."); // On récupère le nom d'utilisateur ainsi que le mot de passe pour les intéractions avec script. $this->login = $this->user->getGuardUser()->getUsername(); // On authentifie l'utilisateur s'il ne l'est pas. $this->getUser()->signIn($this->user->getGuardUser(), true); }
public function executeGenererXSL(sfWebRequest $request) { $this->checkProfile($request); $this->checkKalFunction($request); $this->guardUser = $this->user->getGuardUser(); //Création du web service if ($this->ei_profile != null && $this->kal_function != null) { //Si les paramètres attendus sont bien renseignés $this->ei_project = $project = $this->ei_profile->getProject(); //Rechargement de la fonction si Mise à jour rencontrée /* Si les login et mot de passe sont renseignés dans le fichier de config , alors on vérifie l'état des fonctions */ if (sfConfig::get('project_login_systeme') && sfConfig::get('project_pwd_systeme')) { if ($this->ei_project != null) { //Rechargement du projet si nécessaire if ($this->ei_project->needsReload($this->login)) { $this->ei_project->transactionToLoadObjectsOfProject($this->ei_project->downloadKalFonctions($request)); } } } //Génération du XSL $this->result = $this->kal_function->getXmlOrXslFunction($request, $this->ei_profile, $this->ei_project, $this->user); } $this->setTemplate("download"); }
/** * Méthode permettant de générer un nouveau jeton pour l'utilisateur à destinations de l'api. * * @param EiUser $user * @return string */ public function generateToken(EiUser $user) { $token = sha1(rand(11111, 99999999999) . $this->calculateToken($user->getGuardUser()->getEmailAddress()) . rand(11111, 99999999999)); $user->setTokenApi($token); $user->save($this->getConnection()); return $token; }