Subversion Repositories Applications.papyrus

Rev

Rev 25 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1                                                                                      |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2001 Laurent COUDOUNEAU (lc@gsite.org)                                                 |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or                                        |
// | modify it under the terms of the GNU Lesser General Public                                           |
// | License as published by the Free Software Foundation; either                                         |
// | version 2.1 of the License, or (at your option) any later version.                                   |
// |                                                                                                      |
// | This library is distributed in the hope that it will be useful,                                      |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
// | Lesser General Public License for more details.                                                      |
// |                                                                                                      |
// | You should have received a copy of the GNU Lesser General Public                                     |
// | License along with this library; if not, write to the Free Software                                  |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: adsi_affichage.fonct.php,v 1.1 2004-06-16 14:23:01 jpm Exp $
/**
* Bibliothèque de fonctions de construction du xhtml de l'application Administrateur de Sites.
*
* Contient un ensemble de fonctions permettant à l'application Administrateur de Sites de généré son xhtml.
*
*@package Administrateur de Sites
*@subpackage Fonctions
//Auteur original :
*@author        Laurent COUDOUNEAU <lc@gsite.org>
//Autres auteurs :
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright     Tela-Botanica 2000-2004
*@version       $Date: 2004-06-16 14:23:01 $
// +------------------------------------------------------------------------------------------------------+
**/

// +------------------------------------------------------------------------------------------------------+
// |                                            LISTE des FONCTIONS                                       |
// +------------------------------------------------------------------------------------------------------+

/** Fonction ADMIN_contruirePage()- Génére le xhtml d'une page de l'application administrateur.
*
* Cette fonction formate de la même façon toutes les pages de l'application Administrateur
* avant de les renvoyer.
*
* @param  string   le titre du contenu de la page.
* @param  string   le corps du contenu de la page.
* @param  string   un message important à destination de l'utilisateur.
* return  string   le code XHTML à retourner.
*/
function ADMIN_contruirePage($titre, $texte, $message = '')
{
    // Page.
    $sortie = '';
    $sortie .= "\n";
    $sortie .= '<!-- Application page -->'."\n";
    $sortie .= str_repeat(' ', 12).'<h1>'.$titre.'</h1>'."\n";
    if (! empty ($message)) {
        $sortie .= $message;
    }
    $sortie .= $texte."\n";
    
    return $sortie;
}

