mirror of
https://github.com/YunoHost-Apps/spip_ynh.git
synced 2024-09-03 20:25:59 +02:00
90 lines
2.9 KiB
PHP
90 lines
2.9 KiB
PHP
<?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;
|
|
|
|
/**
|
|
* une classe definissant un bouton dans la barre du haut de l'interface
|
|
* privee ou dans un de ses sous menus
|
|
*/
|
|
// http://doc.spip.org/@Bouton
|
|
class Bouton {
|
|
var $icone; /* l'icone a mettre dans le bouton */
|
|
var $libelle; /* le nom de l'entree d'i18n associe */
|
|
var $url= null; /* l'url de la page (null => ?exec=nom) */
|
|
var $urlArg= null; /* arguments supplementaires de l'url */
|
|
var $url2= null; /* url jscript */
|
|
var $target= null; /* pour ouvrir dans une fenetre a part */
|
|
var $sousmenu= null;/* sous barre de boutons / onglets */
|
|
|
|
// http://doc.spip.org/@Bouton
|
|
function Bouton($icone, $libelle, $url=null, $urlArg=null,
|
|
$url2=null, $target=null) {
|
|
$this->icone = $icone;
|
|
$this->libelle= $libelle;
|
|
$this->url = $url;
|
|
$this->urlArg = $urlArg;
|
|
$this->url2 = $url2;
|
|
$this->target = $target;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* definir la liste des onglets dans une page de l'interface privee
|
|
* on passe la main au pipeline "ajouter_onglets".
|
|
*/
|
|
// http://doc.spip.org/@definir_barre_onglets
|
|
function definir_barre_onglets($script) {
|
|
|
|
$onglets=array();
|
|
$liste_onglets = array();
|
|
|
|
// ajouter les onglets issus des plugin via plugin.xml
|
|
if (function_exists('onglets_plugins'))
|
|
$liste_onglets = onglets_plugins();
|
|
|
|
|
|
foreach($liste_onglets as $id => $infos){
|
|
if (($parent = $infos['parent'])
|
|
&& $parent == $script
|
|
&& autoriser('onglet',"_$id")) {
|
|
$onglets[$id] = new Bouton(
|
|
find_in_theme($infos['icone']), // icone
|
|
$infos['titre'], // titre
|
|
(isset($infos['action']) and $infos['action'])
|
|
? generer_url_ecrire($infos['action'],(isset($infos['parametres']) AND $infos['parametres'])?$infos['parametres']:'')
|
|
: null
|
|
);
|
|
}
|
|
}
|
|
|
|
return pipeline('ajouter_onglets', array('data'=>$onglets,'args'=>$script));
|
|
}
|
|
|
|
|
|
// http://doc.spip.org/@barre_onglets
|
|
function barre_onglets($rubrique, $ongletCourant, $class="barre_onglet"){
|
|
include_spip('inc/presentation');
|
|
|
|
$res = '';
|
|
|
|
foreach(definir_barre_onglets($rubrique) as $exec => $onglet) {
|
|
$url= $onglet->url ? $onglet->url : generer_url_ecrire($exec);
|
|
$res .= onglet(_T($onglet->libelle), $url, $exec, $ongletCourant, $onglet->icone);
|
|
}
|
|
|
|
return !$res ? '' : (debut_onglet($class) . $res . fin_onglet());
|
|
}
|
|
|
|
|
|
?>
|