Exemplo n.º 1
0
/**
 * Plugin SkelEditor
 * Editeur de squelette en ligne
 * (c) 2007-2010 erational
 * Licence GPL-v3
 *
 */

function action_skeleditor_new_from_dist(){
	$securiser_action = charger_fonction('securiser_action','inc');
	$arg = $securiser_action();

	// $arg est le fichier que l'on veut personaliser
	if (strncmp($arg,_DIR_RACINE,strlen(_DIR_RACINE)!==0))
		$arg = _DIR_RACINE.$arg;

	include_spip('inc/skeleditor');
	$file = skeleditor_nom_copie($arg);
	if ($file){
		include_spip('inc/skeleditor');
		$path_base = skeleditor_path_editable();
		list($chemin,) = skeleditor_cree_chemin($path_base, $file);
		if ($chemin){
			$file = basename($file);

			if (!file_exists($chemin . $file)) {
				lire_fichier($arg, $contenu);
				ecrire_fichier($chemin . $file, skeleditor_commente_copie($arg,$contenu));
			}

			if (file_exists($f=$chemin.$file))
				$GLOBALS['redirect'] = parametre_url(_request('redirect'),'f',$f);
		}
	}

}
Exemplo n.º 2
0
function skeleditor_verifie_nouveau_nom($path_base,$filename,$img=false){
	$erreur = "";
	if (strpos($filename,'../')!==FALSE){
		$erreur = _T('skeleditor:erreur_sansgene'); // fichier existe deja
	}
	elseif (file_exists($path_base.$filename))
		$erreur = _T('skeleditor:erreur_overwrite'); // fichier existe deja
	else{
		if (!preg_match(",[.]("._SE_EXTENSIONS.")$,i", $filename)
			OR (!$img AND preg_match(",[.]("._SE_EXTENSIONS_IMG.")$,i", $filename)))
			$erreur = _T('skeleditor:erreur_type_interdit');

		else {
			list($chemin,$echec) = skeleditor_cree_chemin($path_base,$filename);
			if (!$chemin)
				if (!is_dir($echec))
					$erreur = _T('skeleditor:erreur_creation_sous_dossier',array('dir'=>joli_repertoire("$echec")));
				else
					$erreur = _T('skeleditor:erreur_ecrire_dans_sous_dossier',array('dir'=>joli_repertoire("$echec")));
		}
	}
	return $erreur;
}