/** * Affichage du formulaire de selection de la composition * * @param array $flux * @return array */ function compositions_affiche_milieu($flux){ $e = trouver_objet_exec($flux['args']['exec']); $objets = compositions_objets_actives(); if (in_array($e['type'],$objets) AND $e['edition']===false){ $type = $e['type']; if ($id = $flux['args'][$e['id_table_objet']]) { $config = (isset($GLOBALS['meta']['compositions']) ? unserialize($GLOBALS['meta']['compositions']) : array()); $aut = autoriser('styliser',$type,$id); if ((!isset($config['masquer_formulaire']) OR $config['masquer_formulaire'] != 'oui' OR $aut) AND ( ($c=compositions_lister_disponibles($type) AND is_array(reset($c))) OR ($type == 'rubrique' AND (!isset($config['tout_verrouiller']) OR $config['tout_verrouiller'] != 'oui')) ) ) { $ids = 'formulaire_editer_composition_objet-' . "$type-$id"; $texte = recuperer_fond( 'prive/editer/compositions', array( 'type'=>$type, 'id'=>$id, ) ); if (($p = strpos($flux['data'],'<!--affiche_milieu-->'))!==false) $flux['data'] = substr_replace($flux['data'],$texte,$p,0); else $flux['data'] .= $texte; } } } return $flux; }
/** * Ecrire dans une meta la liste des objets qui sont sous le regime des * compositions * La fonction est appelee * - lors de la stylisation si la meta n'est pas encore definie * - a chaque fois qu'on selectionne un composition dans l'espace prive * - si var_mode=recalcul * On est sur ainsi que toute nouvelle composition selectionnee est dedans * Si une composition est retiree du file system sans etre deselectionnee * l'erreur sera evitee par la verification d'existence au moment de styliser * * @param array $liste */ function compositions_cacher($liste=null){ // lister les compositions vraiment utilisees if (!is_array($liste)){ include_spip('compositions_fonctions'); $liste = compositions_lister_disponibles('',false); } // lister les objets dont on a active la composition dans la configuration $config = compositions_objets_actives(); $liste = array_intersect($config,array_keys($liste)); ecrire_meta('compositions_types',implode(',',$liste)); spip_log('compositions: maj des compositions_types ['.$GLOBALS['meta']['compositions_types'].']'); }