示例#1
0
 function show_form_task($planificateur_id = "")
 {
     global $charset, $base_path, $msg;
     global $planificateur_form, $act, $type_task_id, $subaction;
     foreach ($this->types_taches as $type) {
         if ($type->id_type == $type_task_id) {
             $comment = $type->comment;
             $name = $type->name;
             $dir_upload_boolean = $type->dir_upload_boolean;
         }
     }
     // Inclusion de la classe spécifique
     if (is_file($base_path . '/admin/planificateur/' . $name . '/' . $name . '.class.php')) {
         require_once $base_path . '/admin/planificateur/' . $name . '/' . $name . '.class.php';
         eval("\$a_task=new " . $name . "();");
         //Récupération des données du formulaire
         if ($subaction == "change") {
             global $task_name, $task_desc, $form_users, $task_active, $id_rep, $path;
             global $task_perio_heure, $task_perio_min, $chkbx_task_quotidien, $chkbx_task_hebdo, $chkbx_task_mensuel;
             global $timeout, $radio_histo_day_number, $histo_day, $histo_number, $restart_on_failure, $alert_mail_on_failure, $mail_on_failure;
             $libelle_tache = stripslashes($task_name);
             $desc_tache = stripslashes($task_desc);
             $perio_heure = $task_perio_heure;
             $statut = $task_active;
             $rep_upload = $id_rep ? $id_rep : "";
             $chemin_upload = $path ? $path : "";
             $perio_heure = $task_perio_heure;
             $perio_minute = $task_perio_min;
             $perio_jour_mois = $chkbx_task_quotidien;
             $perio_jour = $chkbx_task_hebdo;
             $perio_mois = $chkbx_task_mensuel;
             $param["timeout"] = $timeout;
             $param["histo_day"] = $histo_day;
             $param["histo_number"] = $histo_number;
             $param["restart_on_failure"] = $restart_on_failure;
             $param["alert_mail_on_failure"] = $alert_mail_on_failure . ($mail_on_failure ? "," . $mail_on_failure : "");
         } else {
             //Récupération des données de la base
             $a_task->fetch_global_properties();
             $tab_properties = $a_task->get_property_task_bdd($planificateur_id);
             if (isset($tab_properties)) {
                 if (is_array($tab_properties)) {
                     foreach ($tab_properties as $atab_properties => $atab_propertiesv) {
                         //							global $$atab_properties;
                         ${$atab_properties} = $atab_propertiesv;
                     }
                 }
             }
         }
         //form spécifique
         $form_specific_task = $a_task->show_form($param);
     } else {
         $form_specific_task = "";
     }
     $planificateur_form = str_replace("!!script_js!!", "\n\t\t\t<script type='text/javascript' src='./javascript/select.js'></script>\n\t\t\t<script type='text/javascript' src='./javascript/upload.js'></script>", $planificateur_form);
     $planificateur_form = str_replace("!!submit_action!!", "return checkForm();", $planificateur_form);
     $planificateur_form = str_replace("!!libelle_type_task!!", $comment, $planificateur_form);
     $planificateur_form = str_replace("!!task_name!!", htmlentities($libelle_tache, ENT_QUOTES, $charset), $planificateur_form);
     $planificateur_form = str_replace("!!task_desc!!", htmlentities($desc_tache, ENT_QUOTES, $charset), $planificateur_form);
     $rqt_user = mysql_query("select esuser_id, esuser_username from es_esusers");
     $form_users = "<select name='form_users'>";
     while ($row = mysql_fetch_object($rqt_user)) {
         if ($row->esuser_id == $num_user) {
             $form_users .= "<option value='" . $row->esuser_id . "' selected>" . $row->esuser_username . "</option>";
         } else {
             $form_users .= "<option value='" . $row->esuser_id . "'>" . $row->esuser_username . "</option>";
         }
     }
     $form_users .= "</select>";
     if (mysql_num_rows($rqt_user) == 0) {
         $form_users .= "* " . $msg["planificateur_task_users_unknown"];
     }
     $planificateur_form = str_replace("!!task_users!!", $form_users, $planificateur_form);
     $planificateur_form = str_replace("!!task_statut!!", "<input type='checkbox' name='task_active' id='task_active' value='" . $statut . "' " . ($statut != "0" ? " checked " : "''") . " onchange='changeStatut();'/>", $planificateur_form);
     //ce type de tâche nécessite-t-il d'un répertoire d'upload pour les documents numériques?
     if ($dir_upload_boolean != "0") {
         $up = new upload_folder($rep_upload);
         if ($subaction == 'change') {
             $nom_chemin = $up->formate_path_to_nom($chemin_upload);
         } else {
             $nom_chemin = $up->formate_nom_to_path($up->repertoire_nom . $path_upload);
         }
         $planificateur_form = str_replace("!!div_upload!!", "<div class='row'>\n\t\t\t\t<div class='colonne3'><label for='timeout'/>" . $msg["print_numeric_ex_title"] . "</label></div>\n\t\t\t\t\t\t<div class='colonne_suite'>\n\t\t\t\t\t\t\t" . $msg["planificateur_upload"] . " : \n\t\t\t\t\t\t\t<input type='text' name='path' id='path' value='!!path!!' class='saisie-50emr' READONLY />\n\t\t\t\t\t\t\t<input type='button' id='upload_path' class='bouton' onclick='upload_openFrame(event)' value='...' name='upload_path' />\n\t\t\t\t\t\t\t<input id='id_rep' type='hidden' value='!!id_rep!!' name='id_rep' /> \n\t\t\t\t\t\t</div>\n\t\t\t\t</div>", $planificateur_form);
     } else {
         $planificateur_form = str_replace("!!div_upload!!", "", $planificateur_form);
     }
     $planificateur_form = str_replace('!!path!!', htmlentities($nom_chemin, ENT_QUOTES, $charset), $planificateur_form);
     $planificateur_form = str_replace('!!id_rep!!', htmlentities($rep_upload, ENT_QUOTES, $charset), $planificateur_form);
     $planificateur_form = str_replace("!!task_perio_heure!!", "<input type='text' id='task_perio_heure' name='task_perio_heure' value='" . $perio_heure . "' class='saisie-5em'/>", $planificateur_form);
     $planificateur_form = str_replace("!!task_perio_min!!", "<input type='text' id='task_perio_min' name='task_perio_min' value='" . $perio_minute . "' class='saisie-5em'/>", $planificateur_form);
     $planificateur_form = str_replace("!!help!!", "<a onclick='openPopUp(\"./admin/planificateur/help.php?action_help=configure_time\",\"help\",500,600,-2,-2,\"scrollbars=yes,menubar=0\"); w.focus(); return false;' href='#'>\n\t\t\t<img border='0' align='center' title='Aide...' alt='Aide...' src='" . $base_path . "/images/aide.gif' /></a>", $planificateur_form);
     $perio_quotidien .= "<input type='checkbox' id='chkbx_task_quotidien_0' name='chkbx_task_quotidien[]'  value='*' " . ($perio_jour_mois[0] == '*' ? "checked" : "''") . " onchange='changePerio(\"*\",\"chkbx_task_quotidien\",31);'> " . $msg["planificateur_task_all_days_of_month"] . "</input>";
     for ($i = 1; $i <= 31; $i++) {
         $cochee = false;
         for ($j = 0; $j < sizeof($perio_jour_mois); $j++) {
             if ($perio_jour_mois[$j] == $i) {
                 $cochee = true;
             }
         }
         $perio_quotidien .= "<input type='checkbox' id='chkbx_task_quotidien_" . $i . "' name='chkbx_task_quotidien[]'  value='" . $i . "' " . ($cochee == true ? "checked" : "''") . " onchange='changePerio({$i},\"chkbx_task_quotidien\",31);'/> " . $i . " ";
         if ($i == 15) {
             $perio_quotidien .= "<br />";
         }
     }
     $planificateur_form = str_replace("!!task_perio_quotidien!!", $perio_quotidien, $planificateur_form);
     $perio_hebdo .= "<input type='checkbox' id='chkbx_task_hebdo_0' name='chkbx_task_hebdo[]'  value='*' " . ($perio_jour[0] == '*' ? "checked" : "''") . " onchange='changePerio(\"*\",\"chkbx_task_hebdo\",7);'> " . $msg["planificateur_task_all_days"] . "</input>";
     for ($i = 1; $i <= 7; $i++) {
         $cochee = false;
         for ($j = 0; $j < sizeof($perio_jour); $j++) {
             if ($perio_jour[$j] == $i) {
                 $cochee = true;
             }
         }
         $perio_hebdo .= "<input type='checkbox' id='chkbx_task_hebdo_" . $i . "' name='chkbx_task_hebdo[]'  value='" . $i . "' " . ($cochee == true ? "checked" : "''") . " onchange='changePerio({$i},\"chkbx_task_hebdo\",7);'/> " . $msg["week_days_{$i}"];
         if ($i == 3) {
             $perio_hebdo .= "<br />";
         }
     }
     $planificateur_form = str_replace("!!task_perio_hebdo!!", $perio_hebdo, $planificateur_form);
     $perio_mensuel .= "<input type='checkbox' id='chkbx_task_mensuel_0' name='chkbx_task_mensuel[]'  value='*' " . ($perio_mois[0] == '*' ? " checked " : "''") . " onchange='changePerio(\"*\",\"chkbx_task_mensuel\",12);'> " . $msg["planificateur_task_all_months"] . "</input>";
     for ($i = 1; $i <= 12; $i++) {
         $cochee = false;
         for ($j = 0; $j < sizeof($perio_mois); $j++) {
             if ($perio_mois[$j] == $i) {
                 $cochee = true;
             }
         }
         $perio_mensuel .= "<input type='checkbox' id='chkbx_task_mensuel_" . $i . "' name='chkbx_task_mensuel[]'  value='" . $i . "' " . ($cochee == true ? "checked" : "''") . " onchange='changePerio({$i},\"chkbx_task_mensuel\",12);'> " . ucfirst($msg[$i + 1005]) . "</input>";
         if ($i == 6) {
             $perio_mensuel .= "<br />";
         }
     }
     $planificateur_form = str_replace("!!task_perio_mensuel!!", $perio_mensuel, $planificateur_form);
     $planificateur_form = str_replace("!!timeout!!", $param["timeout"], $planificateur_form);
     $planificateur_form = str_replace("!!histo_day_checked!!", $param["histo_day"] != "" ? " checked " : "", $planificateur_form);
     $planificateur_form = str_replace("!!histo_number_checked!!", $param["histo_number"] != "" ? " checked " : "", $planificateur_form);
     $planificateur_form = str_replace("!!histo_day!!", $param["histo_day"], $planificateur_form);
     $planificateur_form = str_replace("!!histo_day_visible!!", $param["histo_day"] == "" ? "disabled" : "", $planificateur_form);
     $planificateur_form = str_replace("!!histo_number!!", $param["histo_number"], $planificateur_form);
     $planificateur_form = str_replace("!!histo_number_visible!!", $param["histo_number"] == "" ? "disabled" : "", $planificateur_form);
     $planificateur_form = str_replace("!!restart_on_failure_checked!!", $param["restart_on_failure"] ? " checked " : "", $planificateur_form);
     $params_alert_mail = explode(",", $param["alert_mail_on_failure"]);
     $planificateur_form = str_replace("!!alert_mail_on_failure_checked!!", $params_alert_mail[0] ? " checked " : "", $planificateur_form);
     $planificateur_form = str_replace("!!mail_on_failure!!", $params_alert_mail[1], $planificateur_form);
     //Inclusion du formulaire spécifique au type de tâche
     $planificateur_form = str_replace("!!specific_form!!", $form_specific_task, $planificateur_form);
     if ($act == "task_duplicate") {
         $planificateur_id = 0;
     }
     if (!$planificateur_id) {
         $bt_save = $base_path . "/admin.php?categ=planificateur&sub=manager&act=task&type_task_id=" . $type_task_id;
         $bt_duplicate = "";
         $bt_suppr = "";
     } else {
         $bt_save = $base_path . "/admin.php?categ=planificateur&sub=manager&act=task&type_task_id=" . $type_task_id . "&planificateur_id=" . $planificateur_id;
         $bt_duplicate = "<input type='button' class='bouton' value='" . $msg["tache_duplicate_bouton"] . "' onclick='document.location=\"./admin.php?categ=planificateur&sub=manager&act=task_duplicate&type_task_id=" . $type_task_id . "&planificateur_id=" . $planificateur_id . "\"' />";
         $bt_suppr = "<input type='button' class='bouton' value='" . $msg["63"] . "' onClick='location.href=\"{$base_path}/admin.php?categ=planificateur&sub=manager&act=task_del&type_task_id={$type_task_id}&planificateur_id=" . $planificateur_id . "\"'/>";
     }
     $planificateur_form = str_replace("!!bt_save!!", $bt_save, $planificateur_form);
     $planificateur_form = str_replace("!!bt_duplicate!!", $bt_duplicate, $planificateur_form);
     $planificateur_form = str_replace("!!bt_supprimer!!", $bt_suppr, $planificateur_form);
     return $planificateur_form;
 }
