1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/spip_ynh.git synced 2024-09-03 20:25:59 +02:00
spip_ynh/sources/ecrire/plugins/extraire_boutons.php

51 lines
2 KiB
PHP
Raw Normal View History

2015-04-28 17:10:23 +02:00
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2014 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined('_ECRIRE_INC_VERSION')) return;
/**
* Analyser un arbre xml et extraire les infos concernant les boutons et onglets
*
* @param <type> $arbre
* @return <type>
*/
function plugins_extraire_boutons_dist($arbre){
$ret = array('bouton'=>array(),'onglet'=>array());
// recuperer les boutons et onglets si necessaire
spip_xml_match_nodes(",^(bouton|onglet)\s,",$arbre,$les_boutons);
if (is_array($les_boutons) && count($les_boutons)){
$ret['bouton'] = array();
$ret['onglet'] = array();
foreach($les_boutons as $bouton => $val) {
$bouton = spip_xml_decompose_tag($bouton);
$type = reset($bouton);
$bouton = end($bouton);
if (isset($bouton['id'])){
$id = $bouton['id'];
$val = reset($val);
if(is_array($val)){
$ret[$type][$id]['parent'] = isset($bouton['parent'])?$bouton['parent']:'';
$ret[$type][$id]['position'] = isset($bouton['position'])?$bouton['position']:'';
$ret[$type][$id]['titre'] = isset($val['titre'])?trim(spip_xml_aplatit($val['titre'])):'';
$ret[$type][$id]['icone'] = isset($val['icone'])?trim(end($val['icone'])):'';
$ret[$type][$id]['action'] = isset($val['url'])?trim(end($val['url'])):'';
$ret[$type][$id]['parametres'] = isset($val['args'])?trim(end($val['args'])):'';
}
}
}
}
return $ret;
}
?>