echo "<a href='".$_SERVER['PHP_SELF']."?num_fich=$i' title=\"Effectuer un publipostage OOo avec ce fichier modèle\">".$tab_file[$i]."</a> - <a href='mes_modeles/".$_SESSION['login']."/".$tab_file[$i]."' target='_blank'><img src='../images/edit16.png' width='16' height='16' title=\"Éditer le fichier ".$tab_file[$i]."\" /></a> - <a href='".$_SERVER['PHP_SELF']."?suppr_fich=$i".add_token_in_url()."'><img src='../images/delete16.png' width='16' height='16' title=\"Supprimer le fichier ".$tab_file[$i]."\" /></a><br />"; } echo "</p>\n"; } } else { $creation=mkdir($path); if(!$creation) { echo "<p style='color:red;'>ERREUR lors de la création de votre dossier de modèle OpenOffice.org</p>\n"; require_once("../lib/footer.inc.php"); die(); } } if(!file_exists($path."/index.html")) { if(!creation_index_redir_login($path,1)) { echo "<p style='color:red;'>ERREUR lors de la création d'un index dans votre dossier de modèle OpenOffice.org</p>\n"; } } $upload_modele_ooo_autorise="n"; if($_SESSION['statut']=='administrateur') {$upload_modele_ooo_autorise="y";} elseif(($_SESSION['statut']=='scolarite')&&(getSettingValue('OOoUploadScol')=='yes')) {$upload_modele_ooo_autorise="y";} elseif(($_SESSION['statut']=='cpe')&&(getSettingValue('OOoUploadCpe')=='yes')) {$upload_modele_ooo_autorise="y";} elseif(($_SESSION['statut']=='professeur')&&(getSettingValue('OOoUploadProf')=='yes')) {$upload_modele_ooo_autorise="y";} if($upload_modele_ooo_autorise=='y') { echo "<form method='post' ENCTYPE='multipart/form-data' action='".$_SERVER['PHP_SELF']."'>\n"; echo add_token_field(); echo "<p>Mettre en place un nouveau modèle :</p>\n"; echo "<INPUT TYPE=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"512000\">";
/** Fonction destinée à récupérer les images de formules mathématiques générées * sur http://latex.codecogs.com/ * Cela évite de faire une requête vers le site http://latex.codecogs.com/ pour * chaque image et assure que lors de l'archivage, les images resteront * disponibles même si le site http://latex.codecogs.com/ cesse de fonctionner. * * @param string $texte Le texte à traiter * @param integer $id_groupe L'identifiant du groupe * @param string $type_notice Le type de notice * ('c' pour compte-rendu et 't' pour travail à faire) * @return string La chaine corrigée après téléchargement des images vers * ../documents/cl$idgroupe ou ../documents/cl_dev$idgroupe */ function get_img_formules_math($texte, $id_groupe, $type_notice = "c") { global $multisite; $contenu_cor = $texte; if (preg_match('|src="http://latex.codecogs.com/|', $contenu_cor) || preg_match('|src="https://latex.codecogs.com/|', $contenu_cor)) { $niv_arbo_tmp = 2; $dest_documents = '../documents/'; $dossier = ''; $multi = isset($multisite) && $multisite == 'y' ? $_COOKIE['RNE'] . '/' : NULL; if (isset($multisite) && $multisite == 'y' && is_dir('../documents/' . $multi) === false) { @mkdir('../documents/' . $multi); $dest_documents .= $multi; $niv_arbo_tmp++; } elseif (isset($multisite) && $multisite == 'y') { $dest_documents .= $multi; $niv_arbo_tmp++; } //$type_notice="c"; if ($type_notice == 'c') { $dest_documents .= "/cl" . $id_groupe; } else { $dest_documents .= "/cl_dev" . $id_groupe; } if (!file_exists($dest_documents)) { mkdir($dest_documents); creation_index_redir_login($dest_documents, $niv_arbo_tmp); } $chaine = ""; $tab_tmp = preg_split('/"/', $contenu_cor); for ($loop = 0; $loop < count($tab_tmp); $loop++) { if (preg_match("|^http://latex.codecogs.com/|", $tab_tmp[$loop]) || preg_match("|^https://latex.codecogs.com/|", $tab_tmp[$loop])) { $erreur = "n"; $extension_fichier_formule = "gif"; if (preg_match("|^http://latex.codecogs.com/gif.latex|", $tab_tmp[$loop]) || preg_match("|^https://latex.codecogs.com/gif.latex|", $tab_tmp[$loop])) { $extension_fichier_formule = "gif"; } elseif (preg_match("|^http://latex.codecogs.com/png.latex|", $tab_tmp[$loop]) || preg_match("|^https://latex.codecogs.com/png.latex|", $tab_tmp[$loop])) { $extension_fichier_formule = "png"; } elseif (preg_match("|^http://latex.codecogs.com/swf.latex|", $tab_tmp[$loop]) || preg_match("|^https://latex.codecogs.com/swf.latex|", $tab_tmp[$loop])) { $extension_fichier_formule = "swf"; } elseif (preg_match("|^http://latex.codecogs.com/emf.latex|", $tab_tmp[$loop]) || preg_match("|^https://latex.codecogs.com/emf.latex|", $tab_tmp[$loop])) { $extension_fichier_formule = "emf"; } elseif (preg_match("|^http://latex.codecogs.com/pdf.latex|", $tab_tmp[$loop]) || preg_match("|^https://latex.codecogs.com/pdf.latex|", $tab_tmp[$loop])) { $extension_fichier_formule = "pdf"; } elseif (preg_match("|^http://latex.codecogs.com/svg.latex|", $tab_tmp[$loop]) || preg_match("|^https://latex.codecogs.com/svg.latex|", $tab_tmp[$loop])) { $extension_fichier_formule = "svg"; } // Eviter les doublons: $nom_tmp = strftime("%Y%m%d_%H%M%S"); $nom_tmp0 = $nom_tmp; $cpt = 1; while (file_exists($dest_documents . "/" . $nom_tmp . "." . $extension_fichier_formule)) { $nom_tmp = $nom_tmp0 . "_" . $cpt; if ($cpt > 100) { $erreur = "y"; } $cpt++; } // Telechargement du fichier: if ($erreur == "n") { $morceau_courant = $dest_documents . "/" . $nom_tmp . "." . $extension_fichier_formule; // On a tendance à récupérer des chemins du type ../documents//cl2675/20131101_142603.gif // Le // n'est pas très propre... $morceau_courant = preg_replace("|/{2,}|", "/", $morceau_courant); /* $f=fopen("/tmp/formule.txt", "a+"); fwrite($f, strftime('%Y%m%d %H%M%S')." : ".$morceau_courant."\n"); fclose($f); */ if (!copy($tab_tmp[$loop], $morceau_courant)) { $morceau_courant = $tab_tmp[$loop]; } } else { $morceau_courant = $tab_tmp[$loop]; } } else { $morceau_courant = $tab_tmp[$loop]; } // On complète la chaine du contenu de la notice: if ($chaine != "") { $chaine .= "\""; } $chaine .= $morceau_courant; } $contenu_cor = $chaine; } return $contenu_cor; }