Beispiel #1
0
 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);
 }