コード例 #1
0
ファイル: spiplistes_aide.php プロジェクト: rhertzog/lcs
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();
	}
}
コード例 #2
0
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);
}
コード例 #3
0
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()