source: spip-zone/_plugins_/acs/inc/acs_adm.php @ 48965

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

ACS:

  • liste des widgets en partie privée : classement des composants en deux blocs: cadres et éléments.
  • suppression de exec/acs_page_source.php (devenu inutile).
  • formulaire administration enrichi d'un accès direct à l'édition de la page et du bouton inclusions.
  • choix du positionnement du formulaire administration de SPIP.
  • passage en ajax du bloc de configuration d'ACS (Onglet Administration).
  • nouvelle option de configuration : Désactiver le cache de SPIP.
  • nouvelle aide contextuelle
  • restauration du fonctionnement de controleurs/var.php suite au passage des controleurs en objets.


Cat :

  • évolution de l'usage de la balise #ACS_CHEMIN (dans tous les fichiers où elle est utilisée)
  • Carte: correction bug sur affichage des sous-rubriques géoreferencées. Correction d'un bug sur les popups ombrées introduit par le changement de comportement de la balise #ACS_CHEMIN.
  • Fond/entete: filtre textebrut sur le titre des pages.
  • Keys: nouvelles variables arrondi de bordure et ombre.
File size: 5.6 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
9include_spip('inc/acs_groups');
10include_spip('inc/acs_version');
11
12/**
13 * Retourne la page d'admin "Pages"
14 */
15
16function acs_adm() {
17  if (isset($_POST['changer_model']) && ($_POST['changer_model'] == 'oui')) {
18    if (
19        ($GLOBALS['meta']['acsModel'] != $_POST['acsModel']) ||
20        ($GLOBALS['meta']['acsSqueletteOverACS'] != $_POST['acsSqueletteOverACS'])
21      ) {
22      ecrire_meta('acsModel', $_POST['acsModel']);
23      ecrire_meta('acsSqueletteOverACS', $_POST['acsSqueletteOverACS']);
24      $GLOBALS['dossier_squelettes'] = (isset($GLOBALS['meta']['acsSqueletteOverACS']) ? $GLOBALS['meta']['acsSqueletteOverACS'].':' : '')._DIR_PLUGIN_ACS.'models/'.$_POST['acsModel'];
25      ecrire_metas();
26    }
27  } 
28  if (isset($_POST['changer_groupes']) && ($_POST['changer_groupes'] == 'oui')) {
29    acs_groups_update($_POST['acsGroups']);
30  }
31  if (isset($_POST['changer_pages']) && ($_POST['changer_pages'] == 'oui'))
32    acs_group_update_pages(acs_grid($_POST['group']), $_POST['pages']);
33
34  $r = acs_box(_T('acs:model').' '._T('acs:acs').acs_help_call('model'),
35    acs_help_div('model', _T('acs:model_help').'<br /><br />').acs_model()
36    ,
37    _DIR_PLUGIN_ACS.'images/composant-24.gif'
38  );
39/*
40echo "<br>_______________________________________________\$_POST<br>\n";
41print_r($_POST);
42
43echo "<br>_______________________________________________\$GLOBALS['meta']['ACS_GROUPS']<br>\n";
44print_r(unserialize($GLOBALS['meta']['ACS_GROUPS']));
45
46echo "<br>_______________________________________________\$GLOBALS['meta']['ACS_CADENASSE']<br>\n";
47print_r(unserialize($GLOBALS['meta']['ACS_CADENASSE']));
48*/
49
50
51  // Sauvegarde/restauration
52  $acs_sr = charger_fonction('acs_sr', 'inc');
53  $res = ajax_action_greffe("acs_sr", 0, $acs_sr());
54  $r.= '<br />'.acs_box(_T('acs:save').' / '._T('acs:restore'), $res, _DIR_PLUGIN_ACS.'images/sr.png'); 
55 
56  // Bloc des admins
57  $editer_acs_admins = charger_fonction('acs_editer_admins', 'inc');
58  $groups = acs_groups();
59  $blocs_cadenas = '';
60  foreach (array_keys($groups) as $grid=>$gr) {
61    $ids = implode(',', acs_members($gr));
62    $blocs_cadenas .= $editer_acs_admins('acsadmins', $grid + 1, true, false, $ids, _T('acs:admins').' '.$gr, 'acs&onglet=adm','auteur-24.gif');
63  }
64
65  $r .= '<br />'.
66      acs_box(_T('acs:adm').acs_help_call('help_acs_admins'),
67      acs_help_div('help_acs_admins', _T('acs:admins_help')).
68      $editer_acs_admins('acsadmins', 0, true, false, 1, _T('acs:admins').' '._T('acs:acs'), 'acs&onglet=adm',_DIR_PLUGIN_ACS.'images/cadenas-24.gif').
69      '<br /><hr /><br /><form name="acs_config" action="?exec=acs" method="post">'.
70        '<input type="hidden" name="onglet" value="adm"><input type="hidden" name="changer_groupes" value="oui">'.
71        '<table style="width:100%" cellpadding="2px"><tr><td style="width:90%;" >'.
72        ctlInput('acsGroups',
73                _T('acs:groupes'),
74                '<input type="text" name="acsGroups" value="'.implode(', ', array_keys(acs_groups())).'" class="forml"  style="width:100%" />'
75                ).
76        '</td><td style="text-align:'.$GLOBALS['spip_lang_right'].';"><input type="submit" name="'._T('bouton_valider').
77        '" value="'._T('bouton_valider').'" class="fondo" /></td></tr></table>'.
78      '</form>'.
79      $blocs_cadenas,
80      _DIR_PLUGIN_ACS.'images/cadenas-24.gif'
81  );
82  return $r;
83}
84
85function acs_adm_gauche() {
86  return acs_info_box(
87    _T('acs:adm'),
88    _T('acs:onglet_adm_description').'<br /><br />',
89    false,
90    _T('acs:onglet_adm_info'),
91    _DIR_PLUGIN_ACS."images/cadenas-24.gif",
92    false
93  );
94}
95
96function acs_adm_droite() {
97  $acs_config = charger_fonction('acs_config', 'inc');
98  $r = acs_box(_T('acs:acs'), ajax_action_greffe("acs_config", 0, $acs_config()), _DIR_PLUGIN_ACS."images/acs_32x32.gif");
99  return $r;
100}
101
102function acs_model() {
103  $r = '<form name="acs_model" action="?exec=acs" method="post">'.
104        '<input type="hidden" name="onglet" value="adm"><input type="hidden" name="changer_model" value="oui">';
105  $r .= '<table width="100%"><tr><td>'.ctlInput('acsModel', _T('acs:model'), select_model());
106  $r .= '</td><td>'.ctlInput('acsSqueletteOverACS', _T('acs:squelette'), '<input type="text" name="acsSqueletteOverACS" value="'.$GLOBALS['meta']['acsSqueletteOverACS'].'" class="forml" />').'</td></tr></table>';
107
108  $r .= '<div style="text-align:'.$GLOBALS['spip_lang_right'].';"><input type="submit" name="'._T('bouton_valider').
109  '" value="'._T('bouton_valider').'" class="fondo" /></div></form>';
110  return $r;
111}
112
113function ctlInput($nom, $txt, $content) {
114  return '<table width="100%"><tr><td style="width: 10%; text-align:'.$GLOBALS['spip_lang_right'].'"><label for "'.$nom.'" title="'.$nom.'"  class="label">'.$txt.'</label></td><td>'.$content.'</td></tr></table>';
115}
116
117/**
118 * Retourne un sélecteur de squelette,
119 */
120function select_model() {
121  $r = '<select name="acsModel" class="forml">';
122  foreach(list_models() as $sq)
123    $r .= '<option name="'.$sq.'" value="'.$sq.'"'.(($sq == $GLOBALS['meta']['acsModel']) ? ' selected': '').'>'.$sq.'</option>';
124  $r .= '</select>';
125  return $r;
126}
127
128/**
129 * Lit la liste des modèles de squelettes
130 */
131function list_models(){
132  $squelettes = array();
133  if ($d = @opendir(_DIR_PLUGIN_ACS.'models')) {
134    while (false !== ($file = @readdir($d))) {
135      if ($file != "." && $file != ".." && substr($file, 0, 1) != '.' && @is_dir(_DIR_PLUGIN_ACS.'models/'.$file)) {
136        $squelettes[] = $file;
137      }
138    }
139    closedir($d);
140    sort($squelettes);
141    return $squelettes;
142  }
143  else {
144    return 'Impossible d\'ouvrir le dossier de modeles "'._DIR_PLUGIN_ACS.'models"';
145  }
146}
147
148?>
Note: See TracBrowser for help on using the repository browser.