function exec_spiplistes_aide () { global $spip_lang; spiplistes_debug_log('exec_spiplistes_aide()'); $var_lang = _request('var_lang'); if (!changer_langue($var_lang)) { $var_lang = $spip_lang; changer_langue($var_lang); } $info = spiplistes_plugin_get_infos(spiplistes_get_meta_dir(_SPIPLISTES_PREFIX)); $nom = typo($info['nom']); $version = typo($info['version']); $f_lang = _DIR_PLUGIN_SPIPLISTES . 'docs/'._SPIPLISTES_EXEC_PREFIX.'aide_'.$var_lang.'html'; $fichier_aide_spiplistes = is_readable($f_lang) ? $f_lang : _DIR_PLUGIN_SPIPLISTES . 'docs/'._SPIPLISTES_EXEC_PREFIX.'aide_fr.html' ; if($content = file_get_contents($fichier_aide_spiplistes)) { // corrige les liens images $content = str_replace('../img_docs/', _DIR_PLUGIN_SPIPLISTES.'img_docs/', $content); // place les vars $pattern = array( '/@spiplistes_name@/' ,'/@spiplistes_version@/' ,'/\$LastChangedDate:/' ,'/\$EndLastChangedDate/' ,'/@_aide@/' ); $replacement = array( $nom , $version , '' , '' , _T('spiplistes:_aide') ); $content = preg_replace($pattern, $replacement, $content); echo($content); } else { aide_spiplistes_erreur(); } }
function spiplistes_real_tag_get ($prefix, $s) { include_spip('inc/plugin'); $dir = spiplistes_get_meta_dir($prefix); $f = _DIR_PLUGINS.$dir.'/'._FILE_PLUGIN_CONFIG; if(is_readable($f) && ($c = file_get_contents($f))) { $p = array("/<!--(.*?)-->/is","/<\/".$s.">.*/s","/.*<".$s.">/s"); $r = array("","",""); $r = preg_replace($p, $r, $c); } return(!empty($r) ? $r : false); }
function spiplistes_current_svnrevision_get ($prefix, $verifier_svn) { static $svn_revision = false; if(!empty($prefix)) { // lire directement dans plugin.xml (eviter le cache ?) $dir_plugin = _DIR_PLUGINS.spiplistes_get_meta_dir($prefix); // cherche si sur version svn if(!$result = version_svn_courante($dir_plugin)) { // mefiance: il faut que svn/entries soit a jour (svn update sur le poste de travail/serveur !) // si pas de svn/entries, lire l'attribut dans plugin.xml $file = $dir_plugin."/"._FILE_PLUGIN_CONFIG; $result = spiplistes_svn_revision_read($file); } if($verifier_svn && !$svn_revision) { // verifier les fichiers inclus (gourmand et peut-etre trompeur si fichier fantome ?) // ne verifier que sur deux niveaux (PLUGIN_ROOT et ses repertoires directs, pas en dessous) define("_PGL_SVN_LIRE_EXTENSIONS", "css|html|js|php|xml"); $script_files = array(); if(is_dir($dir_plugin) && ($dh = opendir($dir_plugin))) { while (($file = readdir($dh)) !== false) { if($file[0] == ".") continue; if(is_dir($dir_plugin_sub = $dir_plugin."/".$file) && ($dh_s = opendir($dir_plugin_sub))) { while (($file = readdir($dh_s)) !== false) { if($file[0] == ".") continue; if(preg_match('=\.('._PGL_SVN_LIRE_EXTENSIONS.')$=i', $file)) { $script_files[] = $dir_plugin_sub."/".$file; } } closedir($dh_s); } else if(preg_match('=\.('._PGL_SVN_LIRE_EXTENSIONS.')$=i', $file)) { $script_files[] = $dir_plugin."/".$file; } } closedir($dh); } foreach($script_files as $file) { if(!$ii = spiplistes_svn_revision_read ($file)) { continue; } $result = max($ii, $result); } } if(!empty($result) && (intval($result) > 0)) return($result); } return(false); } // end spiplistes_current_svnrevision_get()