示例#2
0
 /**
  * Construit les noeuds de l'arborescence
  */
 function getNodes($chemin = '', $id, &$tree)
 {
     if ($chemin && is_dir($chemin)) {
         if (($files = @scandir($chemin)) !== false) {
             for ($i = 0; $i < sizeof($files); $i++) {
                 if ($files[$i] != '.' && $files[$i] != '..') {
                     $id_noeud = $id . "_" . $i;
                     $id_parent = $id;
                     $dir_name = $files[$i];
                     $path = $chemin . $dir_name . "/";
                     if (is_dir($path)) {
                         $id_copy = explode("_", $id_parent);
                         $up = new upload_folder($id_copy[1]);
                         //$tree .= "tab_libelle[\"$id_noeud\"] = \"".$up->decoder_chaine(addslashes($up->formate_path_to_nom($path))). "\";";
                         $tree .= "tab_libelle[\"{$id_noeud}\"] = \"" . addslashes($up->formate_path_to_nom($chemin) . $up->decoder_chaine($dir_name) . "/") . "\";";
                         $tree .= "_dt_fiel_.add('{$id_noeud}','{$id_parent}','" . addslashes($up->decoder_chaine($dir_name)) . "','','javascript:copy_to_div(\\'" . $id_noeud . "\\',\\'" . $up->repertoire_id . "\\');');\n";
                         $this->getNodes($path, $id_noeud, $tree);
                     }
                 }
             }
         }
     }
     return $tree;
 }
示例#3
0
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);	
        */
    }
}
示例#4
0
 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;
 }