コード例 #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);
		}
	}

}
コード例 #2
0
function formulaires_editer_squelette_traiter_dist($path_base, $fichier){
	$res = array();
	if ($fichier){
		list($content,$type,$ctrl) = skeleditor_get_file_content_type_ctrl($fichier);
		if ($type=='txt'){
			$code = _request('code');
			if (_request('copie_squelette')){
				$code = skeleditor_commente_copie($fichier,$code);
				$fichier = $path_base._request('filename');
				$res['redirect'] = parametre_url(self(),'f',$fichier);
			}
			if (ecrire_fichier($fichier,$code))
				$res['message_ok'] = _T('skeleditor:fichier_enregistre');
			else
				$res['message_erreur'] = _T('skeleditor:erreur_ecriture_fichier');
		}
		elseif(_request('copie_squelette')){
			$dest = $path_base._request('filename');
			copy($fichier, $dest);
			$fichier = $dest;
			$res['redirect'] = parametre_url(self(),'f',$fichier);
		}
		if (!isset($res['message_erreur'])
			AND $filename=_request('filename')
			AND $path_base.$filename!=$fichier
			AND autoriser('modifier','squelette',$fichier)){
			if (rename($fichier, $path_base.$filename)){
				$res['redirect'] = parametre_url(self(),'f',$path_base.$filename);
			}
		}
	}
	elseif ($filename=_request('filename')) {
		if (ecrire_fichier($path_base.$filename,"")){
			$res['message_ok'] = _T('skeleditor:fichier_enregistre');
			$res['redirect'] = parametre_url(self(),'f',$path_base.$filename);
		}
	}

	return $res;
}