\n"; } return $flux; } /** * Ajout des scripts du porte-plume au texte (un head) transmis * * @param string $flux Contenu du head * @param string $lang Langue en cours d'utilisation * @param bool $prive Est-ce pour l'espace privé ? * @return string Contenu du head complété */ function porte_plume_inserer_head($flux, $lang, $prive = false) { include_spip('porte_plume_fonctions'); $markitup = timestamp(find_in_path('javascript/jquery.markitup_pour_spip.js')); $js_previsu = timestamp(find_in_path('javascript/jquery.previsu_spip.js')); $hash = md5(porte_plume_creer_json_markitup()); $inserer_auto_name_texte = defined('_PORTE_PLUME_INSERER_AUTO_NAME_TEXTE') ? _PORTE_PLUME_INSERER_AUTO_NAME_TEXTE : true; $js_start = produire_fond_statique('javascript/porte_plume_start.js', ['lang' => $lang, 'hash' => $hash, 'inserer_auto_name_texte' => $inserer_auto_name_texte]); $flux .= "\n" . "\n" . "\n"; return $flux; } /** * Ajout des CSS du porte-plume au head privé * * @pipeline header_prive_css * @param string $flux Contenu du head * @return string Contenu du head complété */ function porte_plume_insert_head_prive_css($flux) { return porte_plume_insert_head_css($flux, true); } /** * Ajout des CSS du porte-plume au head public * * Appelé aussi depuis le privé avec $prive à true. * * @pipeline insert_head_css * @param string $flux Contenu du head * @param bool $prive Est-ce pour l'espace privé ? * @return string Contenu du head complété */ function porte_plume_insert_head_css($flux = '', $prive = false) { include_spip('inc/autoriser'); if (autoriser($prive ? 'afficher_prive' : 'afficher_public', 'porteplume')) { if ($prive) { $cssprive = timestamp(find_in_path('css/barre_outils_prive.css')); $flux .= "\n"; } $css = timestamp(direction_css(find_in_path('css/barre_outils.css'), lang_dir())); include_spip('porte_plume_fonctions'); $hash = md5(barre_outils_css_icones()); $css_icones = produire_fond_statique('css/barre_outils_icones.css', ['hash' => $hash]); $flux .= "\n" . "\n"; } return $flux; } /** * Valeur par défaut des configurations * * @pipeline configurer_liste_metas * @param array $metas * Tableaux des metas et valeurs par défaut * @return array * Tableaux des metas et valeurs par défaut */ function porte_plume_configurer_liste_metas($metas) { $metas['barre_outils_public'] = 'oui'; return $metas; } /** * Ajoute le formulaire de configuration du porte-plume sur la page * des configurations avancées. * * @pipeline affiche_milieu * @param array $flux Données du pipeline * @return array Données du pipeline */ function porte_plume_affiche_milieu($flux) { if ($flux['args']['exec'] == 'configurer_avancees') { $flux['data'] .= recuperer_fond( 'prive/squelettes/inclure/configurer', ['configurer' => 'configurer_porte_plume'] ); } return $flux; }