/** checkbox() - Ajoute un element de type case a cocher au formulaire
 *
 * @param    mixed   L'objet QuickForm du formulaire
 * @param    mixed   Le tableau des valeurs des differentes option pour l'element case a cocher
 * @param    string  Type d'action pour le formulaire : saisie, modification, vue,... saisie par defaut
 * @return   void
 */
function checkbox(&$formtemplate, $tableau_template, $mode, $valeurs_fiche)
{
    if ($mode == 'saisie') {
        $bulledaide = '';
        if (isset($tableau_template[10]) && $tableau_template[10] != '') {
            $bulledaide = ' &nbsp;&nbsp;<img class="tooltip_aide" title="' . htmlentities($tableau_template[10], ENT_QUOTES, TEMPLATES_DEFAULT_CHARSET) . '" src="tools/bazar/presentation/images/aide.png" width="16" height="16" alt="image aide" />';
        }
        $valliste = baz_valeurs_liste($tableau_template[1]);
        if ($valliste) {
            $id = $tableau_template[0] . $tableau_template[1] . $tableau_template[6];
            //valeurs par defauts
            if (isset($valeurs_fiche[$id])) {
                $tab = explode(',', $valeurs_fiche[$id]);
            } else {
                $tab = explode(',', $tableau_template[5]);
            }
            $choixcheckbox = $valliste['label'];
            if ($tableau_template[7] == 'tags') {
                $checkbox_html = '<div class="control-group form-group">' . "\n" . '<label class="control-label col-sm-3">' . "\n";
                if ($mode == 'saisie' && isset($tableau_template[8]) && $tableau_template[8] == 1) {
                    $checkbox_html .= '<span class="symbole_obligatoire">*&nbsp;</span>' . "\n";
                }
                $checkbox_html .= $tableau_template[2] . $bulledaide . ' : </label>' . "\n" . '<div class="controls col-sm-9"';
                if ($mode == 'saisie' && isset($tableau_template[8]) && $tableau_template[8] == 1) {
                    $checkbox_html .= ' required="required"';
                }
                $checkbox_html .= '>' . "\n";
                foreach ($choixcheckbox as $key => $title) {
                    $tabfiches[$key] = '{"id":"' . $key . '", "title":"' . str_replace('"', '\\"', $title) . '"}';
                }
                $script = '$(function(){
                    var tagsexistants = [' . implode(',', $tabfiches) . '];
                    var bazartag = [];
                    bazartag["' . $id . '"] = $(\'#formulaire .yeswiki-input-entries' . $id . '\');
                    bazartag["' . $id . '"].tagsinput({
                        itemValue: \'id\',
                        itemText: \'title\',
                        typeahead: {
                            afterSelect: function(val) { this.$element.val(""); },
                            source: tagsexistants
                        },
                        freeInput: false,
                        confirmKeys: [13, 188]
                    });' . "\n";
                if (is_array($tab) && count($tab) > 0 && !empty($tab[0])) {
                    foreach ($tab as $defid) {
                        if (isset($tabfiches[$defid])) {
                            $script .= 'bazartag["' . $id . '"].tagsinput(\'add\', ' . $tabfiches[$defid] . ');' . "\n";
                        }
                    }
                }
                $script .= '});' . "\n";
                $GLOBALS['wiki']->AddJavascriptFile('tools/tags/libs/vendor/bootstrap-tagsinput.min.js');
                $GLOBALS['wiki']->AddJavascript($script);
                $checkbox_html .= '<input type="text" name="' . $id . '" class="yeswiki-input-entries yeswiki-input-entries' . $id . '">';
                $checkbox_html .= "</div>\n</div>\n";
                $formtemplate->addElement('html', $checkbox_html);
            } else {
                if (isset($tableau_template[8]) && $tableau_template[8] == 1) {
                    $classrequired = ' chk_required';
                    $req = '<span class="symbole_obligatoire">&nbsp;*</span> ';
                } else {
                    $classrequired = '';
                    $req = '';
                }
                $checkbox_html = '<div class="control-group form-group">
<label class="control-label col-sm-3">
' . $req . $tableau_template[2] . $bulledaide . ' :</label>
<div class="controls col-sm-9">
<div class="bazar-checkbox-cols' . $classrequired . '">';
                foreach ($choixcheckbox as $key => $label) {
                    //teste si la valeur de la liste doit etre cochee par defaut
                    if (in_array($key, $tab)) {
                        $chk = ' checked';
                    } else {
                        $chk = '';
                    }
                    $checkbox_html .= '<div class="checkbox">' . "\n" . '  <label for="' . $id . '[' . $key . ']' . '">' . "\n" . '    <input class="element_checkbox" name="' . $id . '[' . $key . ']' . '" value="1"' . $chk . ' id="' . $id . '[' . $key . ']' . '" type="checkbox">' . $label . "\n" . '  </label>' . "\n" . '</div>' . "\n";
                }
                $checkbox_html .= '</div>
</div>
</div>';
                $formtemplate->addElement('html', $checkbox_html);
            }
        }
    } elseif ($mode == 'requete') {
        return array($tableau_template[0] . $tableau_template[1] . $tableau_template[6] => $valeurs_fiche[$tableau_template[0] . $tableau_template[1] . $tableau_template[6]]);
    } elseif ($mode == 'formulaire_recherche') {
        if ($tableau_template[9] == 1) {
            $valliste = baz_valeurs_liste($tableau_template[1]);
            require_once BAZ_CHEMIN . 'libs/vendor/HTML/QuickForm/checkbox.php';
            $i = 0;
            $optioncheckbox = array('class' => 'element_checkbox');
            foreach ($valliste['label'] as $id => $label) {
                if ($i == 0) {
                    $tab_chkbox = $tableau_template[2];
                } else {
                    $tab_chkbox = '&nbsp;';
                }
                if (isset($_REQUEST[$tableau_template[0] . $tableau_template[1] . $tableau_template[6]]) && array_key_exists($id, $_REQUEST[$tableau_template[0] . $tableau_template[1] . $tableau_template[6]])) {
                    $optioncheckbox['checked'] = 'checked';
                } else {
                    unset($optioncheckbox['checked']);
                }
                $checkbox[$i] =& HTML_QuickForm::createElement('checkbox', $id, $tab_chkbox, $label, $optioncheckbox);
                $i++;
            }
            $squelette_checkbox =& $formtemplate->defaultRenderer();
            $squelette_checkbox->setElementTemplate('<fieldset class="bazar_fieldset">' . "\n" . '<legend>{label}' . '<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->' . "\n" . '</legend>' . "\n" . '{element}' . "\n" . '</fieldset> ' . "\n" . "\n", $tableau_template[0] . $tableau_template[1] . $tableau_template[6]);
            $squelette_checkbox->setGroupElementTemplate("\n" . '<div class="checkbox">' . "\n" . '{element}' . "\n" . '</div>' . "\n", $tableau_template[0] . $tableau_template[1] . $tableau_template[6]);
            $formtemplate->addGroup($checkbox, $tableau_template[0] . $tableau_template[1] . $tableau_template[6], $tableau_template[2], "\n");
        }
    } elseif ($mode == 'html') {
        $html = '';
        if (isset($valeurs_fiche[$tableau_template[0] . $tableau_template[1] . $tableau_template[6]]) && $valeurs_fiche[$tableau_template[0] . $tableau_template[1] . $tableau_template[6]] != '') {
            $valliste = baz_valeurs_liste($tableau_template[1]);
            $tabresult = explode(',', $valeurs_fiche[$tableau_template[0] . $tableau_template[1] . $tableau_template[6]]);
            if (is_array($tabresult)) {
                $labels_result = '';
                foreach ($tabresult as $id) {
                    if (isset($valliste["label"][$id])) {
                        if ($labels_result == '') {
                            $labels_result = $valliste["label"][$id];
                        } else {
                            $labels_result .= ', ' . $valliste["label"][$id];
                        }
                    }
                }
            }
            $html = '<div class="BAZ_rubrique" data-id="' . $tableau_template[0] . $tableau_template[1] . $tableau_template[6] . '">' . "\n" . '<span class="BAZ_label">' . $tableau_template[2] . '&nbsp;:</span>' . "\n" . '<span class="BAZ_texte">' . "\n" . $labels_result . "\n" . '</span>' . "\n" . '</div> <!-- /.BAZ_rubrique -->' . "\n";
        }
        return $html;
    }
}
Exemplo n.º 2
0
/**
 * Affiche la liste des resultats d'une recherche.
 *
 * @param $tableau_fiches : tableau de fiches provenant du resultat de la recherche
 * @param $info_nb : booleen pour afficher ou non le nombre  du resultat de la recherche (vrai par defaut)
 */
function displayResultList($tableau_fiches, $params, $info_nb = true)
{
    // tableau des valeurs "facettables" avec leur nombres
    $facettevalue = array();
    // tableau qui contiendra les fiches
    $fiches['fiches'] = array();
    foreach ($tableau_fiches as $fiche) {
        $fiche = json_decode($fiche['body'], true);
        if (TEMPLATES_DEFAULT_CHARSET != 'UTF-8') {
            $fiche = array_map('utf8_decode', $fiche);
        }
        // champs correspondants
        if (!empty($params['correspondance'])) {
            $tabcorrespondance = explode('=', trim($params['correspondance']));
            if (isset($tabcorrespondance[0])) {
                if (isset($tabcorrespondance[1]) && isset($fiche[$tabcorrespondance[1]])) {
                    $fiche[$tabcorrespondance[0]] = $fiche[$tabcorrespondance[1]];
                } else {
                    $fiche[$tabcorrespondance[0]] = '';
                }
            } else {
                exit('<div class="alert alert-danger">action bazarliste : parametre correspondance mal rempli :
                 il doit etre de la forme correspondance="identifiant_1=identifiant_2"</div>');
            }
        }
        $fiche['html_data'] = getHtmlDataAttributes($fiche);
        $fiche['html'] = baz_voir_fiche(0, $fiche);
        //permet de voir la fiche
        $fiche['datastr'] = getHtmlDataAttributes($fiche);
        // on scanne tous les champs qui pourraient faire des filtres pour les facettes
        if (count($params['groups']) > 0) {
            $valform = baz_valeurs_formulaire($fiche['id_typeannonce']);
            foreach ($fiche as $key => $value) {
                if (!empty($value)) {
                    $facetteasked = isset($params['groups'][0]) && $params['groups'][0] == 'all' || in_array($key, $params['groups']);
                    if (in_array($key, array('id_typeannonce', 'createur')) && $facetteasked) {
                        // champs génériques des métadonnées
                        if ($key == 'id_typeannonce') {
                            $value = $fiche['id_typeannonce'] . '|' . $valform['bn_label_nature'];
                        }
                        if (isset($facettevalue[$key][$value])) {
                            ++$facettevalue[$key][$value];
                        } else {
                            $facettevalue[$key][$value] = 1;
                        }
                    } else {
                        // liste, checkbox, listefiche ou checkboxfiche
                        $templatef = $valform['template'];
                        if (is_array($templatef)) {
                            foreach ($templatef as $id => $val) {
                                if ($val[1] === $key || isset($val[6]) && $val[0] . $val[1] . $val[6] === $key) {
                                    $islist = in_array($templatef[$id][0], array('checkbox', 'liste', 'scope'));
                                    $islistforeign = in_array($templatef[$id][0], array('checkboxfiche', 'listefiche'));
                                    if ($islist && $facetteasked) {
                                        // liste ou checkbox
                                        $tabval = explode(',', $value);
                                        foreach ($tabval as $val) {
                                            $facettevalue[$key]['type'] = 'liste';
                                            $facettevalue[$key]['source'] = $templatef[$id][1];
                                            if (isset($facettevalue[$key][$val])) {
                                                ++$facettevalue[$key][$val];
                                            } else {
                                                $facettevalue[$key][$val] = 1;
                                            }
                                        }
                                    } elseif ($islistforeign && $facetteasked) {
                                        // listefiche ou checkboxfiche
                                        $facettevalue[$key]['type'] = 'fiche';
                                        $facettevalue[$key]['source'] = $templatef[$id][1];
                                        $tabval = explode(',', $value);
                                        foreach ($tabval as $val) {
                                            if (isset($facettevalue[$key][$val])) {
                                                ++$facettevalue[$key][$val];
                                            } else {
                                                $facettevalue[$key][$val] = 1;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        // tableau qui contient le contenu de toutes les fiches
        $fiches['fiches'][$fiche['id_fiche']] = $fiche;
    }
    // tri des fiches
    $GLOBALS['ordre'] = $params['ordre'];
    $GLOBALS['champ'] = $params['champ'];
    usort($fiches['fiches'], 'champCompare');
    // Limite le nombre de résultat au nombre de fiches demandées
    if ($params['nb'] != '') {
        $fiches['fiches'] = array_slice($fiches['fiches'], 0, $params['nb']);
    }
    if ($info_nb) {
        $fiches['info_res'] = '<div class="alert alert-info">' . _t('BAZ_IL_Y_A');
        $nb_result = count($fiches['fiches']);
        if ($nb_result <= 1) {
            $fiches['info_res'] .= $nb_result . ' ' . _t('BAZ_FICHE') . '</div>' . "\n";
        } else {
            $fiches['info_res'] .= $nb_result . ' ' . _t('BAZ_FICHES') . '</div>' . "\n";
        }
    } else {
        $fiches['info_res'] = '';
    }
    if (!empty($params['pagination'])) {
        // Mise en place du Pager
        require_once 'Pager/Pager.php';
        $param = array('mode' => BAZ_MODE_DIVISION, 'perPage' => $params['pagination'], 'delta' => BAZ_DELTA, 'httpMethod' => 'GET', 'extraVars' => array_merge($_POST, $_GET), 'altNext' => _t('BAZ_SUIVANT'), 'altPrev' => _t('BAZ_PRECEDENT'), 'nextImg' => _t('BAZ_SUIVANT'), 'prevImg' => _t('BAZ_PRECEDENT'), 'itemData' => $fiches['fiches']);
        $pager =& Pager::factory($param);
        $fiches['fiches'] = $pager->getPageData();
        $fiches['pager_links'] = '<div class="bazar_numero">' . $pager->links . '</div>' . "\n";
    } else {
        $fiches['pager_links'] = '';
    }
    // affichage des resultats
    include_once 'tools/bazar/libs/squelettephp.class.php';
    // On cherche un template personnalise dans le repertoire themes/tools/bazar/templates
    $templatetoload = 'themes/tools/bazar/templates/' . $params['template'];
    if (!is_file($templatetoload)) {
        $templatetoload = 'tools/bazar/presentation/templates/' . $params['template'];
    }
    $squelfacette = new SquelettePhp($templatetoload);
    $fiches['param'] = $params;
    $squelfacette->set($fiches);
    $output = $squelfacette->analyser();
    // affichage spécifique pour facette
    if (count($facettevalue) > 0) {
        // affichage des resultats et filtres dans une grille
        $outputfacette = '<div class="facette-container row row-fluid">' . "\n";
        // calcul de la largeur de la colonne pour les resultats, en fonction de la taille des filtres
        $resultcolsize = 12 - intval($params['filtercolsize']);
        // colonne des resultats
        $outputresult = '<div class="col-xs-' . $resultcolsize . ' span' . $resultcolsize . '">' . "\n" . '<div class="results">' . "\n" . '<div class="alert alert-info">' . "\n" . _t('BAZ_IL_Y_A') . '<span class="nb-results">' . count($fiches['fiches']) . '</span> ' . _t('BAZ_FICHES_CORRESPONDANTES_FILTRES') . "\n" . '.</div>' . "\n" . $output . "\n" . '</div> <!-- /.results -->' . "\n" . '</div> <!-- /.col-xs-' . $resultcolsize . ' -->';
        // colonne des filtres
        $outputfilter = '<div class="col-xs-' . $params['filtercolsize'] . ' span' . $params['filtercolsize'] . '">' . "\n" . '<div class="filters no-dblclick">' . "\n";
        if (isset($facettevalue['id_typeannonce'])) {
            if (count($facettevalue['id_typeannonce']) > 1) {
                $outputfilter .= '<div class="filter-box panel panel-default" data-id="id_typeannonce">' . "\n";
                $outputfilter .= '<div class="panel-heading">' . _t('BAZ_TYPE_FICHE') . '</div>' . "\n";
                $outputfilter .= '<div class="panel-body">' . "\n";
                foreach ($facettevalue['id_typeannonce'] as $id => $nb) {
                    $infotypef = explode('|', $id);
                    $outputfilter .= '<div class="checkbox">
                    <input class="filter-checkbox" type="checkbox" name="id_typeannonce"
                    value="' . htmlspecialchars($infotypef[0]) . '">
                    <label for="id_typeannonce"> ' . $infotypef[1] . ' (<span class="nb">' . $nb . '</span>)</label>
                    </div>' . "\n";
                }
                $outputfilter .= '</div></div><!-- /.filter-box -->' . "\n";
            }
            unset($facettevalue['id_typeannonce']);
        }
        if (isset($facettevalue['createur'])) {
            if (count($facettevalue['createur']) > 1) {
                $outputfilter .= '<div class="filter-box panel panel-default" data-id="createur">' . "\n";
                $outputfilter .= '<div class="panel-heading">' . _t('BAZ_CREATOR') . '</div>' . "\n";
                $outputfilter .= '<div class="panel-body">' . "\n";
                foreach ($facettevalue['createur'] as $id => $nb) {
                    $outputfilter .= '<div class="checkbox">
                    <input class="filter-checkbox" type="checkbox" name="createur"
                    value="' . htmlspecialchars($id) . '"><label for="createur"> ' . $id . ' (<span class="nb">' . $nb . '</span>)
                    </label></div>' . "\n";
                }
                $outputfilter .= '</div></div><!-- /.filter-box -->' . "\n";
            }
            unset($facettevalue['createur']);
        }
        $i = 0;
        $first = true;
        foreach ($params['groups'] as $id) {
            // on formatte la liste des resultats en fonction de la source
            if ($facettevalue[$id]['type'] == 'liste') {
                $list = baz_valeurs_liste($facettevalue[$id]['source']);
            } elseif ($facettevalue[$id]['type'] == 'fiche') {
                $form = baz_valeurs_formulaire($facettevalue[$id]['source']);
                $list['titre_liste'] = $form['bn_label_nature'];
                foreach ($facettevalue[$id] as $idfiche => $nb) {
                    if ($idfiche != 'source' && $idfiche != 'type') {
                        $f = baz_valeurs_fiche($idfiche);
                        $list['label'][$idfiche] = $f['bf_titre'];
                    }
                }
            }
            $idkey = htmlspecialchars($id);
            $outputfilter .= '<div class="filter-box panel panel-default ' . $idkey . '" data-id="' . $idkey . '">' . "\n";
            $titlefilterbox = '';
            if (isset($params['groupicons'][$i]) && !empty($params['groupicons'][$i])) {
                $titlefilterbox .= '<i class="' . $params['groupicons'][$i] . '"></i> ';
            }
            if (isset($params['titles'][$i]) && !empty($params['titles'][$i])) {
                $titlefilterbox .= $params['titles'][$i];
            } else {
                $titlefilterbox .= $list['titre_liste'];
            }
            $outputfilter .= '<div class="panel-heading';
            if (!$first) {
                $outputfilter .= ' collapsed';
            }
            $outputfilter .= '" data-toggle="collapse" href="#collapse' . $GLOBALS['nbbazarliste'] . '_' . $idkey . '" >' . $titlefilterbox . '</div>' . "\n";
            $outputfilter .= '<div id="collapse' . $GLOBALS['nbbazarliste'] . '_' . $idkey . '" class="panel-collapse';
            if ($first) {
                $outputfilter .= ' in';
            }
            $outputfilter .= ' collapse">' . "\n";
            $outputfilter .= '<div class="panel-body">' . "\n";
            foreach ($list['label'] as $listkey => $label) {
                if (isset($facettevalue[$id][$listkey]) && !empty($facettevalue[$id][$listkey])) {
                    $outputfilter .= '<div class="checkbox">
                    <input class="filter-checkbox" type="checkbox" id="' . $idkey . $listkey . '" name="' . $idkey . '"
                    value="' . htmlspecialchars($listkey) . '">
                    <label for="' . $idkey . $listkey . '"> ' . $label . ' (<span class="nb">' . $facettevalue[$id][$listkey] . '</span>)
                    </label></div>' . "\n";
                }
            }
            $outputfilter .= '</div></div></div><!-- /.filter-box -->' . "\n";
            ++$i;
            $first = false;
        }
        $outputfilter .= '</div> <!-- /.filters -->' . "\n" . '</div> <!-- /.col-xs-3 -->' . "\n";
        // disposition des filtres (gauche ou droite)
        if ($params['filterposition'] == 'right') {
            $outputfacette .= $outputresult . $outputfilter;
        } else {
            $outputfacette .= $outputfilter . $outputresult;
        }
        $output = $outputfacette . '</div><!-- /.facette-container.row -->';
    }
    return $output;
}
         }
         $valeurs_fiche['lien_voir_titre'] = '<a class="BAZ_lien_modifier" href="' . $this->href('', $valeurs_fiche['id_fiche']) . '">' . $valeurs_fiche['bf_titre'] . '</a>' . "\n";
         $valeurs_fiche['lien_voir'] = '<a class="BAZ_lien_modifier" href="' . $this->href('', $valeurs_fiche['id_fiche']) . '"></a>' . "\n";
         $fiches['fiches'][] = $valeurs_fiche;
     }
 }
 // trie par liste choisie
 usort($fiches['fiches'], 'champCompare');
 // preparation du template
 include_once 'tools/bazar/libs/squelettephp.class.php';
 // On cherche un template personnalise dans le repertoire themes/tools/bazar/templates
 $templatetoload = 'themes/tools/bazar/templates/' . $template;
 if (!is_file($templatetoload)) {
     $templatetoload = 'tools/bazar/presentation/templates/' . $template;
 }
 $listvalues = baz_valeurs_liste($list);
 $currentlabel = '';
 $fichescat = '';
 $output = '';
 $first = true;
 foreach ($fiches['fiches'] as $fiche) {
     $fiche['multipleid'] = htmlspecialchars(trim(str_replace('/', '', $fiche[$id])) . $fiche['id_fiche']);
     if ($currentlabel !== $fiche[$id]) {
         if (!$first) {
             if (is_array($fichescat) && count($fichescat) > 0) {
                 $squel = new SquelettePhp($templatetoload);
                 $squel->set($fichescat);
                 // on passe le tableau de fiches en parametres
                 $output .= $squel->analyser();
                 // affiche les résultats
             }
Exemplo n.º 4
0
/** baz_valeurs_toutes_les_listes() - Toutes les informations de toutes les listes
*
*
* @param	string type de format de reponse : html (par defaut) ou json
*
* @return   array
*/
function baz_valeurs_toutes_les_listes($format = 'html')
{
    //requete pour obtenir toutes les PageWiki de type liste
    $requete_sql = 'SELECT resource FROM `' . BAZ_PREFIXE . 'triples` WHERE `property`="http://outils-reseaux.org/_vocabulary/type" AND `value`="liste"';
    $nomwikilistes = $GLOBALS['wiki']->LoadAll($requete_sql);
    $valeurs_liste = '';
    if (is_array($nomwikilistes[0])) {
        foreach ($nomwikilistes as $nomwiki) {
            if ($format == 'html') {
                $tab_liste = baz_valeurs_liste($nomwiki['resource']);
                $valeurs_liste[$nomwiki['resource']] = $tab_liste;
            } elseif ($format == 'json') {
                $valjson = $GLOBALS['wiki']->LoadPage($nomwiki['resource']);
                $valeurs_liste[$nomwiki['resource']] = json_decode($valjson["body"], true);
            }
        }
        // on trie par ordre alphabetique et on renvoie le resultat
        ksort($valeurs_liste);
        return $valeurs_liste;
    } else {
        return false;
    }
}
/** checkbox() - Ajoute un element de type case a cocher au formulaire
*
* @param    mixed   L'objet QuickForm du formulaire
* @param    mixed   Le tableau des valeurs des differentes option pour l'element case a cocher
* @param    string  Type d'action pour le formulaire : saisie, modification, vue,... saisie par defaut
* @return   void
*/
function checkbox(&$formtemplate, $tableau_template, $mode, $valeurs_fiche)
{
    if ($mode == 'saisie') {
        // on ajout la bulle d'aide si elle existe
        $bulledaide = '';
        if (isset($tableau_template[10]) && $tableau_template[10] != '') {
            $bulledaide = ' <img class="tooltip_aide" title="' . htmlentities($tableau_template[10]) . '" src="tools/bazar/presentation/images/aide.png" width="16" height="16" alt="image aide" />';
        }
        // valeurs de la liste
        $valliste = baz_valeurs_liste($tableau_template[1]);
        $choixcheckbox = $valliste['label'];
        // valeurs par defauts
        if (isset($valeurs_fiche[$tableau_template[0] . $tableau_template[1] . $tableau_template[6]])) {
            $tab = split(',', $valeurs_fiche[$tableau_template[0] . $tableau_template[1] . $tableau_template[6]]);
        } else {
            $tab = split(',', $tableau_template[5]);
        }
        $squelette_checkbox = '<fieldset class="bazar_fieldset">' . "\n" . '<legend>' . $tableau_template[2] . $bulledaide;
        if (isset($tableau_template[8]) && $tableau_template[8] == 1) {
            $squelette_checkbox .= '<span class="symbole_obligatoire">&nbsp;*</span>';
        }
        $squelette_checkbox .= '</legend>' . "\n";
        // generation de la liste des checkbox
        foreach ($choixcheckbox as $id => $label) {
            // teste si la valeur de la liste doit etre cochee par defaut
            if (in_array($id, $tab)) {
                $defaultValues[$tableau_template[0] . $tableau_template[1] . $tableau_template[6] . '[' . $id . ']'] = true;
            } else {
                $defaultValues[$tableau_template[0] . $tableau_template[1] . $tableau_template[6] . '[' . $id . ']'] = false;
            }
            $squelette_checkbox .= '<div class="bazar_checkbox">' . "\n" . "\n" . '</div>';
        }
        $squelette_checkbox .= '</fieldset> ' . "\n";
        return $squelette_checkbox;
    } elseif ($mode == 'requete') {
    } elseif ($mode == 'formulaire_recherche') {
        if ($tableau_template[9] == 1) {
            // valeurs de la liste
            $valliste = baz_valeurs_liste($tableau_template[1]);
            $squelette_checkbox = '';
            if ($valliste) {
                $choixcheckbox = $valliste['label'];
                //var_dump($valliste);
                $squelette_checkbox .= '<fieldset class="bazar_fieldset">' . "\n" . '<legend>' . $tableau_template[2] . '</legend>' . "\n";
                // generation de la liste des checkbox
                foreach ($choixcheckbox as $id => $label) {
                    $squelette_checkbox .= '<div class="bazar_checkbox">' . "\n" . '<input type="checkbox" id="checkbox_' . $tableau_template[1] . $id . '" value="1" name="checkbox' . $tableau_template[1] . '[' . $id . ']" class="element_checkbox">' . "\n" . '<label for="checkbox_' . $tableau_template[1] . $id . '">' . $label . '</label>' . "\n" . '</div>';
                }
                $squelette_checkbox .= '</fieldset> ' . "\n";
            }
            return $squelette_checkbox;
        }
    } elseif ($mode == 'html') {
        $html = '';
        if (isset($valeurs_fiche[$tableau_template[0] . $tableau_template[1] . $tableau_template[6]]) && $valeurs_fiche[$tableau_template[0] . $tableau_template[1] . $tableau_template[6]] != '') {
            $valliste = baz_valeurs_liste($tableau_template[1]);
            $tabresult = explode(',', $valeurs_fiche[$tableau_template[0] . $tableau_template[1] . $tableau_template[6]]);
            if (is_array($tabresult)) {
                $labels_result = '';
                foreach ($tabresult as $id) {
                    if (isset($valliste["label"][$id])) {
                        if ($labels_result == '') {
                            $labels_result = $valliste["label"][$id];
                        } else {
                            $labels_result .= ', ' . $valliste["label"][$id];
                        }
                    }
                }
            }
            $html = '<div class="BAZ_rubrique">' . "\n" . '<span class="BAZ_label">' . $tableau_template[2] . '&nbsp;:</span>' . "\n" . '<span class="BAZ_texte">' . "\n" . $labels_result . "\n" . '</span>' . "\n" . '</div>' . "\n";
        }
        return $html;
    }
}
Exemplo n.º 6
0
 } else {
     $prepared[$i]['type'] = 'radio';
 }
 // texte d'invitation à la saisie
 $prepared[$i]['label'] = $formelem[2];
 // attributs html du champs
 $prepared[$i]['attributes'] = '';
 // champs obligatoire
 if ($formelem[8] == 1) {
     $prepared[$i]['required'] = true;
 } else {
     $prepared[$i]['required'] = false;
 }
 // valeurs associées
 if (in_array($formelem[0], array('radio', 'liste', 'checkbox'))) {
     $prepared[$i]['values'] = baz_valeurs_liste($formelem[1]);
 } else {
     $tabquery = array();
     if (!empty($formelem[12])) {
         $tableau = array();
         $tab = explode('|', $formelem[12]);
         //découpe la requete autour des |
         foreach ($tab as $req) {
             $tabdecoup = explode('=', $req, 2);
             $tableau[$tabdecoup[0]] = trim($tabdecoup[1]);
         }
         $tabquery = array_merge($tabquery, $tableau);
     } else {
         $tabquery = '';
     }
     $result = baz_requete_recherche_fiches($tabquery, $order, $formelem[1], '', 1, '', '', false, !empty($formelem[13]) ? $formelem[13] : '');