/** Fonction ADMIN_donnerFormInputElements()- Génére le xhtml pour la création de balise input.
*
* Cette fonction génère une liste de balise input pour un formulaire.
* Elle contient 1 tableau associatif en paramètre.
*
* Tableau des boutons : c'est une tableau de description de bouton, chaque description est elle-même 
* dans un tableau contenant les clés suivantes :
* - type  : correspond au texte présent dans l'attribut "type" du bouton.
* - id : le texte présent dans l'attribut "id" du bouton.
* - name : le texte présent dans l'attribut "name" du bouton.
* - size : le texte présent dans l'attribut "id" du bouton. 
* - value  : correspond au texte présent dans l'attribut "value" du bouton.
*
* @param  array    tableau contenant les descriptions des boutons.
* return  string   le code XHTML des boutons.
*/
function ADMIN_donnerFormInputElements($aso_elements)
{
    // Construction du xhtml des boutons
    $retour = '';
    
    for ($i = 0; $i < sizeof($aso_elements); $i++) {
        // Récupération du tableau associatif d'un bouton.
        $bt_info = $aso_elements[$i];
        
        // Contenu commun à tous les éléments
        $bt_id_generique = 'element_'.($i+1);
        $bt_id = (empty($bt_info['id'])) ? $bt_id_generique : $bt_info['id'] ;
        $bt_name_generique = $bt_id;
        $bt_name = (empty($bt_info['name'])) ? $bt_name_generique : $bt_info['name'] ;
        $bt_tabindex_generique = ($i+10);
        $bt_tabindex = (empty($bt_info['tabindex'])) ? $bt_tabindex_generique : $bt_info['tabindex'] ;
        $bt_obligatoire = false;
        $bt_obligatoire = (!isset($bt_info['obligatoire'])) ? false : true ;
        
        // Contenu spécifique au type d'élément
        $retour .= str_repeat(' ', 16).'<li>';
        $retour .= (empty($bt_info['label'])) ? '' : '<label for="'.$bt_info['id'].'">'.$bt_info['label'].'</label>';
        if ($bt_info['element'] == 'input') {
            $bt_type_generique = 'text';
            $bt_type = (empty($bt_info['type'])) ? $bt_type_generique : $bt_info['type'] ;
            $bt_size_generique = '';
            $bt_size = (empty($bt_info['size'])) ? $bt_size_generique : $bt_info['size'];
            $bt_value_generique = ($bt_type != 'submit') ? '' : 'OK';
            $bt_value = (empty($bt_info['value'])) ? $bt_value_generique : $bt_info['value'] ;
            
            // Rendu xhtml
            $retour .=  '<'.$bt_info['element'].' '.
                            'type="'.       $bt_type    .'" '.
                            'id="'.         $bt_id      .'" '.
                            'name="'.       $bt_name    .'" ';
            $retour .=  (!isset($bt_info['value'])) ? '' : 'value="'.$bt_value.'" ';
            $retour .=  (!isset($bt_info['size'])) ? '' : 'size="'.$bt_size.'" ';
            $retour .=  (!isset($bt_info['maxlength'])) ? '' : 'maxlength="'.$bt_info['maxlength'].'" ';
            $retour .=  (!isset($bt_info['checked'])) ? '' : 'checked="checked" ';
            $retour .=  (!isset($bt_info['disabled'])) ? '' : 'disabled="disabled" ';
            $retour .=  (!isset($bt_info['readonly'])) ? '' : 'readonly="readonly" ';
            $retour .=      'tabindex="'.   $bt_tabindex   .'" />';
        } else if ($bt_info['element'] == 'textarea') {
            $bt_rows_generique = '25';
            $bt_rows = (empty($bt_info['rows'])) ? $bt_rows_generique : $bt_info['rows'] ;
            $bt_cols_generique = '75';
            $bt_cols = (empty($bt_info['cols'])) ? $bt_cols_generique : $bt_info['cols'] ;
            // Rendu xhtml
            $retour .=  '<'.$bt_info['element'].' '.
                            'id="'.         $bt_id      .'" '.
                            'name="'.       $bt_name    .'" '.
                            'rows="'.       $bt_rows    .'" '.
                            'cols="'.       $bt_cols    .'" ';
            $retour .=  (empty($bt_info['disabled'])) ? '' : 'disabled="disabled" ';
            $retour .=      'tabindex="'.   $bt_tabindex   .'">';
            $retour .=  $bt_value;
            $retour .=  '</'.$bt_info['element'].'>';
        }
        $retour .=  (!$bt_obligatoire) ? '' : '<span id="symoble_obligatoire">*</span>';
        $retour .=  '</li>'."\n";
    }
    
    return $retour;
}

// +- Fin du code source  --------------------------------------------------------------------------------+
/*
* $Log: not supported by cvs2svn $
* Revision 1.6  2004/05/07 16:33:39  jpm
* Modification de commentaires.
*
* Revision 1.5  2004/04/30 16:22:53  jpm
* Poursuite de l'administration des sites.
*
* Revision 1.4  2004/04/02 16:36:35  jpm
* Ajout d'une fonction générant des boutons pour les formulaires.
*
* Revision 1.3  2004/04/01 11:21:41  jpm
* Ajout et modification de commentaires pour PhpDocumentor.
*
* Revision 1.2  2004/03/24 20:02:25  jpm
* Modification de l'indentation du xhtml renvoyé.
*
* Revision 1.1  2004/03/24 10:01:33  jpm
* Changement de nom de la bibliothèque de fonction d'affichage du xhtml.
*
* Revision 1.1  2004/03/24 10:00:11  jpm
* Transfert de la fonction de contruction du xhtml de l'application dans ce fichier.
*
*
*/