function get_notice_by_meta($name, $filename) { global $pmb_keyword_sep; global $pmb_type_audit; global $webdav_current_user_name, $webdav_current_user_id; \create_tableau_mimetype(); $mimetype = \trouve_mimetype($filename, extension_fichier($name)); //on commence avec la gymnatisque des métas... if ($mimetype == "application/epub+zip") { //pour les ebook, on gère ca directement ici ! $epub = new \epubData(realpath($filename)); $metas = $epub->metas; $img = imagecreatefromstring($epub->getCoverContent()); $file = tempnam(sys_get_temp_dir(), "vign"); imagepng($img, $file); $metas['thumbnail_content'] = file_get_contents($file); unlink($file); } else { $metas = \extract_metas(realpath($filename), $mimetype); } if ($this->config['metasMapper_class']) { $className = "Sabre\\PMB\\" . $this->config['metasMapper_class']; if (class_exists($className)) { $metasMapper = new $className($this->config, $metas, $mimetype, $name); } } if (!is_object($metasMapper)) { $metasMapper = new metasMapper($this->config, $metas, $mimetype, $name); } return $metasMapper->get_notice_id(); }
function get_notice_by_meta($name, $filename) { \create_tableau_mimetype(); $mimetype = \trouve_mimetype($filename, extension_fichier($name)); //on commence avec la gymnatisque des métas... if ($mimetype == "application/epub+zip") { //pour les ebook, on gère ca directement ici ! $epub = new \epubData(realpath($filename)); $metas = $epub->metas; $img = imagecreatefromstring($epub->getCoverContent()); $file = tempnam(sys_get_temp_dir(), "vign"); imagepng($img, $file); $metas['thumbnail_content'] = file_get_contents($file); unlink($file); } else { $metas = \extract_metas(realpath($filename), $mimetype); } $metasMapper = $this->load_metas_mapper(); return $metasMapper->get_notice_id($metas, $mimetype, $name); }
function explnum_add_from_url($f_notice_id, $f_bulletin_id, $f_nom, $f_url, $overwrite = true, $source_id = 0, $filename = '', $f_path = '', $f_statut) { global $dbh, $base_path; if ($f_bulletin_id) { $f_notice_id = 0; } else { if (!$f_bulletin_id && $f_notice_id) { $f_bulletin_id = 0; } } if (!$overwrite) { $sql_find = "SELECT count(*) FROM explnum WHERE explnum_notice = " . $f_notice_id . " AND explnum_nom = '" . addslashes($f_nom) . "'"; $res = pmb_mysql_query($sql_find, $dbh); $count = pmb_mysql_result($res, 0, 0); if ($count) { return; } } $sql_delete = "DELETE FROM explnum WHERE explnum_notice = " . $f_notice_id . " AND explnum_nom = '" . addslashes($f_nom) . "' "; pmb_mysql_query($sql_delete, $dbh); $original_filename = basename($f_url); $extension = substr($original_filename, strripos($original_filename, '.') * 1 + 1); $tmp_filename = explnum::static_rename($extension); if ($filename) { $new_filename = $filename; } else { $new_filename = $tmp_filename; } //copie en répertoire temporaire $r = false; if (file_exists($f_url) && filesize($f_url)) { //document en repertoire $r = copy($f_url, $base_path . '/temp/' . $tmp_filename); } else { //url $aCurl = new Curl(); $content = $aCurl->get($f_url); $content = $content->body; $r = file_put_contents("{$base_path}/temp/" . $tmp_filename, $content); } if ($r) { //construction vignette $vignette = construire_vignette('', $tmp_filename); create_tableau_mimetype(); $mimetype = trouve_mimetype("{$base_path}/temp/" . $tmp_filename, $extension); //si la source du connecteur est précisée, on regarde si on a pas un répertoire associé $rep_upload = 0; if ($source_id) { $check_rep = "select rep_upload from connectors_sources where source_id = " . $source_id; $res = pmb_mysql_query($check_rep); if (pmb_mysql_num_rows($res)) { $rep_upload = pmb_mysql_result($res, 0, 0); } } if ($rep_upload != 0) { $upload_folder = new upload_folder($rep_upload); $rep_path = $upload_folder->get_path($new_filename); if ($f_path && file_exists($rep_path . $f_path)) { $rep_path = $rep_path . $f_path . '/'; } if (file_exists($upload_folder->encoder_chaine($rep_path . $new_filename))) { $suffix = 1; $ext = extension_fichier($new_filename); $file = str_replace("." . $ext, "", basename($new_filename)); while (file_exists($upload_folder->encoder_chaine($rep_path . $file . "_" . $suffix . "." . $ext))) { $suffix++; } $new_filename = $file . "_" . $suffix . "." . $ext; } rename("{$base_path}/temp/" . $tmp_filename, $upload_folder->encoder_chaine($rep_path . $new_filename)); $path = $upload_folder->formate_path_to_save($upload_folder->formate_path_to_nom($rep_path)); $insert_sql = "INSERT INTO explnum (explnum_notice, explnum_bulletin, explnum_nom, explnum_nomfichier, explnum_mimetype, explnum_extfichier, explnum_vignette, explnum_repertoire, explnum_path, explnum_docnum_statut) VALUES ("; $insert_sql .= $f_notice_id . ","; $insert_sql .= $f_bulletin_id . ","; $insert_sql .= "'" . addslashes($f_nom) . "',"; $insert_sql .= "'" . addslashes($new_filename) . "',"; $insert_sql .= "'" . addslashes($mimetype) . "',"; $insert_sql .= "'" . addslashes($extension) . "',"; $insert_sql .= "'" . addslashes($vignette) . "',"; $insert_sql .= "'" . addslashes($rep_upload) . "',"; $insert_sql .= "'" . addslashes($path) . "',"; $insert_sql .= $f_statut; $insert_sql .= ")"; } else { $insert_sql = "INSERT INTO explnum (explnum_notice, explnum_bulletin, explnum_nom, explnum_nomfichier, explnum_mimetype, explnum_extfichier, explnum_data, explnum_vignette, explnum_docnum_statut) VALUES ("; $insert_sql .= $f_notice_id . ","; $insert_sql .= $f_bulletin_id . ","; $insert_sql .= "'" . addslashes($f_nom) . "',"; $insert_sql .= "'" . addslashes($new_filename) . "',"; $insert_sql .= "'" . addslashes($mimetype) . "',"; $insert_sql .= "'" . addslashes($extension) . "',"; $insert_sql .= "'" . addslashes($content) . "',"; $insert_sql .= "'" . addslashes($vignette) . "',"; $insert_sql .= $f_statut; $insert_sql .= ")"; } if (pmb_mysql_query($insert_sql, $dbh)) { $docnum_id = pmb_mysql_insert_id($dbh); if ($docnum_id) { $index = new indexation_docnum($docnum_id); $index->indexer(); } } /* $aCurl = new Curl(); $content = $aCurl->get($f_url); $content = $content->body; $origine=str_replace(" ","",microtime()); $origine=str_replace("0.","",$origine); $original_filename = basename($f_url); if( $filename != "") $afilename = $filename; else $afilename = $origine.$original_filename; if (!$original_filename) $original_filename = $afilename; file_put_contents("$base_path/temp/".$afilename, $content); */ /* $vignette = construire_vignette('', $afilename); create_tableau_mimetype(); $afilename_ext=extension_fichier($afilename); $mimetype = trouve_mimetype("$base_path/temp/".$afilename, $afilename_ext); $extension = strrchr($afilename, '.'); //si la source du connecteur est précisée, on regarde si on a pas un répertoire associé if ($source_id){ $check_rep = "select rep_upload from connectors_sources where source_id = ".$source_id; $res = pmb_mysql_query($check_rep); if(pmb_mysql_num_rows($res)){ $rep_upload = pmb_mysql_result($res,0,0); } } */ /* if($rep_upload != 0){ $upload_folder = new upload_folder($rep_upload); $rep_path = $upload_folder->get_path($afilename); if ($f_path && file_exists($rep_path.$f_path)) { $rep_path=$rep_path.$f_path.'/'; } copy("$base_path/temp/".$afilename,$rep_path.$afilename); $path =$upload_folder->formate_path_to_save($upload_folder->formate_path_to_nom($rep_path)); $insert_sql = "INSERT INTO explnum (explnum_notice, explnum_nom, explnum_nomfichier, explnum_mimetype, explnum_extfichier, explnum_vignette, explnum_repertoire, explnum_path) VALUES ("; $insert_sql .= $f_notice_id.","; $insert_sql .= "'".addslashes($f_nom)."',"; $insert_sql .= "'".addslashes($afilename)."',"; $insert_sql .= "'".addslashes($mimetype)."',"; $insert_sql .= "'".addslashes($extension)."',"; $insert_sql .= "'".addslashes($vignette)."',"; $insert_sql .= "'".addslashes($rep_upload)."',"; $insert_sql .= "'".addslashes($path)."'"; $insert_sql .= ")"; }else{ $insert_sql = "INSERT INTO explnum (explnum_notice, explnum_nom, explnum_nomfichier, explnum_mimetype, explnum_extfichier, explnum_data, explnum_vignette) VALUES ("; $insert_sql .= $f_notice_id.","; $insert_sql .= "'".addslashes($f_nom)."',"; $insert_sql .= "'".addslashes($afilename)."',"; $insert_sql .= "'".addslashes($mimetype)."',"; $insert_sql .= "'".addslashes($extension)."',"; $insert_sql .= "'".addslashes($content)."',"; $insert_sql .= "'".addslashes($vignette)."'"; $insert_sql .= ")"; } pmb_mysql_query($insert_sql, $dbh); unlink("$base_path/temp/".$afilename); */ } }
function analyse_file() { if ($this->tache_docnum_file) { create_tableau_mimetype(); $userfile_name = $this->tache_docnum_file['name']; $userfile_temp = $this->tache_docnum_file['tmp_name']; $userfile_moved = basename($userfile_temp); $userfile_name = preg_replace("/ |'|\\|\"|\\//m", "_", $userfile_name); $userfile_ext = ''; if ($userfile_name) { $userfile_ext = extension_fichier($userfile_name); } move_uploaded_file($userfile_temp, "./temp/" . $userfile_moved); $file_name = "./temp/" . $userfile_moved; $fp = fopen($file_name, "r"); $contenu = fread($fp, filesize($file_name)); fclose($fp); $mime = trouve_mimetype($userfile_moved, $userfile_ext); if (!$mime) { $mime = "application/data"; } $this->tache_docnum_mimetype = $mime; $this->tache_docnum_nomfichier = $userfile_name; $this->tache_docnum_extfichier = $userfile_ext; $this->tache_docnum_data = $contenu; unlink($file_name); } }
function create_docnum($doc) { global $bull_id; global $notice_id; $id_rep = 1; $rep = new upload_folder($id_rep); $name = $doc['nom_fic'] ? $doc['nom_fic'] : $doc['titre']; $filename = strtolower(implode("_", explode(" ", $name))); $filename = checkIfExist($rep->repertoire_path, $filename, $filename); file_put_contents($rep->repertoire_path . $filename, file_get_contents($doc['url'])); $ext_fichier = extension_fichier($filename); if ($doc['mimetype'] == "") { create_tableau_mimetype(); $mimetype = trouve_mimetype($filename, $ext_fichier); } else { $mimetype = $doc['mimetype']; } $insert = "insert into explnum set "; if ($bull_id != 0) { $insert .= "explnum_bulletin = {$bull_id}, "; } else { $insert .= "explnum_notice = {$notice_id}, "; } $insert .= "explnum_nom = '" . $doc['titre'] . "', "; $insert .= "explnum_mimetype = '{$mimetype}', "; $insert .= "explnum_nomfichier = '" . $filename . "', "; $insert .= "explnum_extfichier = '{$ext_fichier}', "; $insert .= "explnum_repertoire = {$id_rep}, "; $insert .= "explnum_path = '/'"; $result = mysql_query($insert); $explnum_id = mysql_insert_id(); return $explnum_id; }
function get_doc_num($explnum, $upload_folder) { global $pmb_set_time_limit, $dbh; $report = array(); if (SESSrights & ADMINISTRATION_AUTH) { @set_time_limit($pmb_set_time_limit); if (is_array($explnum) && $upload_folder) { $idLien = ''; if ($explnum['explnum_bulletin']) { $query = "SELECT 1 FROM bulletins WHERE bulletin_id=" . $explnum['explnum_bulletin']; $result = pmb_mysql_query($query, $dbh); if (pmb_mysql_num_rows($result)) { $idLien = 'explnum_bulletin=' . $explnum['explnum_bulletin']; } } elseif ($explnum['explnum_notice']) { $query = "SELECT 1 FROM notices WHERE notice_id=" . $explnum['explnum_notice']; $result = pmb_mysql_query($query, $dbh); if (pmb_mysql_num_rows($result)) { $idLien = 'explnum_notice=' . $explnum['explnum_notice']; } } if ($idLien) { if (file_exists($upload_folder . $explnum['explnum_nomfichier'])) { if (!$explnum['explnum_nom']) { $explnum['explnum_nom'] = $explnum['explnum_nomfichier']; } if (!$explnum['explnum_repertoire']) { $explnum['explnum_repertoire'] = '1'; } if (!$explnum['explnum_statut']) { $explnum['explnum_statut'] = '0'; } if (!$explnum['explnum_path']) { $explnum['explnum_path'] = '/'; } if (!$explnum['explnum_extfichier']) { $match = array(); if (preg_match('/.+\\.(.+)$/', $explnum['explnum_nomfichier'], $match)) { $explnum['explnum_extfichier'] = $match[1]; } } if (!$explnum['explnum_mimetype']) { $explnum['explnum_mimetype'] = trouve_mimetype($upload_folder . $explnum['explnum_nomfichier'], $explnum['explnum_extfichier']); } if (!$explnum['explnum_vignette']) { $explnum['explnum_vignette'] = reduire_image($upload_folder . $explnum['explnum_nomfichier']); } $query = 'INSERT INTO explnum SET ' . $idLien . ', explnum_nom="' . addslashes($explnum['explnum_nom']) . '", explnum_mimetype="' . addslashes($explnum['explnum_mimetype']) . '", explnum_extfichier="' . addslashes($explnum['explnum_extfichier']) . '", explnum_nomfichier="' . addslashes($explnum['explnum_nomfichier']) . '", explnum_vignette="' . addslashes($explnum['explnum_vignette']) . '", explnum_path="' . addslashes($explnum['explnum_path']) . '", explnum_repertoire="' . addslashes($explnum['explnum_repertoire']) . '", explnum_statut="' . addslashes($explnum['explnum_statut']) . '"'; pmb_mysql_query($query, $dbh); $explnum['explnum_id'] = pmb_mysql_insert_id($dbh); if ($explnum['explnum_id']) { //on récup le répertoire dans lequel envoyer le fichier $upload_repertoire = new upload_folder($explnum['explnum_repertoire']); if (!is_dir($upload_repertoire->decoder_chaine($upload_repertoire->repertoire_path))) { $report['error'][] = $this->msg['get_doc_num_upload_repertoire_do_not_exist']; //On efface l'entrée $query = 'DELETE FROM explnum WHERE explnum_id=' . $explnum['explnum_id']; pmb_mysql_query($query, $dbh); } if (!rename($upload_folder . $explnum['explnum_nomfichier'], $upload_repertoire->decoder_chaine($upload_repertoire->repertoire_path) . $explnum['explnum_nomfichier'])) { $report['error'][] = $this->msg['get_doc_num_rename_error']; //On efface l'entrée $query = 'DELETE FROM explnum WHERE explnum_id=' . $explnum['explnum_id']; pmb_mysql_query($query, $dbh); } else { //Réussi ici, on réindex et on incrémente le résultat $obj_explnum = new explnum($explnum['explnum_id']); $index = new indexation_docnum($explnum['explnum_id']); $index->indexer(); $report['info'] = 1; } } else { //erreur de déplacement ou de création $report['error'][] = $this->msg['get_doc_num_cant_create_explnum']; } } else { $report['error'][] = $this->msg['get_doc_num_file_not_found']; //On efface l'entrée $query = 'DELETE FROM explnum WHERE explnum_id=' . $explnum['explnum_id']; pmb_mysql_query($query, $dbh); } } else { //doc num sans id notice ou bulletin $report['error'][] = $this->msg['get_doc_num_missing_link']; } } else { //il manque un param $report['error'][] = $this->msg['get_doc_num_missing_param']; } } return $report; }
/** * Exécution du processus d'indexation */ function run_index() { if ($this->mimetype == 'URL') { //récupération par cURL $this->get_file_from_curl($this->file_url); create_tableau_mimetype(); $this->mimetype = trouve_mimetype($this->fichier); if (!$this->mimetype) { //Test sur l'extension du fichier $this->ext = extension_fichier($this->file_url); $this->mimetype = trouve_mimetype($this->file_url, $this->ext); } if (!$this->mimetype && $this->explnum_nomfichier) { //Test sur l'extension du fichier $this->ext = extension_fichier($this->explnum_nomfichier); $this->mimetype = trouve_mimetype($this->file_url, $this->ext); } if ($this->mimetype && !$this->ext) { $this->ext = extension_fichier($this->file_url); } if ($this->mimetype && $this->explnum_nomfichier && !$this->ext) { $this->ext = extension_fichier($this->explnum_nomfichier); } if (!$this->mimetype) { $this->mimetype = "URL"; } global $prefix_url_image; if ($prefix_url_image) { $tmpprefix_url_image = $prefix_url_image; } else { $tmpprefix_url_image = "./"; } if ($tmp = construire_vignette('', "", $this->file_url)) { $this->vignette = $tmp; } else { $this->vignette = construire_vignette('', $tmpprefix_url_image . "images/mimetype/" . icone_mimetype($this->mimetype, $this->ext)); } } else { //récupération dans la base $this->get_file($this->file_content); create_tableau_mimetype(); if (!$this->mimetype) { $this->mimetype = trouve_mimetype($this->fichier); } if (!$this->mimetype && $this->explnum_nomfichier) { //Test sur l'extension du fichier $this->ext = extension_fichier($this->explnum_nomfichier); $this->mimetype = trouve_mimetype($this->fichier, $this->ext); } } if (file_exists($this->fichier)) { //On parse le XML pour recupérer le nom de la classe $this->parse_xml(); //On choisit la classe correspondant au traitement du type MIME $this->choose_class($this->class_associee); } }
function get_file_from_temp($filename, $name, $upload_place) { global $base_path; global $ck_index; global $id_rep, $up_place; $up_place = $upload_place; create_tableau_mimetype(); $ck_index = true; //Initialisation des tableaux d'infos $this->infos_docnum = $this->params = array(); $this->infos_docnum["mime"] = trouve_mimetype($filename, extension_fichier($name)); $this->infos_docnum["nom"] = substr($name, 0, strrpos($name, ".")); if (!$this->infos_docnum["nom"]) { $this->infos_docnum["nom"] = $name; } $this->infos_docnum["notice"] = $this->explnum_notice; $this->infos_docnum["bull"] = $this->explnum_bulletin; $this->infos_docnum["url"] = ""; $this->infos_docnum["fic"] = false; $this->infos_docnum["contenu_vignette"] = construire_vignette('', substr($filename, strrpos($filename, "/"))); $this->infos_docnum["userfile_name"] = $name; $this->infos_docnum["userfile_ext"] = extension_fichier($name); if ($up_place && $id_rep != 0) { $upfolder = new upload_folder($id_rep); $chemin_hasher = "/"; if ($upfolder->isHashing()) { $rep = $upfolder->hachage($this->infos_docnum["userfile_name"]); @mkdir($rep); $chemin_hasher = $upfolder->formate_path_to_nom($rep); $file_name = $rep . $this->infos_docnum["userfile_name"]; $chemin = $upfolder->formate_path_to_save($chemin_hasher); } else { $file_name = $upfolder->get_path($this->infos_docnum["userfile_name"]) . $this->infos_docnum["userfile_name"]; $chemin = $upfolder->formate_path_to_save("/"); } $this->infos_docnum["path"] = $chemin; $file_name = $upfolder->encoder_chaine($file_name); if (!$this->explnum_nomfichier) { //Si je suis en création de fichier numérique $nom_tmp = $this->infos_docnum["userfile_name"]; $continue = true; $compte = 1; do { $query = "select explnum_notice,explnum_id from explnum where explnum_nomfichier = '" . addslashes($nom_tmp) . "' AND explnum_repertoire='" . $id_rep . "' AND explnum_path='" . addslashes($this->infos_docnum["path"]) . "'"; $result = mysql_query($query); if (mysql_num_rows($result) && mysql_result($result, 0, 0) != $this->infos_docnum["notice"]) { //Si j'ai déjà un document numérique avec ce fichier pour une autre notice je dois le renommer pour ne pas perdre l'ancien if (preg_match("/^(.+)(\\..+)\$/i", $this->infos_docnum["userfile_name"], $matches)) { $nom_tmp = $matches[1] . "_" . $compte . $matches[2]; } else { $nom_tmp = $this->infos_docnum["userfile_name"] . "_" . $compte; } $compte++; } else { if (mysql_num_rows($result)) { //J'ai déjà ce fichier pour cette notice //Je dois enlever l'ancien document numérique pour ne pas l'avoir en double $old_docnum = new explnum(mysql_result($result, 0, 1)); $old_docnum->delete(); } else { } $continue = false; } } while ($continue); if ($compte != 1) { $this->infos_docnum["userfile_name"] = $nom_tmp; if ($upfolder->isHashing()) { $file_name = $rep . $this->infos_docnum["userfile_name"]; } else { $file_name = $upfolder->get_path($this->infos_docnum["userfile_name"]) . $this->infos_docnum["userfile_name"]; } $file_name = $upfolder->encoder_chaine($file_name); } else { } } else { } rename($filename, $file_name); } else { //enregistrement en base $this->infos_docnum["contenu"] = file_get_contents($filename); } $this->params["maj_mimetype"] = true; $this->params["maj_data"] = true; $this->params["maj_vignette"] = true; }
/** * @param $name : file name * @param $filename : file name with path * @return Array : le tableau des métadonnées du fichier */ static function getMetadata($filename, $name) { \create_tableau_mimetype(); $mimetype = \trouve_mimetype($filename, extension_fichier($name)); if ($mimetype == "application/epub+zip") { //récupération de l'image $epub = new \epubData(realpath($filename)); //TODO : Vérifier la récupération des métadonnées d'un epub avec \extract_metas(), sinon rétablir les commentaires ici et le else plus bas // $tmp=array(); // $tmp=$epub->metas; // foreach($tmp as $key=>$val){ // $metas[strtoupper(substr($key,0,1)).substr($key,1)]=$val; // } $img = imagecreatefromstring($epub->getCoverContent()); $file = tempnam(sys_get_temp_dir(), "vign"); imagepng($img, $file); $entry['thumbnail_url'] = 'data:image/png;base64,' . base64_encode(file_get_contents($file)); unlink($file); } // else{ return \extract_metas(realpath($filename), $mimetype); // } }
function get_notice_by_meta($name, $filename) { global $pmb_keyword_sep; global $pmb_type_audit; global $webdav_current_user_name, $webdav_current_user_id; \create_tableau_mimetype(); $mimetype = \trouve_mimetype($filename, extension_fichier($name)); $notice_id = 0; $title = $cplt = $code = $pages = $year = $keywords = $url = $thumbnail_content = ""; //on commence avec la gymnatisque des métas... if ($mimetype == "application/epub+zip") { //pour les ebook, on gère ca directement ici ! $epub = new \epubData(realpath($filename)); $title = $epub->metas['title'][0]; $authors = $epub->metas['creator']; $co_authors = $epub->metas['contributor']; if ($epub->metas['identifier']['isbn']) { $code = \formatISBN($epub->metas['identifier']['isbn'], 13); } else { if ($epub->metas['identifier']['ean']) { $code = \EANtoISBN($epub->metas['identifier']['ean']); $code = \formatISBN($code, 13); } } if ($epub->metas['identifier']['uri']) { $url = \clean_string($epub->metas['identifier']['uri']); } $publisher = $epub->metas['publisher'][0]; $year = $epub->metas['date'][0]['value']; if (strlen($year) && strlen($year) != 4) { $year = \formatdate(detectFormatDate($year)); } $lang = $epub->metas['language']; $resume = implode("\n", $epub->metas['description']); $keywords = implode($pmb_keyword_sep, $epub->metas['subject']); //jouons à et si on trouvait a vignette... $img = imagecreatefromstring($epub->getCoverContent()); $file = tempnam(sys_get_temp_dir(), "vign"); imagepng($img, $file); $thumbnail_content = file_get_contents($file); unlink($file); } else { $metas = \extract_metas(realpath($filename), $mimetype); if ($metas['Title'] && $metas['Author'] && $metas['Subject']) { $title = $metas['Title']; $author = $metas['Author']; $cplt = $metas['Subject']; } else { // métas non fiable, on regarde avec le titre... $title = $name; } //date de création... if ($metas["CreateDate"]) { $year = substr($metas["CreateDate"], 0, 4); } //pages if ($metas['PageCount']) { $pages = $metas['PageCount']; } //keywords if ($metas['Keywords']) { foreach ($metas['Keywords'] as $keyword) { if ($keywords != "") { $keywords .= $pmb_keyword_sep; } $keywords .= $keyword; } } } $query = "select notice_id from notices where tit1 = '" . addslashes($title) . "'"; $result = mysql_query($query); if (mysql_num_rows($result)) { $notice_id = mysql_result($result, 0, 0); } if (!$notice_id) { //en cas d'une leture moyenne des infos, on s'assure d'avoir au moins un titre.... if (!$title) { $title = $name; } if ($publisher) { $ed_1 = \editeur::import(array('name' => $publisher)); } else { $ed_1 = 0; } $ind_wew = $title . " " . $cplt; $ind_sew = \strip_empty_words($ind_wew); $query = "insert into notices set \n\t\t\t\ttit1 = '" . addslashes($title) . "'," . ($code ? "code='" . $code . "'," : "") . "ed1_id = '" . $ed_1 . "'," . ($cplt ? "tit4 = '" . addslashes($cplt) . "'," : "") . ($pages ? "npages = '" . addslashes($pages) . "'," : "") . ($keywords ? "index_l = '" . addslashes($keywords) . "'," : "") . "\n\t\t\t\tyear = '" . $year . "',\n\t\t\t\tniveau_biblio='m', \n\t\t\t\tniveau_hierar='0',\n\t\t\t\tstatut = '" . $this->config['default_statut'] . "',\n\t\t\t\tindex_wew = '" . $ind_wew . "',\n\t\t\t\tindex_sew = '" . $ind_sew . "',\n\t\t\t\tn_resume = '" . addslashes($resume) . "',\n\t\t\t\tlien = '" . addslashes($url) . "',\n\t\t\t\tindex_n_resume = '" . \strip_empty_words($resume) . "'," . ($thumbnail_content ? "thumbnail_url = 'data:image/png;base64," . base64_encode($thumbnail_content) . "'," : "") . "create_date = sysdate(), \n\t\t\t\tupdate_date = sysdate()"; mysql_query($query); $notice_id = mysql_insert_id(); $sign = new \notice_doublon(); mysql_query("update notices set signature = '" . $sign->gen_signature($notice_id) . "' where notice_id = " . $notice_id); //traitement audit if ($pmb_type_audit) { $query = "INSERT INTO audit SET "; $query .= "type_obj='1', "; $query .= "object_id='{$notice_id}', "; $query .= "user_id='{$webdav_current_user_id}', "; $query .= "user_name='{$webdav_current_user_name}', "; $query .= "type_modif=1 "; $result = @mysql_query($query); } if (count($authors)) { $i = 0; foreach ($authors as $author) { $aut = array(); if ($author['file-as']) { $infos = explode(",", $author['file-as']); $aut = array('name' => $infos[0], 'rejete' => $infos[1], 'type' => 70); } if (!$aut['name']) { $aut = array('name' => $author['value'], 'type' => 70); } $aut_id = \auteur::import($aut); if ($aut_id) { $query = "insert into responsability set \n\t\t\t\t\t\t\tresponsability_author = '" . $aut_id . "',\n\t\t\t\t\t\t\tresponsability_notice = '" . $notice_id . "',\n\t\t\t\t\t\t\tresponsability_type = '0'"; mysql_query($query); $i++; } } } if (count($co_authors)) { foreach ($co_authors as $author) { $aut = array(); if ($author['file-as']) { $infos = explode(",", $author['file-as']); $aut = array('name' => $infos[0], 'rejete' => $infos[1], 'type' => 70); } if (!$aut['name']) { $aut = array('name' => $author['value'], 'type' => 70); } $aut_id = \auteur::import($aut); if ($aut_id) { $query = "insert into responsability set \n\t\t\t\t\t\t\tresponsability_author = '" . $aut_id . "',\n\t\t\t\t\t\t\tresponsability_notice = '" . $notice_id . "',\n\t\t\t\t\t\t\tresponsability_type = '0',\n\t\t\t\t\t\t\trepsonsability_ordre = '" . $i . "'"; mysql_query($query); $i++; } } } } return $notice_id; }