function construire_vignette($vignette_name = '', $userfile_name = '', $url = '') { if ($vignette_name) { $contenu_vignette = reduire_image($vignette_name); } elseif ($userfile_name) { $contenu_vignette = reduire_image($userfile_name); } elseif ($url) { $contenu_vignette = reduire_image($url); } else { $contenu_vignette = ""; } return $contenu_vignette; }
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; }