Subversion Repositories Applications.papyrus

Rev

Rev 25 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6 jpm 1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2001 Laurent COUDOUNEAU (lc@gsite.org)                                                 |
7
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
8
// +------------------------------------------------------------------------------------------------------+
9
// | This library is free software; you can redistribute it and/or                                        |
10
// | modify it under the terms of the GNU Lesser General Public                                           |
11
// | License as published by the Free Software Foundation; either                                         |
12
// | version 2.1 of the License, or (at your option) any later version.                                   |
13
// |                                                                                                      |
14
// | This library is distributed in the hope that it will be useful,                                      |
15
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
16
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
17
// | Lesser General Public License for more details.                                                      |
18
// |                                                                                                      |
19
// | You should have received a copy of the GNU Lesser General Public                                     |
20
// | License along with this library; if not, write to the Free Software                                  |
21
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
22
// +------------------------------------------------------------------------------------------------------+
23
// CVS : $Id: adsi_affichage.fonct.php,v 1.1 2004-06-16 14:23:01 jpm Exp $
24
/**
25
* Bibliothèque de fonctions de construction du xhtml de l'application Administrateur de Sites.
26
*
27
* Contient un ensemble de fonctions permettant à l'application Administrateur de Sites de généré son xhtml.
28
*
29
*@package Administrateur de Sites
30
*@subpackage Fonctions
31
//Auteur original :
32
*@author        Laurent COUDOUNEAU <lc@gsite.org>
33
//Autres auteurs :
34
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
35
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
36
*@copyright     Tela-Botanica 2000-2004
37
*@version       $Date: 2004-06-16 14:23:01 $
38
// +------------------------------------------------------------------------------------------------------+
39
**/
40
 
41
// +------------------------------------------------------------------------------------------------------+
42
// |                                            LISTE des FONCTIONS                                       |
43
// +------------------------------------------------------------------------------------------------------+
44
 
45
/** Fonction ADMIN_contruirePage()- Génére le xhtml d'une page de l'application administrateur.
46
*
47
* Cette fonction formate de la même façon toutes les pages de l'application Administrateur
48
* avant de les renvoyer.
49
*
50
* @param  string   le titre du contenu de la page.
51
* @param  string   le corps du contenu de la page.
52
* @param  string   un message important à destination de l'utilisateur.
53
* return  string   le code XHTML à retourner.
54
*/
55
function ADMIN_contruirePage($titre, $texte, $message = '')
56
{
57
    // Page.
58
    $sortie = '';
59
    $sortie .= "\n";
60
    $sortie .= '<!-- Application page -->'."\n";
61
    $sortie .= str_repeat(' ', 12).'<h1>'.$titre.'</h1>'."\n";
62
    if (! empty ($message)) {
63
        $sortie .= $message;
64
    }
65
    $sortie .= $texte."\n";
66
 
67
    return $sortie;
68
}
69
 
