/** * @see parent::doStore() */ function doStore() { if (isset($_FILES['attachment'])) { $mail_id = CValue::post('mail_id'); $mail = new CUserMail(); $mail->load($mail_id); $files = array(); foreach ($_FILES['attachment']['error'] as $key => $file_error) { if (isset($_FILES['attachment']['name'][$key])) { $files[] = array('name' => $_FILES['attachment']['name'][$key], 'tmp_name' => $_FILES['attachment']['tmp_name'][$key], 'error' => $_FILES['attachment']['error'][$key], 'size' => $_FILES['attachment']['size'][$key]); } } foreach ($files as $_key => $_file) { if ($_file['error'] == UPLOAD_ERR_NO_FILE) { continue; } if ($_file['error'] != 0) { CAppUI::setMsg(CAppUI::tr("CFile-msg-upload-error-" . $_file["error"]), UI_MSG_ERROR); continue; } $attachment = new CMailAttachments(); $attachment->name = $_file['name']; $content_type = mime_content_type($_file['tmp_name']); $attachment->type = $attachment->getTypeInt($content_type); $attachment->bytes = $_file['size']; $attachment->mail_id = $mail_id; $content_type = explode('/', $content_type); $attachment->subtype = strtoupper($content_type[1]); $attachment->disposition = 'ATTACHMENT'; $attachment->extension = substr(strrchr($attachment->name, '.'), 1); $attachment->part = $mail->countBackRefs('mail_attachments') + 1; $attachment->store(); $file = new CFile(); $file->setObject($attachment); $file->author_id = CAppUI::$user->_id; $file->file_name = $attachment->name; $file->file_date = CMbDT::dateTime(); $file->fillFields(); $file->updateFormFields(); $file->doc_size = $attachment->bytes; $file->file_type = mime_content_type($_file['tmp_name']); $file->moveFile($_file, true); if ($msg = $file->store()) { CAppUI::setMsg(CAppUI::tr('CMailAttachments-error-upload-file') . ':' . CAppUI::tr($msg), UI_MSG_ERROR); CApp::rip(); } $attachment->file_id = $file->_id; if ($msg = $attachment->store()) { CAppUI::setMsg($msg, UI_MSG_ERROR); CApp::rip(); } } CAppUI::setMsg('CMailAttachments-msg-added', UI_MSG_OK); } else { parent::doStore(); } }
/** * create the CFiles attached to the mail * * @param CMailAttachments[] $attachList The list of CMailAttachment * @param CPop $popClient the CPop client * * @return void */ function attachFiles($attachList, $popClient) { //size limit $size_required = CAppUI::pref("getAttachmentOnUpdate"); if ($size_required == "") { $size_required = 0; } foreach ($attachList as $_attch) { $_attch->mail_id = $this->_id; $_attch->loadMatchingObject(); if (!$_attch->_id) { $_attch->store(); } //si preference taille ok OU que la piece jointe est incluse au texte => CFile if ($_attch->bytes <= $size_required || $_attch->disposition == "INLINE") { $file = new CFile(); $file->setObject($_attch); $file->author_id = CAppUI::$user->_id; if (!$file->loadMatchingObject()) { $file_pop = $popClient->decodeMail($_attch->encoding, $popClient->openPart($this->uid, $_attch->getpartDL())); $file->file_name = $_attch->name; //apicrypt attachment if (strpos($_attch->name, ".apz") !== false) { $file_pop = CApicrypt::uncryptAttachment($popClient->source->object_id, $file_pop); } //file type detection $first = is_array($file_pop) ? reset($file_pop) : $file_pop; $mime = $this->extensionDetection($first); //file name $infos = pathinfo($_attch->name); $extension = $infos['extension']; $mime_extension = strtolower(end(explode("/", $mime))); if (strtolower($extension) != $mime_extension) { $file->file_name = $infos['filename'] . "." . $mime_extension; } $file->file_type = $mime ? $mime : $_attch->getType($_attch->type, $_attch->subtype); $file->fillFields(); $file->updateFormFields(); $file->putContent($file_pop); $file->store(); } } } }
/** * Edition des journaux selon le type * * @param bool $read lecture * @param bool $create_journal Création du journal * * @return void */ function editJournal($read = true, $create_journal = true) { if ($create_journal) { $journal = new CJournalBill(); $journal->type = $this->type_pdf; $journal->nom = "Journal_" . $this->type_pdf . "_" . CMbDT::date(); $journal->_factures = $this->factures; if ($msg = $journal->store()) { mbTrace($msg); } else { $this->journal_id = $journal->_id; } } // Creation du PDF $this->pdf = new CMbPdf('l', 'mm'); $this->pdf->setPrintHeader(false); $this->pdf->setPrintFooter(false); $this->font = "vera"; $this->fontb = $this->font . "b"; $this->pdf->setFont($this->font, '', 8); $this->page = 0; $this->editEntete(); switch ($this->type_pdf) { case "paiement": $this->editPaiements(); break; case "debiteur": $this->editDebiteur(); break; case "rappel": $this->editRappel(); break; case "checklist": $this->editCheckList(); break; } if ($create_journal) { $file = new CFile(); $file->file_name = $journal->nom . ".pdf"; $file->file_type = "application/pdf"; $file->author_id = CMediusers::get()->_id; $file->file_category_id = 1; $file->setObject($journal); $file->fillFields(); $file->putContent($this->pdf->Output('Factures.pdf', "S")); if ($msg = $file->store()) { echo $msg; } if ($this->type_pdf == "checklist") { $user = CMediusers::get(); $printer = new CPrinter(); $printer->function_id = $user->function_id; $printer->label = "justif"; $printer->loadMatchingObject(); if (!$printer->_id) { CAppUI::setMsg("Les imprimantes ne sont pas paramétrées", UI_MSG_ERROR); echo CAppUI::getMsg(); return false; } $file = new CFile(); $pdf = $this->pdf->Output('Factures.pdf', "S"); $file_path = tempnam("tmp", "facture"); $file->_file_path = $file_path; file_put_contents($file_path, $pdf); $printer->loadRefSource()->sendDocument($file); unlink($file_path); } } if ($read) { //Affichage du fichier pdf $this->pdf->Output('Factures.pdf', "I"); } }
/** * Store a CFile linked to $this * * @param string $filename File name * @param string $filedata File contents * * @return bool */ function addFile($filename, $filedata) { $file = new CFile(); $file->setObject($this); $file->file_name = $filename; $file->file_type = "text/plain"; $file->doc_size = strlen($filedata); $file->author_id = CAppUI::$instance->user_id; $file->fillFields(); if (!$file->putContent($filedata)) { return false; } $file->store(); return true; }
while ($zipFile = zip_read($zip)) { $doc_name = zip_entry_name($zipFile); $extension = strtolower(pathinfo($doc_name, PATHINFO_EXTENSION)); $file_name = pathinfo($doc_name, PATHINFO_BASENAME); $doc_size = zip_entry_filesize($zipFile); $dir_name = end(explode("/", dirname($doc_name))); if ((!$dir_name || $dir_name == ".") && $category || $category != "divers") { $dir_name = $category; } $cat = new CDrawingCategory(); $cat->name = $dir_name; $cat->loadMatchingObjectEsc(); if ($msg = $cat->store()) { CAppUI::stepAjax($msg, UI_MSG_WARNING); } $content_file = zip_entry_read($zipFile, $doc_size); if ($content_file) { $file = new CFile(); $file->file_name = $file_name; $file->author_id = CAppUI::$user->_id; $file->file_type = CMbPath::guessMimeType($doc_name); $file->fillFields(); $file->setObject($cat); $file->updateFormFields(); $file->putContent($content_file); if ($msg = $file->store()) { CAppUI::setMsg($msg, UI_MSG_WARNING); } } } zip_close($zip);
$data = $file_array[$dispo]; // context $object_guid = CValue::post("context_guid"); $context = CMbObject::loadFromGuid($object_guid); // get data uri foreach ($data as $_key => &$_data) { $file = new CFile(); $file->load($_data["file_id"]); $file->getDataURI(); $_data["file_uri"] = $file->_data_uri; } //user $user = CMediusers::get($user_id); // file $file = new CFile(); $file->setObject($context); $file->file_name = CAppUI::tr("CFile-create-mozaic") . " de " . CAppUI::tr($context->_class) . " du " . CMbDT::dateToLocale(CMbDT::date()) . ".pdf"; $file->file_type = "application/pdf"; $file->file_category_id = $cat_id; $file->author_id = CMediusers::get()->_id; $file->fillFields(); $file->updateFormFields(); $file->forceDir(); $file->store(); $cr = new CCompteRendu(); $cr->_page_format = "A4"; $cr->_orientation = "portrait"; // use template for header and footer $template_header = new CTemplateManager(); $context->fillTemplate($template_header); $header = CCompteRendu::getSpecialModel($user, "CPatient", "[ENTETE MOZAIC]");
/** * $Id: do_select_supervision_picture.php 26555 2014-12-23 12:48:14Z flaviencrochard $ * * @category Patients * @package Mediboard * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 26555 $ * @link http://www.mediboard.org */ CCanDo::checkAdmin(); $path = str_replace("..", "", CValue::post("path")); $timed_picture_id = CValue::post("timed_picture_id"); if (is_file($path) && strpos(CSupervisionTimedPicture::PICTURES_ROOT, $path) !== 0) { $timed_picture = new CSupervisionTimedPicture(); $timed_picture->load($timed_picture_id); $file = new CFile(); $file->setObject($timed_picture); $file->fillFields(); $file->file_name = basename($path); $file->doc_size = filesize($path); $file->file_type = CMbPath::guessMimeType($path); $file->moveFile($path, false, true); if ($msg = $file->store()) { CAppUI::setMsg($msg, UI_MSG_WARNING); } else { CAppUI::setMsg("Image enregistrée"); } } echo CAppUI::getMsg(); CApp::rip();
} } } //text link if ($text_html || $text_plain) { $content_type = "text/plain"; if ($text_html) { $text = new CContentHTML(); $text->load($text_html); $content_type = "text/html"; } else { $text = new CContentAny(); $text->load($text_plain); } $file = new CFile(); $file->setObject($object); $file->author_id = CAppUI::$user->_id; $file->file_name = "sans_titre"; $file->file_category_id = $category_id; if ($mail->subject) { $file->file_name = $mail->subject; } if ($rename_text) { $file->file_name = $rename_text; } $file->file_type = $content_type; $file->fillFields(); $file->putContent($text->content); if ($str = $file->store()) { CAppUI::stepAjax($str, UI_MSG_ERROR); } else {
/** * PDF conversion of a file * * @param string $file_path path to the file * @param string $pdf_path path the pdf file * * @return bool */ function convertToPDF($file_path = null, $pdf_path = null) { global $rootName; // Vérifier si openoffice est lancé if (!CFile::openofficeLaunched()) { return 0; } // Vérifier sa charge en mémoire CFile::openofficeOverload(); if (!$file_path && !$pdf_path) { $file = new CFile(); $file->setObject($this); $file->private = $this->private; $file->file_name = $this->file_name . ".pdf"; $file->file_type = "application/pdf"; $file->author_id = CAppUI::$user->_id; $file->fillFields(); $file->updateFormFields(); $file->forceDir(); $save_name = $this->_file_path; if ($msg = $file->store()) { CAppUI::setMsg($msg, UI_MSG_ERROR); return 0; } $file_path = $this->_file_path; $pdf_path = $file->_file_path; } // Requête post pour la conversion. // Cela permet de mettre un time limit afin de garder le contrôle de la conversion. ini_set("default_socket_timeout", 10); $fileContents = base64_encode(file_get_contents($file_path)); $url = CAppUI::conf("base_url") . "/index.php?m=dPfiles&a=ajax_ooo_convert&suppressHeaders=1"; $data = array("file_data" => $fileContents, "pdf_path" => $pdf_path); // Fermeture de la session afin d'écrire dans le fichier de session CSessionHandler::writeClose(); // Le header Connection: close permet de forcer a couper la connexion lorsque la requête est effectuée $ctx = stream_context_create(array('http' => array('method' => 'POST', 'header' => "Content-type: application/x-www-form-urlencoded charset=UTF-8\r\n" . "Connection: close\r\n" . "Cookie: mediboard=" . session_id() . "\r\n", 'content' => http_build_query($data)))); // La requête post réouvre la session $res = file_get_contents($url, false, $ctx); if (isset($file) && $res == 1) { $file->doc_size = filesize($pdf_path); if ($msg = $file->store()) { CAppUI::setMsg($msg, UI_MSG_ERROR); return 0; } } // Si la conversion a échoué // on relance le service s'il ne répond plus. if ($res != 1) { CFile::openofficeOverload(1); } return $res; }
CCanDo::checkAdmin(); $extract_passages_id = CValue::get("extract_passages_id"); if (isset($extractPassages) && $extractPassages->_id) { $extract_passages_id = $extractPassages->_id; } $attente = 1; $extractPassages = new CExtractPassages(); // Appel de la fonction d'extraction du RPUSender $rpuSender = $extractPassages->getRPUSender(); if ($extract_passages_id) { $extractPassages->load($extract_passages_id); if (!$extractPassages->_id) { CAppUI::stepAjax("Impossible de charger le document XML.", UI_MSG_ERROR); } $file = new CFile(); $file->setObject($extractPassages); $file->loadMatchingObject(); if (!$file->_id) { CAppUI::stepAjax("Impossible de récupérer le document.", UI_MSG_ERROR); } $tentative = 5; if ($extractPassages->type == "activite") { while ($tentative-- && $rpuSender->transmitActivite($extractPassages)) { sleep($attente); } } else { while ($tentative-- && $rpuSender->transmit($extractPassages)) { sleep($attente); } } } else {
} $content = $compte_rendu->loadHTMLcontent($content, $mode, $margins, CCompteRendu::$fonts[$compte_rendu->font], $compte_rendu->size, true, $type, $header, $sizeheader, $footer, $sizefooter, $preface, $ending); } } else { $content = $compte_rendu->loadHTMLcontent($content, $mode, $margins, CCompteRendu::$fonts[$compte_rendu->font], $compte_rendu->size); } // Traitement du format de la page if ($page_format == "") { $page_width = round(72 / 2.54 * $page_width, 2); $page_height = round(72 / 2.54 * $page_height, 2); $page_format = array(0, 0, $page_width, $page_height); } // Création du CFile si inexistant if (!$file->_id) { $file = new CFile(); $file->setObject($compte_rendu); $file->file_type = "application/pdf"; $file->author_id = $user_id; $file->fillFields(); $file->updateFormFields(); $file->forceDir(); } if ($file->_id && !file_exists($file->_file_path)) { $file->forceDir(); } $file->file_name = $compte_rendu->nom . ".pdf"; $c1 = preg_replace("!\\s!", '', $save_content); $c2 = preg_replace("!\\s!", '', $compte_rendu->_source); // Si la source envoyée et celle présente en base sont différentes, on regénère le PDF // Suppression des espaces, tabulations, retours chariots et sauts de lignes pour effectuer le md5 if ($compte_rendu->valide || md5($c1) != md5($c2) || !$file->_id || !file_exists($file->_file_path) || file_get_contents($file->_file_path) == "") {
if ($del) { if ($msg = $file->delete()) { CAppUI::stepAjax($msg, UI_MSG_ERROR); } else { CAppUI::stepAjax("CFile-msg-delete", UI_MSG_OK); } } else { $file->file_type = "image/fabricjs"; if ($export) { $svg = new CFile(); $svg->file_name = $file->file_name; $svg->file_type = "image/svg+xml"; $svg->author_id = $file->author_id; $svg->loadMatchingObject(); $svg->fillFields(); $svg->setObject($file->_ref_object); $svg->updateFormFields(); if (strpos($svg->file_name, ".") === false) { $svg->file_name = $svg->file_name . ".svg"; } if (strpos($svg->file_name, ".fjs") !== false) { $svg->file_name = str_replace(".fjs", ".svg", $svg->file_name); } // @TODO : replace url by datauri $content = str_replace(array("&a=fileviewer", "&file_id", "&suppressHeaders"), array("&a=fileviewer", "&file_id", "&suppressHeaders"), $content); if ($result = $svg->putContent(stripslashes($content))) { if ($msg = $svg->store()) { CAppUI::stepAjax($msg, UI_MSG_ERROR); } else { CAppUI::stepAjax("Dessin exporté avec succès", UI_MSG_OK); }
/** * Make a PDF document archive of the sejour (based on soins/print_dossier_soins) * * @param string $title File title * @param bool $replace Replace existing file * * @return bool * @throws CMbException */ function makePDFarchive($title = "Dossier complet", $replace = false) { if (!CModule::getActive("soins")) { return false; } $query = array("m" => "soins", "a" => "print_dossier_soins", "sejour_id" => $this->_id, "dialog" => 1, "offline" => 1, "limit" => 10000, "_aio" => 1, "_aio_ignore_scripts" => 1); $base = $_SERVER["SCRIPT_NAME"] . "?" . http_build_query($query, "", "&"); $result = CApp::serverCall("http://127.0.0.1{$base}"); $content = $result["body"]; $file = new CFile(); $file->setObject($this); $file->file_name = "{$title}.pdf"; $file->file_type = "application/pdf"; /*if ($file->loadMatchingObject()) { if ($replace) { $file->delete(); // New file $file = new CFile(); $file->setObject($this); $file->file_name = "$title.pdf"; $file->file_type = "application/pdf"; } }*/ $file->fillFields(); $file->updateFormFields(); $file->forceDir(); $file->author_id = CAppUI::$user->_id; $compte_rendu = new CCompteRendu(); $compte_rendu->_orientation = "portrait"; $format = CCompteRendu::$_page_formats["a4"]; $page_width = round(72 / 2.54 * $format[0], 2); $page_height = round(72 / 2.54 * $format[1], 2); $compte_rendu->_page_format = array(0, 0, $page_width, $page_height); $content = str_replace("<!DOCTYPE html>", "", $content); CHtmlToPDFConverter::init("CWkHtmlToPDFConverter"); //CHtmlToPDFConverter::init("CPrinceXMLConverter"); $pdf = CHtmlToPDFConverter::convert($content, $compte_rendu->_page_format, $compte_rendu->_orientation); $file->putContent($pdf); if ($msg = $file->store()) { throw new CMbException($msg); } return true; }
$file->file_type = $attachment->getType($attachment->type, $attachment->subtype); $file->fillFields(); $file->putContent($file_pop); if ($str = $file->store()) { CAppUI::setMsg($str, UI_MSG_ERROR); } else { CAppUI::setMsg("CMailAttachments-msg-attachmentsaved", UI_MSG_OK); } $pop->close(); } } else { //je récupère TOUTES les pièces jointes $mail->loadRefsFwd(); foreach ($mail->_attachments as $_att) { $file = new CFile(); $file->setObject($_att); $file->author_id = $user->_id; $file->loadMatchingObject(); if (!$file->_id) { $pop = new CPop($log_pop); $pop->open(); $file_pop = $pop->decodeMail($_att->encoding, $pop->openPart($mail->uid, $_att->getpartDL())); $file->file_name = $_att->name; $file->file_type = $_att->getType($_att->type, $_att->subtype); $file->fillFields(); $file->putContent($file_pop); if ($str = $file->store()) { CAppUI::setMsg($str, UI_MSG_ERROR); } else { CAppUI::setMsg("CMailAttachments-msg-attachmentsaved", UI_MSG_OK); }
$footer->loadContent(); $facture->fillTemplate($template_footer); $template_footer->renderDocument($footer->_source); if ($footer->height) { $footer_height = $footer->height; } } $style = file_get_contents("style/mediboard/tables.css"); $smarty = new CSmartyDP(); $smarty->assign("style", $style); $smarty->assign("facture", $facture); $smarty->assign("header_height", $header_height); $smarty->assign("footer_height", $footer_height); $smarty->assign("header", $template_header->document); $smarty->assign("footer", $template_footer->document); $smarty->assign("body_height", 550 - $template_footer->document - $template_header->document); $content = $smarty->fetch("print_facture.tpl"); $file = new CFile(); $file->file_name = "Impression de la facture.pdf"; $file->setObject($facture); $file->file_type = "application/pdf"; $file->author_id = CMediusers::get()->_id; $file->fillFields(); $file->updateFormFields(); $file->forceDir(); $file->store(); $htmltopdf = new CHtmlToPDF("CDomPDFConverter"); $cr = new CCompteRendu(); $cr->_page_format = "a4"; $cr->_orientation = "portrait"; $htmltopdf->generatePDF($content, 1, $cr, $file);
/** * OBX Segment with reference pointer to external report * * @param DOMNode $OBX DOM node * @param CMbObject $object object * @param String $name name * * @return bool */ function getReferencePointerToExternalReport(DOMNode $OBX, CMbObject $object, $name) { $exchange_hl7v2 = $this->_ref_exchange_hl7v2; $sender = $exchange_hl7v2->_ref_sender; //Récupération de l'emplacement et du type du fichier (full path) $observation = $this->getObservationValue($OBX); $rp = explode("^", $observation); $pointer = CMbArray::get($rp, 0); $type = CMbArray::get($rp, 2); // Création d'un lien Hypertext sur l'objet if ($type == "HTML") { $hyperlink = new CHyperTextLink(); $hyperlink->setObject($object); $hyperlink->name = $name; $hyperlink->link = $pointer; $hyperlink->loadMatchingObject(); if ($msg = $hyperlink->store()) { $this->codes[] = "E343"; return false; } return true; } // Chargement des objets associés à l'expéditeur /** @var CInteropSender $sender_link */ $object_links = $sender->loadRefsObjectLinks(); if (!$object_links) { $this->codes[] = "E340"; return false; } $sender_link = new CInteropSender(); $files_category = new CFilesCategory(); // On récupère toujours une seule catégorie, et une seule source associée à l'expéditeur foreach ($object_links as $_object_link) { if ($_object_link->_ref_object instanceof CFilesCategory) { $files_category = $_object_link->_ref_object; } if ($_object_link->_ref_object instanceof CInteropSender) { $sender_link = $_object_link->_ref_object; continue 1; } } // Aucun expéditeur permettant de récupérer les fichiers if (!$sender_link->_id) { $this->codes[] = "E340"; return false; } $authorized_sources = array("CSenderFileSystem", "CSenderFTP"); // L'expéditeur n'est pas prise en charge pour la réception de fichiers if (!CMbArray::in($sender_link->_class, $authorized_sources)) { $this->codes[] = "E341"; return false; } $sender_link->loadRefsExchangesSources(); // Aucune source permettant de récupérer les fichiers if (!$sender_link->_id) { $this->codes[] = "E342"; return false; } $source = $sender_link->getFirstExchangesSources(); $path = str_replace("\\", "/", $pointer); $path = basename($path); if ($source instanceof CSourceFileSystem) { $path = $source->getFullPath() . "/{$path}"; } // Exception déclenchée sur la lecture du fichier try { $content = $source->getData("{$path}"); } catch (Exception $e) { $this->codes[] = "E345"; return false; } if (!$type) { $type = CMbPath::getExtension($path); } $file_type = $this->getFileType($type); $file_name = $this->getObservationFilename($OBX); // Gestion du CFile $file = new CFile(); $file->setObject($object); $file->file_name = $file_name ? $file_name : $name; $file->file_type = $file_type; $file->loadMatchingObject(); if ($files_category->_id && $sender->_configs["associate_category_to_a_file"]) { $file->file_category_id = $files_category->_id; } $file->file_date = "now"; $file->doc_size = strlen($content); $file->fillFields(); $file->updateFormFields(); $file->putContent($content); if ($msg = $file->store()) { $this->codes[] = "E343"; } $this->codes[] = "I340"; return true; }
/** * load files linked to the present attachment * * @return CFile */ function loadFiles() { //a file is already linked and we have the id $file = new CFile(); if ($this->file_id) { $file->load($this->file_id); $file->loadRefsFwd(); //TODO : fix this } else { $file->setObject($this); $file->loadMatchingObject(); } $file->updateFormFields(); return $this->_file = $file; }
/** * Traitement des retours en erreur d'xml d'un praticien * * @param int $chir_id praticien de la consultation * * @return void|string */ static function traitementDossier($chir_id) { $files = array(); $fs_source_reception = CExchangeSource::get("reception-tarmed-CMediusers-{$chir_id}", "file_system", true, null, false); if (!$fs_source_reception->_id || !$fs_source_reception->active) { return null; } $count_files = CMbPath::countFiles($fs_source_reception->host); if ($count_files < 100) { try { $files = $fs_source_reception->receive(); } catch (CMbException $e) { return CAppUI::tr($e->getMessage()); } } $delfile_read_reject = CAppUI::conf("dPfacturation Other delfile_read_reject", CGroups::loadCurrent()); foreach ($files as $_file) { $fs = new CSourceFileSystem(); $rejet = new self(); $rejet->praticien_id = $chir_id; $rejet->file_name = basename($_file); if ($msg = $rejet->store()) { return $msg; } $rejet->readXML($fs->getData($_file)); //Sauvegarde du XML en CFile $new_file = new CFile(); $new_file->setObject($rejet); $new_file->file_name = basename($_file); $new_file->file_type = "application/xml"; $new_file->author_id = CAppUI::$user->_id; $new_file->fillFields(); $new_file->updateFormFields(); $new_file->forceDir(); $new_file->putContent(trim($fs->getData($_file))); if ($msg = $new_file->store()) { mbTrace($msg); } //Suppression du fichier selon configuration if ($delfile_read_reject) { $fs->delFile($_file); } } return null; }
if (strpos($_file->file_type, "image/") === false || $_file->file_type == "image/fabricjs" || $_file->annule) { unset($object->_ref_files[$file_id]); } } } } // creation if (!$draw->_id) { // author = self $draw->author_id = $user->_id; $draw->_ref_author = $user; $draw->file_type = "image/svg+xml"; $draw->file_name = "Sans titre"; // context if ($object && $object->_id) { $draw->setObject($object); } else { $draw->setObject($user); } $draw->loadTargetObject(); } $file_categories = CFilesCategory::listCatClass($draw->_class); $category = new CDrawingCategory(); $where = array("user_id" => " = '{$user->_id}'"); $categories_user = $category->loadList($where); $where = array("function_id" => " = '{$user->function_id}'"); $categories_function = $category->loadList($where); $where = array("group_id" => " = '{$user->_ref_function}->group_id'"); $categories_group = $category->loadList($where); /** @var CDrawingCategory[] $categories */ $categories = $categories_user + $categories_function + $categories_group;
/** * Store the file * * @param String $prefix Prefix for the name of file * @param String $file_name Name of file * @param String $file_type Type file * @param CSejour $sejour Sejour * @param Array &$erreur Error * * @return bool */ function storeFile($prefix, $file_name, $file_type, $sejour, &$erreur) { /** @var CInteropSender $sender */ $sender = $this->_ref_sender; $exchange_hpr = $this->_ref_exchange_hpr; $file = false; $object_links = $sender->loadRefsObjectLinks(); foreach ($object_links as $_object_link) { /** @var CInteropSender $sender_link */ $sender_link = $_object_link->loadRefObject(); $sender_link->loadRefsExchangesSources(); foreach ($sender_link->_ref_exchanges_sources as $_source) { $path = $_source->getFullPath($file_name); /** @var CExchangeSource $_source */ $data = $_source->getData($path); if (!$data) { continue; } $file = new CFile(); $file->file_name = "{$prefix} {$file_name}"; $file->file_type = $file_type; $file->fillFields(); $file->setObject($sejour); $file->putContent($data); if ($msg = $file->store()) { $erreur[] = new CHPrimSanteError($exchange_hpr, "P", "17", array("OBX", $this->loop, $this->identifier_patient), "10.6", CMbString::removeAllHTMLEntities($msg)); continue; } } } if (!$file) { $erreur[] = new CHPrimSanteError($exchange_hpr, "P", "18", array("OBX", $this->loop, $this->identifier_patient), "10.6"); return false; } return true; }