X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;ds=sidebyside;f=www%2Fplugins%2Fauto%2FnoiZetier%2Fnoizetier_pipelines.php;fp=www%2Fplugins%2Fauto%2FnoiZetier%2Fnoizetier_pipelines.php;h=c2da9f58c24ce3f0cced5a4822dae606a3e1908f;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hp=0000000000000000000000000000000000000000;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c;p=velocampus%2Fweb%2Fwww.git diff --git a/www/plugins/auto/noiZetier/noizetier_pipelines.php b/www/plugins/auto/noiZetier/noizetier_pipelines.php new file mode 100644 index 0000000..c2da9f5 --- /dev/null +++ b/www/plugins/auto/noiZetier/noizetier_pipelines.php @@ -0,0 +1,129 @@ +\n"; + $css = generer_url_public('noizetier.css'); + $flux .= "\n\n"; + return $flux; +} + + +/** + * Pipeline recuperer_fond pour ajouter les noisettes + * + * @param array $flux + * @return array + */ +function noizetier_recuperer_fond($flux){ + if (defined('_NOIZETIER_RECUPERER_FOND')?_NOIZETIER_RECUPERER_FOND:true) { + include_spip('inc/noizetier'); + $fond = $flux['args']['fond']; + $composition = $flux['args']['contexte']['composition']; + // Si une composition est définie et si elle n'est pas déjà dans le fond, on l'ajoute au fond + // sauf s'il s'agit d'une page de type page (les squelettes page.html assurant la redirection) + if ($composition!='' AND noizetier_page_composition($fond)=='' AND noizetier_page_type($fond)!='page') + $fond .= '-'.$composition; + + // Tester l'installation du noizetier pour éviter un message d'erreur à l'installation + if (isset($GLOBALS['meta']['noizetier_base_version'])) { + if (in_array($fond,noizetier_lister_blocs_avec_noisettes())) { + $contexte = $flux['data']['contexte']; + $contexte['bloc'] = substr($fond,0,strpos($fond,'/')); + $complements = recuperer_fond('noizetier-generer-bloc',$contexte,array('raw'=>true)); + $flux['data']['texte'] .= $complements['texte']; + } + } + } + return $flux; +} + +/** + * Pipeline compositions_lister_disponibles pour ajouter les compositions du noizetier + * + * @param array $flux + * @return array + */ + +function noizetier_compositions_lister_disponibles($flux){ + $noizetier_compositions = unserialize($GLOBALS['meta']['noizetier_compositions']); + if (!is_array($noizetier_compositions)) + $noizetier_compositions = array(); + $type = $flux['args']['type']; + $informer = $flux['args']['informer']; + + include_spip('inc/texte'); + foreach($noizetier_compositions as $t => $compos_type) + foreach($compos_type as $c => $info_compo) { + if($informer) { + $noizetier_compositions[$t][$c]['nom'] = typo($info_compo['nom']); + $noizetier_compositions[$t][$c]['description'] = propre($info_compo['description']); + $noizetier_compositions[$t][$c]['icon'] = $info_compo['icon']!='' ? find_in_path($info_compo['icon']) : ''; + } + else + $noizetier_compositions[$t][$c] = 1; + } + + if ($type=='' AND count($noizetier_compositions)>0) { + if (!is_array($flux['data'])) + $flux['data'] = array(); + $flux['data'] = array_merge($flux['data'],$noizetier_compositions); + } + elseif (count($noizetier_compositions[$type])>0) { + if (!is_array($flux['data'][$type])) + $flux['data'][$type] = array(); + if (!is_array($noizetier_compositions[$type])) + $noizetier_compositions[$type] = array(); + $flux['data'][$type] = array_merge($flux['data'][$type],$noizetier_compositions[$type]); + } + return $flux; +} + +/** + * Pipeline styliser pour les compositions du noizetier de type page si celles-ci sont activées + * + * @param array $flux + * @return array + */ +function noizetier_styliser($flux){ + if(defined('_NOIZETIER_COMPOSITIONS_TYPE_PAGE') AND _NOIZETIER_COMPOSITIONS_TYPE_PAGE) { + $squelette = $flux['data']; + $fond = $flux['args']['fond']; + $ext = $flux['args']['ext']; + // Si on n'a pas trouvé de squelette + if (!$squelette) { + $noizetier_compositions = unserialize($GLOBALS['meta']['noizetier_compositions']); + // On vérifie qu'on n'a pas demandé une composition du noizetier de type page et qu'on appele ?page=type + if (isset($noizetier_compositions['page'][$fond])) { + $flux['data'] = substr(find_in_path("page.$ext"), 0, - strlen(".$ext")); + $flux['args']['composition'] = $fond; + } + } + } + return $flux; +} + +/** + * Pipeline jqueryui_forcer pour demander au plugin l'insertion des scripts pour .sortable() + * + * @param array $plugins + * @return array + */ +function noizetier_jqueryui_forcer($plugins){ + $plugins[] = "jquery.ui.core"; + $plugins[] = "jquery.ui.widget"; + $plugins[] = "jquery.ui.mouse"; + $plugins[] = "jquery.ui.sortable"; + return $plugins; +} + + +function noizetier_noizetier_lister_pages($flux){return $flux;} +function noizetier_noizetier_blocs_defaut($flux){return $flux;} +function noizetier_noizetier_config_export($flux){return $flux;} +function noizetier_noizetier_config_import($flux){return $flux;} + +?>