'); // Transfer réussi du répertoire '.$_GET['path'].' pour le service '.$_GET['user'].'"/>'; } //docflow_result(true, "Document transféré sur le docflow avec succès"); // secret number act as a password to protect the pages from unwanted access (cant open it directly in a browser if ($_GET['secretnumber']!=$CONFIG_SERVERCODE) docflow_result(false, "Erreur: impossible de valider le fait que le déploiement a été demandé depuis un programme SCENARI"); $path=$_GET['path']; $user=$_GET['user']; $uri=$_GET['uri']; // basic input validity check if (!$uri) docflow_result(false, "Erreur: impossible d'extraire l'uri /attelier/chemin/source.xml"); if (!$user) docflow_result(false, "Erreur: impossible d'extraire le nom de l'utilisateur"); if (!$path) docflow_result(false, "Erreur: impossible d'extraire le chemin du répertoire sur le serveur"); if (strpos($path, realpath($CONFIG_WSPS_PATH))!==0) docflow_result(false, "Erreur: le chemin du fichier a copier est en dehors de l'espace de travail du docflow. chemin fichier : '$path', chemin serveur '$CONFIG_WSPS_PATH'"); // parse worshop/source in uri list($discard, $workshop, $discard2)= explode('/', $uri,3); if ($workshop=='SYSTEME') list($discard, $discard2, $workshop, $discard3)= explode('/', $uri,4); $sourcename=basename($uri,'.xml'); if (!$workshop) docflow_result(false, "Erreur: impossible d'extraire le nom de l'atellier"); if (!$sourcename) docflow_result(false, "Erreur: impossible d'extraire le nom du fichier source xml"); // file access check if (!(is_dir($path) && is_readable($path))) docflow_result(false, "Erreur: chemin du fichier sur le serveur n'est pas un répertoire accessible $path"); if (!(is_file($path.$file_xml) && is_readable($path.$file_xml))) docflow_result(false, "Erreur: le fichier source (xml) n'est pas accessible (".$path.$file_xml.")"); //if (!(is_file($path.$file_odt) && is_readable($path.$file_odt))) // docflow_result(false, "Erreur: le fichier OpenDocument (odt) n'est pas accessible"); if (!(is_file($path.$file_pdf) && is_readable($path.$file_pdf))) docflow_result(false, "Erreur: le fichier PDF n'est pas accessible (".$path.$file_pdf.")"); // extract "objet" data from the xml document $da=new DOMArrete($path.$file_xml); $objet=$da->getObjet(); if (!$objet) docflow_result(false, "Erreur: le document n'a pas d'objet"); // create service dir in docflow workshop if ! exists $workshop_path=$CONFIG_WSPS_PATH.$CONFIG_WSPS_DOCFLOW."sources/".$workshop; $document_path=$workshop_path.'/'.$sourcename; if (!file_exists($workshop_path)) if (!mkdir($workshop_path)) docflow_result(false, "Erreur: impossible de créer le répertoire : '$workshop_path' sur le serveur"); // create document dir if (file_exists($document_path)) docflow_result(false, "Erreur: un fichier du même nom est déja sur le serveur '$document_path'. Vérifiez bien que vous n'avez pas essayé de valider 2 fois le même document"); if (!mkdir($document_path)) docflow_result(false, "Erreur: impossible de créer le répertoire : '$document_path' sur le serveur"); // 3 file copy : any workshop -> DOCFLOW workshop//document.* $filelist=Array($path.$file_xml, $path.$file_pdf); foreach ($filelist as $file) { $dest=$document_path."/document".strrchr($file, '.'); if (!copy($file, $dest)) docflow_result(false, "Erreur de copie de fichier '$file' vers '$dest'"); } // add 'objet' to database $sql="INSERT INTO documents(filename, service, objet, datecreation) VALUES ('" . php2db($sourcename). "','" . php2db($workshop). "','" . php2db($objet)."'," . "NOW());"; if ( ($ret=mysql_query($sql, $dblink)) === false ) docflow_result(false, "Erreur de communication avec la base de donnée : " . mysql_error($dblink)); // didnt broke anything earlier ? let's assume it works docflow_result(true, "Document $sourcename transféré sur le docflow avec succès"); ?>