public function downloadKalFonctions($request = null) { $syst_domain = str_replace('.', '___', sfConfig::get('project_system_uri')); return ServicesWeb::loadResultOfWebService(MyFunction::getPrefixPath() . "serviceweb/" . $this->getVersionCourante() . '/' . $this->getProjectId() . "/" . $this->getRefId() . "/" . $syst_domain . "/listFonctions.xml"); }
public function reloadInterfaceTable($delta, $id_projet, $ref_projet, $function_id, $function_ref, $login_syst, $pwd_syst, $login_user, Doctrine_Connection $conn = null) { if ($conn == null) { $conn = Doctrine_Manager::connection(); } // Vérification du delta de la fonction //peut faire tomber le webservice if ($delta == null) { $delta = 0; } $xmlfile = ServicesWeb::loadResultOfWebService(MyFunction::getPrefixPath() . "serviceweb/" . $id_projet . "/" . $ref_projet . "/" . $function_id . "/" . $function_ref . "/" . $login_syst . "/" . $pwd_syst . "/" . $login_user . "/" . $delta . "/reloadFunction.xml"); if (!$xmlfile) { return -10; } //Récupération des données du fichier $dom = new DOMDocument(); $load_result = $dom->loadXML($xmlfile); if ($load_result == false) { return -10; } //Erreur de chargement du fichier $dom->save('interface.xml'); //Vérification du contenu du fichier $racine = $dom->documentElement; if (!($racine = $dom->documentElement)) { return -10; } //Le fichier n'a pas pu etre chargé , erreur de connexion ou de parsing //Verification de l'état de l'objet à mettre à jour if ($dom->getElementsByTagName("version_a_jour")->length > 0) { return 10; } //La version est à jour //Récupération des erreurs éventuelles de chargment du fichier et/ou de la fonction if ($dom->getElementsByTagName("unlocate_function")->length > 0) { return -9; } //La fonction n'a pas été retrouvé dans le système central if ($dom->getElementsByTagName("connect_error")->length > 0) { return -8; } //Echec de connexion : Login ou mot de passe erroné if ($dom->getElementsByTagName("param_error")->length > 0) { return -7; } //Erreur : un paramètre est manquant au web service //Recupération des informations de fonction if ($dom->documentElement && $dom->documentElement->getElementsByTagName("info")->length > 0) { $resultReloadInterfaceFunction = Doctrine_Core::getTable('ScriptEiFunction')->ReloadInterfaceFunction($dom->documentElement->getElementsByTagName("info")->item(0), $conn); } //Recupération des commandes de la fonction if ($dom->documentElement && $dom->documentElement->getElementsByTagName("ei_commandes")->length > 0) { $resultReloadInterfaceCommandes = Doctrine_Core::getTable('ScriptEiFunctionHasCommande')->ReloadInterfaceCommandes($function_id, $function_ref, $dom->documentElement->getElementsByTagName("ei_commandes")->item(0), $conn); } //Recupération des liaisons script-version if ($dom->documentElement && $dom->documentElement->getElementsByTagName("ei_script_versions")->length > 0) { $resultReloadInterfaceScriptVersions = Doctrine_Core::getTable('ScriptEiScriptVersion')->ReloadInterfaceScriptVersions($function_id, $function_ref, $dom->documentElement->getElementsByTagName("ei_script_versions")->item(0), $conn); } //Recupération des scripts de fonction if ($dom->documentElement && $dom->documentElement->getElementsByTagName("ei_scripts")->length > 0) { $resultReloadInterfaceScripts = Doctrine_Core::getTable('ScriptEiScript')->ReloadInterfaceScripts($function_id, $function_ref, $dom->documentElement->getElementsByTagName("ei_scripts")->item(0), $conn); } //Recupération de la notice de la fonction et des éléments de notice (versionNotice, NoticeProfil ,ImgProfil) if ($dom->documentElement && $dom->documentElement->getElementsByTagName("ei_notice")->length > 0) { $resultReloadInterfaceNotice = Doctrine_Core::getTable('ScriptEiNotice')->ReloadInterfaceNotice($function_id, $function_ref, $dom->documentElement->getElementsByTagName("ei_notice")->item(0), $conn); } return 1; }
public static function connexionDistante($login_user, $pwd_user) { if ($pwd_user == null) { return null; } //Appel du webservice $xml = ServicesWeb::loadResultOfWebService(MyFunction::getPrefixPath() . "en/serviceweb/connexionDistante?login="******"&pwd=" . $pwd_user . "&system_uri=" . sfConfig::get('project_system_uri') . "&sf_format=xml"); $dom = new DOMDocument(); $dom->loadXML($xml); $dom->save('login.xml'); if (!$dom->documentElement) { return null; } if ($dom->documentElement->nodeName == 'error') { return $dom->documentElement->nodeValue; } if ($dom->documentElement && $dom->documentElement->getElementsByTagName("guard_user")) { $u = $dom->documentElement->getElementsByTagName("guard_user")->item(0); if ($u->getElementsByTagName("username") && $u->getAttribute("id")) { $id = $u->getAttribute("id"); $username = $u->getElementsByTagName("username")->item(0)->nodeValue; $first_name = $u->getElementsByTagName("first_name")->item(0)->nodeValue; $last_name = $u->getElementsByTagName("last_name")->item(0)->nodeValue; $email_address = $u->getElementsByTagName("email_address")->item(0)->nodeValue; $company = $u->getElementsByTagName("company")->item(0)->nodeValue; $password = $u->getElementsByTagName("password")->item(0)->nodeValue; $is_active = $u->getElementsByTagName("is_active")->item(0)->nodeValue; $guard_tab = array('id' => $id, 'username' => $username, 'first_name' => $first_name, 'company' => $company, 'last_name' => $last_name, 'email_address' => $email_address, 'password' => $password, 'is_active' => $is_active); } $user = $dom->documentElement->getElementsByTagName("ei_user")->item(0); if ($user->getElementsByTagName("ref_id") && $user->getElementsByTagName("user_id")) { $user_id = $user->getAttribute("user_id"); $ref_id = $user->getAttribute("ref_id"); $guard_id = $user->getElementsByTagName("guard_id")->item(0)->nodeValue; $matricule = $user->getElementsByTagName("matricule")->item(0)->nodeValue; $ei_user_tab = array('user_id' => $user_id, 'ref_id' => $ref_id, 'guard_id' => $guard_id, 'matricule' => $matricule); } return array('guard_tab' => $guard_tab, 'ei_user_tab' => $ei_user_tab); } else { throw new Exception('Impossible de se connecter à ' . MyFunction::getPrefixPath()); } return null; }
public function getXmlOrXslFunction(sfWebRequest $request, EiProfil $kal_profil, EiProjet $ei_project, EiUser $ei_user) { $commands = Doctrine_Core::getTable('EiFunctionHasCommande')->getCommandesFunction($this, $kal_profil); //Si le profil est associé à plusieurs scripts à la fois , on lance un warning if (!$commands instanceof Doctrine_Collection && $commands == -2) { return -2; } return ServicesWeb::creerXSL($request, $ei_project, $ei_user, $kal_profil, $commands); }