/** * 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); } } }
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; }