Exemplo n.º 1
0
function cextras_types_formulaires(){
	$types = array();

	foreach(_chemin() as $dir) {
		if (@is_dir($s = $dir.'extra-saisies/')) {
			foreach(preg_files($s, '.*.html$') as $saisie) {
				$type = basename($saisie,'.html');
				$types[$type] = array(
					'nom' => _T('cextras:type', array('type' => $type))
				);
			}
		}
	}
	return $types;
}
Exemplo n.º 2
0
/**
 * Retourne la liste des chemins connus de SPIP, dans l'ordre de priorité
 *
 * Recalcule la liste si le nom ou liste de dossier squelettes a changé.
 *
 * @uses _chemin()
 *
 * @return array Liste de chemins
**/
function creer_chemin()
{
    $path_a = _chemin();
    static $c = '';
    // on calcule le chemin si le dossier skel a change
    if ($c != $GLOBALS['dossier_squelettes']) {
        // assurer le non plantage lors de la montee de version :
        $c = $GLOBALS['dossier_squelettes'];
        $path_a = _chemin('');
        // forcer un recalcul du chemin
    }
    return $path_a;
}
Exemplo n.º 3
0
 * Test unitaire des raccourcis Markdown dans SPIP
 *
 */
$test = 'tw_propre_typo';
$remonte = "../";
while (!is_dir($remonte . "ecrire")) {
    $remonte = "../{$remonte}";
}
require $remonte . 'tests/test.inc';
find_in_path("inc/texte.php", '', true);
$GLOBALS['spip_lang'] = 'fr';
// corrections typo
$GLOBALS['class_spip_plus'] = '';
$GLOBALS['class_spip'] = '';
// ajouter le dossier squelettes de test au chemin
_chemin(_DIR_PLUGIN_TW . "tests/squelettes/");
$notes = charger_fonction("notes", "inc");
function propre_notes($texte)
{
    global $notes;
    $texte = propre($texte);
    if ($r = $notes(array())) {
        $texte .= "<div class='notes'>{$r}</div>";
        $notes('', 'depiler');
        $notes('', 'empiler');
    }
    return $texte;
}
//
// hop ! on y va
//
Exemplo n.º 4
0
			foreach ($array1 as $key => $value){
				// create new key in $array, if it is empty or not an array
				if (!isset($array[$key]) || (isset($array[$key]) && !is_array($array[$key])))
					$array[$key] = array();
				// overwrite the value in the base array
				if (is_array($value))
					$value = recurse($array[$key], $value);
				$array[$key] = $value;
			}
			return $array;
		}

		// handle the arguments, merge one by one
		$args = func_get_args();
		$array = $args[0];
		if (!is_array($array))
			return $array;
		
		for ($i = 1; $i < count($args); $i++)
			if (is_array($args[$i]))
				$array = recurse($array, $args[$i]);
		
		return $array;
	}
}

if (defined('_BONUX_STYLE'))
	_chemin(_DIR_PLUGIN_SPIP_BONUX."spip21/");

?>
<?php

if (!isset($GLOBALS['z_blocs'])) {
    $GLOBALS['z_blocs'] = array('content', 'aside', 'extra', 'head', 'head_js', 'header', 'footer', 'breadcrumb');
}
define('_ZENGARDEN_FILTRE_THEMES', 'spipr');
define('_ALBUMS_INSERT_HEAD_CSS', false);
if (defined('_SPIPR_AUTH_DEMO') ? _SPIPR_AUTH_DEMO : (isset($GLOBALS['visiteur_session']['statut']) and $GLOBALS['visiteur_session']['statut'] == '0minirezo' and $GLOBALS['visiteur_session']['webmestre'] == 'oui')) {
    _chemin(_DIR_PLUGIN_SPIPR_DIST . "demo/");
}
Exemplo n.º 6
0
            include_spip('inc/cookie');
            spip_setcookie('spip_zengarden_theme', $_COOKIE['spip_zengarden_theme'] = '', -1);
        }
    } elseif (isset($GLOBALS['meta']['zengarden_switcher']) or defined('_ZEN_VAR_THEME')) {
        if (!is_null($arg = _request('var_theme'))) {
            include_spip('inc/cookie');
            if ($arg) {
                spip_setcookie('spip_zengarden_theme', $_COOKIE['spip_zengarden_theme'] = $arg);
            } else {
                spip_setcookie('spip_zengarden_theme', $_COOKIE['spip_zengarden_theme'] = '', -1);
            }
        }
    }
    // ajouter le theme au path
    if ((isset($_COOKIE['spip_zengarden_theme']) and $t = $_COOKIE['spip_zengarden_theme'] or isset($GLOBALS['meta']['zengarden_theme']) and $t = $GLOBALS['meta']['zengarden_theme']) and is_dir(_DIR_RACINE . $t)) {
        _chemin(_DIR_RACINE . $t);
        $GLOBALS['marqueur'] = (isset($GLOBALS['marqueur']) ? $GLOBALS['marqueur'] : "") . ":theme-{$t}";
        // @experimental : sauver le nom du repertoire theme utilise
        // a defaut de connaitre le vrai prefixe
        if (!defined('NOM_THEME')) {
            define('NOM_THEME', basename($t));
        }
    }
    // @experimental : balise #THEME qui retourne le nom du theme selectionne
    function balise_THEME_dist($p)
    {
        $p->code = champ_sql('theme', $p, "(defined('NOM_THEME') ? NOM_THEME : '')");
        return $p;
    }
}
/**
/**
 * Transformer du LESS en CSS
 * Peut prendre en entree
 * - un fichier .css ou .less :
 *   [(#CHEMIN{messtyles.less.css}|less_css)]
 *   la sortie est un chemin vers un fichier CSS
 * - des styles inline,
 *   pour appliquer dans une feulle less calculee :
 *   #FILTRE{less_css}
 *   la sortie est du style inline
 *
 * @param string $source
 * @return string
 */