70
/** Fonction ADMIN_donnerFormInputElements()- Génére le xhtml pour la création de balise input.
71
*
72
* Cette fonction génère une liste de balise input pour un formulaire.
73
* Elle contient 1 tableau associatif en paramètre.
74
*
75
* Tableau des boutons : c'est une tableau de description de bouton, chaque description est elle-même
76
* dans un tableau contenant les clés suivantes :
77
* - type  : correspond au texte présent dans l'attribut "type" du bouton.
78
* - id : le texte présent dans l'attribut "id" du bouton.
79
* - name : le texte présent dans l'attribut "name" du bouton.
80
* - size : le texte présent dans l'attribut "id" du bouton.
81
* - value  : correspond au texte présent dans l'attribut "value" du bouton.
82
*
83
* @param  array    tableau contenant les descriptions des boutons.
84
* return  string   le code XHTML des boutons.
85
*/
86
function ADMIN_donnerFormInputElements($aso_elements)
87
{
88
    // Construction du xhtml des boutons
89
    $retour = '';
90
 
91
    for ($i = 0; $i < sizeof($aso_elements); $i++) {
92
        // Récupération du tableau associatif d'un bouton.
93
        $bt_info = $aso_elements[$i];
94
 
95
        // Contenu commun à tous les éléments
96
        $bt_id_generique = 'element_'.($i+1);
97
        $bt_id = (empty($bt_info['id'])) ? $bt_id_generique : $bt_info['id'] ;
98
        $bt_name_generique = $bt_id;
99
        $bt_name = (empty($bt_info['name'])) ? $bt_name_generique : $bt_info['name'] ;
100
        $bt_tabindex_generique = ($i+10);
101
        $bt_tabindex = (empty($bt_info['tabindex'])) ? $bt_tabindex_generique : $bt_info['tabindex'] ;
102
        $bt_obligatoire = false;
103
        $bt_obligatoire = (!isset($bt_info['obligatoire'])) ? false : true ;
104
 
105
        // Contenu spécifique au type d'élément
106
        $retour .= str_repeat(' ', 16).'<li>';
107
        $retour .= (empty($bt_info['label'])) ? '' : '<label for="'.$bt_info['id'].'">'.$bt_info['label'].'</label>';
108
        if ($bt_info['element'] == 'input') {
109
            $bt_type_generique = 'text';
110
            $bt_type = (empty($bt_info['type'])) ? $bt_type_generique : $bt_info['type'] ;
111
            $bt_size_generique = '';
112
            $bt_size = (empty($bt_info['size'])) ? $bt_size_generique : $bt_info['size'];
113
            $bt_value_generique = ($bt_type != 'submit') ? '' : 'OK';
114
            $bt_value = (empty($bt_info['value'])) ? $bt_value_generique : $bt_info['value'] ;
115
 
116
            // Rendu xhtml
117
            $retour .=  '<'.$bt_info['element'].' '.
118
                            'type="'.       $bt_type    .'" '.
119
                            'id="'.         $bt_id      .'" '.
120
                            'name="'.       $bt_name    .'" ';
121
            $retour .=  (!isset($bt_info['value'])) ? '' : 'value="'.$bt_value.'" ';
122
            $retour .=  (!isset($bt_info['size'])) ? '' : 'size="'.$bt_size.'" ';
123
            $retour .=  (!isset($bt_info['maxlength'])) ? '' : 'maxlength="'.$bt_info['maxlength'].'" ';
124
            $retour .=  (!isset($bt_info['checked'])) ? '' : 'checked="checked" ';
125
            $retour .=  (!isset($bt_info['disabled'])) ? '' : 'disabled="disabled" ';
126
            $retour .=  (!isset($bt_info['readonly'])) ? '' : 'readonly="readonly" ';
127
            $retour .=      'tabindex="'.   $bt_tabindex   .'" />';
128
        } else if ($bt_info['element'] == 'textarea') {
129
            $bt_rows_generique = '25';
130
            $bt_rows = (empty($bt_info['rows'])) ? $bt_rows_generique : $bt_info['rows'] ;
131
            $bt_cols_generique = '75';
132
            $bt_cols = (empty($bt_info['cols'])) ? $bt_cols_generique : $bt_info['cols'] ;
133
            // Rendu xhtml
134
            $retour .=  '<'.$bt_info['element'].' '.
135
                            'id="'.         $bt_id      .'" '.
136
                            'name="'.       $bt_name    .'" '.
137
                            'rows="'.       $bt_rows    .'" '.
138
                            'cols="'.       $bt_cols    .'" ';
139
            $retour .=  (empty($bt_info['disabled'])) ? '' : 'disabled="disabled" ';
140
            $retour .=      'tabindex="'.   $bt_tabindex   .'">';
141
            $retour .=  $bt_value;
142
            $retour .=  '</'.$bt_info['element'].'>';
143
        }
144
        $retour .=  (!$bt_obligatoire) ? '' : '<span id="symoble_obligatoire">*</span>';
145
        $retour .=  '</li>'."\n";
146
    }
147
 
148
    return $retour;
149
}
150
 
151
// +- Fin du code source  --------------------------------------------------------------------------------+
152
/*
153
* $Log: not supported by cvs2svn $
154
* Revision 1.6  2004/05/07 16:33:39  jpm
155
* Modification de commentaires.
156
*
157
* Revision 1.5  2004/04/30 16:22:53  jpm
158
* Poursuite de l'administration des sites.
159
*
160
* Revision 1.4  2004/04/02 16:36:35  jpm
161
* Ajout d'une fonction générant des boutons pour les formulaires.
162
*
163
* Revision 1.3  2004/04/01 11:21:41  jpm
164
* Ajout et modification de commentaires pour PhpDocumentor.
165
*
166
* Revision 1.2  2004/03/24 20:02:25  jpm
167
* Modification de l'indentation du xhtml renvoyé.
168
*
169
* Revision 1.1  2004/03/24 10:01:33  jpm
170
* Changement de nom de la bibliothèque de fonction d'affichage du xhtml.
171
*
172
* Revision 1.1  2004/03/24 10:00:11  jpm
173
* Transfert de la fonction de contruction du xhtml de l'application dans ce fichier.
174
*
175
*
176
*/