Subversion Repositories Applications.projet

Rev

Rev 249 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1                                                                                      |
// +------------------------------------------------------------------------------------------------------+
// | 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 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                                    |
// | General Public License for more details.                                                             |
// |                                                                                                      |
// | You should have received a copy of the GNU 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: HTML_formulaireCouperColler.class.php,v 1.2 2005/09/27 16:39:25 alexandre_tb Exp $
/**
* Application projet
*
* La classe HTML_formulaireCouperColler
*
*@package projet
//Auteur original :
*@author        Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author        Aucun
*@copyright     Tela-Botanica 2000-2004
*@version       $Revision: 1.2 $
// +------------------------------------------------------------------------------------------------------+
*/

// +------------------------------------------------------------------------------------------------------+
// |                                            ENTETE du PROGRAMME                                       |
// +------------------------------------------------------------------------------------------------------+

require_once 'HTML/QuickForm.php' ;

/**
 * class HTML_formulaireCouperColler
 * 
 */
class HTML_formulaireCouperColler extends HTML_QuickForm
{
    /**
     * 
     *
     * @return void
     * @access public
     */
    function construitFormulaire($tableau_repertoire)
    {
        $squelette =& $this->defaultRenderer();
        $squelette->setFormTemplate("\n".'<form{attributes}><ul>'."\n".'{content}'."\n".'</ul></form>'."\n");
        $squelette->setElementTemplate( '<li style="list-style-type: none;">'."\n".'{element}'."\n".'</li>'."\n");
        
        $this->addElement('radio', 'projet_repertoire', '', PROJET_RACINE, 0) ;
        
        if (count ($tableau_repertoire)) {
            $this->addElement('html', '<ul>') ;
            foreach ($tableau_repertoire as $valeur) {
                if ($valeur['id_pere'] ==0) {
                    $this->addElement ('radio', 'projet_repertoire', '', $valeur['label'], $valeur['id']) ;
                    if (count ($valeur['fils'])) $this->construireArbreRadio ($valeur['fils']);
                }
            }
            $this->addElement('html', '</ul>') ;
        }
        
        $url_annuler = new Net_URL($this->getAttribute('action')) ;
        $url_annuler->removeQueryString(PROJET_VARIABLE_ACTION) ;
        
        // on fait un groupe avec les boutons pour les mettres sur la même ligne
        $buttons[] = &HTML_QuickForm::createElement('link', 'annuler', '', 
                            preg_replace ("/&amp;/", "&", $url_annuler->getURL()), PROJET_FICHIER_ANNULER
                                            ); // Le preg_replace contourne un pb de QuickForm et Net_URL
                                            // qui remplacent deux fois les & par des &amp;
                                            // ce qui fait échouer le lien
        $buttons[] = &HTML_QuickForm::createElement('submit', 'valider_inscription_projet', PROJET_FICHIER_VALIDER);
        $this->addGroup($buttons, null, null, '&nbsp;');
    } // end of member function construitFormulaire

        function construireArbreRadio(&$noeud) {
         foreach ($noeud as $val) {
                $this->addElement('html', '<ul>') ;
                $this->construitLigneRepertoire($val) ;
                if (count($val['fils'])) $this->construireArbreRadio ($val['fils']) ;
                $this->addElement('html', '</ul>') ;
         }
    }
    /**
    *
    *
    *
    *
    */
    
    function construitLigneRepertoire($noeud) {
        $this->addElement('html', '<ul>') ;
        $this->addElement('radio', 'projet_repertoire', '', $noeud['label'], $noeud['id']) ;
        $this->addElement('html', '</ul>') ;
    }
    /**
     * 
     *
     * @return void
     * @access public
     */
    function HTML_formulaireCouperColler($formName = '',  $method = 'post',  $action = '',  $target = '_self',  $attributes = '',  $trackSubmit = false  )
    {
        HTML_QuickForm::HTML_QuickForm($formName, $method, $action, $target, $attributes, $trackSubmit) ;
    } // end of member function HTML_formulaireCouperColler

    /**
     * 
     *
     * @return string
     * @access public
     */
    function toHTML($nom_de_fichier)
    {
        $res = '<h2>'.PROJET_CHANGER_REPERTOIRE.'</h2>'."\n" ;
        $res .= PROJET_FICHIER_A_DEPLACER . $nom_de_fichier;
        $res .= '<h2>'.PROJET_CHOISISSEZ_REPERTOIRE.'</h2>' ;
        $res .= HTML_QuickForm::toHTML() ;
        return $res ;
    }
}
?>