function less_css($source)
{
    static $chemin = null;
    // Si on n'importe pas, est-ce un fichier ?
    if (!preg_match(',[\\s{}],', $source) and preg_match(',\\.(less|css)$,i', $source, $r) and file_exists($source)) {
        static $done = array();
        // ne pas essayer de compiler deux fois le meme fichier dans le meme hit
        // si on a echoue une fois, on echouera pareil
        if (isset($done[$source])) {
            return $done[$source];
        }
        if (is_null($chemin)) {
            $chemin = _chemin();
            $chemin = md5(serialize($chemin));
        }
        // url de base de la source
        // qui se trouvera dans la css car url absolue des images
        // il faut que la css generee en depende
        $url_base_source = protocole_implicite(url_absolue($source));
        $f = basename($source, $r[0]);
        $f = sous_repertoire(_DIR_VAR, 'cache-less') . preg_replace(",(.*?)(_rtl|_ltr)?\$,", "\\1-cssify-" . substr(md5("{$url_base_source}-lesscss-{$chemin}"), 0, 7) . "\\2", $f, 1) . '.css';
        # si la feuille compilee est plus recente que la feuille source
        # l'utiliser sans rien faire, sauf si recalcul explicite
        $changed = false;
        if (@filemtime($f) < @filemtime($source)) {
            $changed = true;
        }
        if (!$changed and (!defined('_VAR_MODE') or _VAR_MODE != 'recalcul')) {
            return $f;
        }
        if (!lire_fichier($source, $contenu)) {
            return $source;
        }
        # compiler le LESS si besoin (ne pas generer une erreur si source vide
        if (!$contenu) {
            $contenu = "/* Source {$source} : vide */\n";
        } else {
            $contenu = lesscss_compile($contenu, array('file' => $source));
        }
        // si erreur de compilation on renvoit un commentaire, et il y a deja eu un log
        if (!$contenu) {
            $contenu = "/* Compilation {$source} : vide */\n";
        }
        # passer la css en url absolue
        # plus la peine : le parser CSS resoud les ULRs absolues des images en meme temps qu'il les cherche dans le path
        # $contenu = urls_absolues_css($contenu, $url_base_source);
        // ecrire le fichier destination, en cas d'echec renvoyer la source
        // on ecrit sur un fichier
        if (ecrire_fichier($f . ".last", $contenu, true)) {
            if ($changed or md5_file($f) != md5_file($f . ".last")) {
                @copy($f . ".last", $f);
                // eviter que PHP ne reserve le vieux timestamp
                if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
                    clearstatcache(true, $f);
                } else {
                    clearstatcache();
                }
            }
            return $done[$source] = $f;
        } else {
            return $done[$source] = $source;
        }
    }
    $source = lesscss_compile($source);
    if (!$source) {
        return "/* Erreur compilation LESS : cf less.log */";
    } else {
        return $source;
    }
}
Exemplo n.º 8
0
function couteau_suisse_porte_plume_lien_classe_vers_icone($flux){
	global $cs_metas_pipelines;
	if (isset($cs_metas_pipelines['porte_plume_lien_classe_vers_icone'])) {
		$flux['couteau_suisse_drop'] = 'couteau-19.png';
		// chemin des icones-typo de couleur
		_chemin(sous_repertoire(_DIR_VAR, 'couteau-suisse'));
		eval($cs_metas_pipelines['porte_plume_lien_classe_vers_icone']);
	}
	return $flux;
}
    define('_DIR_PLUGIN_FORUM', _DIR_PLUGINS_DIST . 'forum/');
    define('_DIR_PLUGIN_JQUERYUI', _DIR_PLUGINS_DIST . 'jquery_ui/');
    define('_DIR_PLUGIN_MEDIABOX', _DIR_PLUGINS_DIST . 'mediabox/');
    define('_DIR_PLUGIN_MOTS', _DIR_PLUGINS_DIST . 'mots/');
    define('_DIR_PLUGIN_ORGANISEUR', _DIR_PLUGINS_DIST . 'organiseur/');
    define('_DIR_PLUGIN_PETITIONS', _DIR_PLUGINS_DIST . 'petitions/');
    define('_DIR_PLUGIN_PLAN', _DIR_PLUGINS_DIST . 'plan/');
    define('_DIR_PLUGIN_PORTE_PLUME', _DIR_PLUGINS_DIST . 'porte_plume/');
    define('_DIR_PLUGIN_REVISIONS', _DIR_PLUGINS_DIST . 'revisions/');
    define('_DIR_PLUGIN_SAFEHTML', _DIR_PLUGINS_DIST . 'safehtml/');
    define('_DIR_PLUGIN_SITES', _DIR_PLUGINS_DIST . 'sites/');
    define('_DIR_PLUGIN_SQUELETTES_PAR_RUBRIQUE', _DIR_PLUGINS_DIST . 'squelettes_par_rubrique/');
    define('_DIR_PLUGIN_STATS', _DIR_PLUGINS_DIST . 'statistiques/');
    define('_DIR_PLUGIN_SVP', _DIR_PLUGINS_DIST . 'svp/');
    define('_DIR_PLUGIN_TW', _DIR_PLUGINS_DIST . 'textwheel/');
    define('_DIR_PLUGIN_URLS', _DIR_PLUGINS_DIST . 'urls_etendues/');
    define('_DIR_PLUGIN_VERTEBRES', _DIR_PLUGINS_DIST . 'vertebres/');
    define('_DIR_PLUGIN_AHUNTSIC', _DIR_PLUGINS . 'auto/ahuntsic/v2.0.3/');
    define('_DIR_PLUGIN_ITERATEURS', _DIR_RESTREINT . 'procure:iterateurs/');
    define('_DIR_PLUGIN_QUEUE', _DIR_RESTREINT . 'procure:queue/');
    define('_DIR_PLUGIN_JQUERY', _DIR_RESTREINT . 'procure:jquery/');
    define('_DIR_PLUGIN_PHP', _DIR_RESTREINT . 'procure:php/');
    define('_DIR_PLUGIN_BREVES', _DIR_PLUGINS_DIST . 'breves/');
    define('_DIR_PLUGIN_COMPRESSEUR', _DIR_PLUGINS_DIST . 'compresseur/');
    define('_DIR_PLUGIN_MEDIAS', _DIR_PLUGINS_DIST . 'medias/');
    if (_DIR_RESTREINT) {
        _chemin(implode(':', array(_DIR_PLUGIN_MEDIAS, _DIR_PLUGIN_MEDIAS . 'squelettes/', _DIR_PLUGIN_COMPRESSEUR, _DIR_PLUGIN_BREVES, _DIR_PLUGIN_AHUNTSIC, _DIR_PLUGIN_VERTEBRES, _DIR_PLUGIN_URLS, _DIR_PLUGIN_TW, _DIR_PLUGIN_SVP, _DIR_PLUGIN_STATS, _DIR_PLUGIN_SQUELETTES_PAR_RUBRIQUE, _DIR_PLUGIN_SITES, _DIR_PLUGIN_SAFEHTML, _DIR_PLUGIN_REVISIONS, _DIR_PLUGIN_PORTE_PLUME, _DIR_PLUGIN_PLAN, _DIR_PLUGIN_PETITIONS, _DIR_PLUGIN_ORGANISEUR, _DIR_PLUGIN_MOTS, _DIR_PLUGIN_MEDIABOX, _DIR_PLUGIN_JQUERYUI, _DIR_PLUGIN_JQUERYUI . 'prive/', _DIR_PLUGIN_FORUM, _DIR_PLUGIN_IMAGES, _DIR_PLUGIN_DUMP, _DIR_PLUGIN_COMPAGNON)));
    } else {
        _chemin(implode(':', array(_DIR_PLUGIN_MEDIAS, _DIR_PLUGIN_MEDIAS . 'squelettes/', _DIR_PLUGIN_COMPRESSEUR, _DIR_PLUGIN_BREVES, _DIR_PLUGIN_AHUNTSIC, _DIR_PLUGIN_VERTEBRES, _DIR_PLUGIN_URLS, _DIR_PLUGIN_TW, _DIR_PLUGIN_SVP, _DIR_PLUGIN_STATS, _DIR_PLUGIN_SQUELETTES_PAR_RUBRIQUE, _DIR_PLUGIN_SITES, _DIR_PLUGIN_SAFEHTML, _DIR_PLUGIN_REVISIONS, _DIR_PLUGIN_PORTE_PLUME, _DIR_PLUGIN_PLAN, _DIR_PLUGIN_PETITIONS, _DIR_PLUGIN_ORGANISEUR, _DIR_PLUGIN_MOTS, _DIR_PLUGIN_MEDIABOX, _DIR_PLUGIN_JQUERYUI, _DIR_PLUGIN_JQUERYUI . 'prive/', _DIR_PLUGIN_FORUM, _DIR_PLUGIN_IMAGES, _DIR_PLUGIN_DUMP, _DIR_PLUGIN_COMPAGNON)));
    }
}