Example #1
0
				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&nbsp;:</p>\n";
		echo "<INPUT TYPE=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"512000\">";
Example #2
0
/** 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;
}