source: spip-zone/_plugins_/acs/inc/acs_widgets.php @ 45452

Last change on this file since 45452 was 45452, checked in by webmaster@…, 10 years ago

Passage en version 0.8.0

Nouveau parametre de composant preview_type + divers. Cf. log.

File size: 2.8 KB
Line 
1<?php
2#              ACS
3#          (Plugin Spip)
4#     http://acs.geomaticien.org
5#
6# Copyright Daniel FAIVRE, 2007-2011
7# Copyleft: licence GPL - Cf. LICENCES.txt
8
9/**
10 * Affiche une liste contextuelle des composants - Onglet composants
11 * Show a contextual widget list - Used by pages AND composants
12 */
13function liste_widgets($visible = true) {
14        $composants = composants_liste();
15        // On renvoie directement une liste vide si aucun composant n'est trouvé
16        if (!is_array($composants))
17                return acs_box('0 '.strtolower(_T('composants')), '&nbsp;', _DIR_PLUGIN_ACS."/images/composant-24.gif", 'acs_box_composants');
18
19   $r .= '<div id="widgets" class="widgets">';
20  foreach($composants as $class=>$cp) {
21        $vp = 'acs'.ucfirst($class);
22        foreach($cp['instances'] as $nic=>$c) {
23                $vpi = $vp.($nic ? $nic : '');
24      // Si le composant possede une variable Nom on l'affiche en nom et le nom du composant en info-bulle
25      $v = $vpi.'Nom';
26      if ($GLOBALS['meta'][$v]) {
27        $nom = couper($GLOBALS['meta'][$v], 50);
28        $title = ucfirst(str_replace('_', ' ', $class)).($nic ? ' '.$nic : '');
29      }
30      else {
31        $nom = ucfirst(str_replace('_', ' ', $class)).($nic ? ' '.$nic : '');
32        $title = _T('composant');
33      }
34                $r .= '<div id="widget_'.$class.($nic ? '-'.$nic : '').'" class="'.get_widget_class($cp['over'], $c['on'], 'widget').'">'.
35        '<table><tr><td><a href="'._DIR_RESTREINT.'?exec=acs&amp;onglet=composants&amp;composant='.$class.($nic ? '&amp;nic='.$nic : '').'" title="'._T('composant').'">'.widget_icon($class, $nic).'</a>'.
36        '</td><td title="'.$title.'" style="width: 95%;"><div><a href="'._DIR_RESTREINT.'?exec=acs&amp;onglet=composants&amp;composant='.$class.($nic ? '&amp;nic='.$nic : '').'" title="'.$title.'">'.$nom.'</a></div></td></tr></table>'.
37      '</div>';
38                $nbci++;
39        }
40        $nbc++;
41  }
42  $r .= '</div>';
43  return acs_box($nbci.' '.(($nbci==1) ? strtolower(_T('composant')) : strtolower(_T('composants'))).' ('.$nbc.')', $r, _DIR_PLUGIN_ACS."/images/composant-24.gif", 'acs_box_composants'.($visible ? '' : '_hidden').'');
44}
45
46function get_widget_class($over, $on, $style) {
47  $ov .= $style;
48  if ($over)
49        $ov .= ' '.$style.'_overriden';
50  if (!($on == 'oui'))
51                $ov .= ' '.$style.'_unused';
52  return $ov;
53}
54
55function widget_icon($class, $nic, $size=24) {
56        $o = 'acs'.ucfirst($class).($nic ? $nic : '').'Orientation';
57        // Si le composant possède une propriete orientation ET une icone correspondante on oriente l'icone
58        $wicon = (isset($GLOBALS['meta'][$o]) && $GLOBALS['meta'][$o] == 'horizontal') ? 'horizontal' : 'icon';
59  $wicon = find_in_path('composants/'.$class.'/images/'.$class.'_'.$wicon.'.gif');
60  if (!file_exists($wicon))
61    $wicon = _DIR_PLUGIN_ACS.'images/composant-24.gif';
62        return '<img src="'.$wicon.'" height="'.$size.'px" width="'.$size.'px" />';
63}
64?>
Note: See TracBrowser for help on using the repository browser.