Changeset 108830 in spip-zone


Ignore:
Timestamp:
Feb 6, 2018, 11:00:45 AM (20 months ago)
Author:
rastapopoulos@…
Message:

On trouve et affiche les champs pour le formulaire d'inscription aussi. Mais ce n'est pas encore très calé, car il faut prendre en compte les champs qui sont déjà là, peut-être les supprimer, etc, je ne sais pas trop. On va déjà finir la partie profil complet avant de revenir à l'inscription plus tard.

Location:
_plugins_/profils/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/profils/trunk/inc/profils.php

    r108827 r108830  
    3636        // Sinon on cherche
    3737        else {
     38                // Si pas d'id on va chercher le premier
    3839                if (!$id_ou_identifiant_profil) {
    39                         return $profil;
    40                 }
     40                        $profil = sql_fetsel('*', 'spip_profils', '', '', 'id_profil asc', '0,1');
     41                }
     42                // Si c'est un identifiant numérique
    4143                elseif ($id_ou_identifiant_profil === intval($id_ou_identifiant_profil)) {
    4244                        $profil = sql_fetsel('*', 'spip_profils', 'id_profil = '.intval($id_ou_identifiant_profil));
    4345                }
     46                // Si c'est un identifiant textuel
    4447                else {
    4548                        $profil = sql_fetsel('*', 'spip_profils', 'identifiant = '.sql_quote($id_ou_identifiant_profil));
  • _plugins_/profils/trunk/paquet.xml

    r108662 r108830  
    2323        <pipeline nom="declarer_tables_interfaces" inclure="base/profils.php" />
    2424        <pipeline nom="optimiser_base_disparus" inclure="profils_pipelines.php" />
     25        <pipeline nom="formulaire_saisies" inclure="profils_pipelines.php" />
     26        <pipeline nom="formulaire_fond" inclure="profils_pipelines.php" />
     27        <pipeline nom="formulaire_traiter" inclure="profils_pipelines.php" />
    2528
    2629        <menu nom="profils" titre="profil:titre_profils" parent="menu_configuration" icone="images/profil-16.png" action="profils" />
  • _plugins_/profils/trunk/profils_pipelines.php

    r108662 r108830  
    1414}
    1515
    16 
    1716/**
    1817 * Optimiser la base de données
     
    2928        return $flux;
    3029}
     30
     31/**
     32 * Liste les saisies à ajouter au formulaire d'inscription
     33 *
     34 * @pipeline formulaire_saisies
     35 * @param  array $flux Données du pipeline
     36 * @return array       Données du pipeline
     37 */
     38function profils_formulaire_saisies($flux) {
     39        if ($flux['args']['form'] == 'inscription') {
     40                include_spip('inc/profils');
     41               
     42                if ($saisies = profils_chercher_saisies_profil('inscription', 'new')) {
     43                        $flux['data'] = $saisies;
     44                }
     45        }
     46
     47        return $flux;
     48}
     49
     50/**
     51 * Ajoute les champs au formulaire d'inscription
     52 *
     53 * @pipeline formulaire_fond
     54 * @param  array $flux Données du pipeline
     55 * @return array       Données du pipeline
     56 */
     57function profils_formulaire_fond($flux) {
     58        if (
     59                $flux['args']['form'] == 'inscription'
     60                and $saisies = $flux['args']['contexte']['_saisies']
     61        ) {
     62                // On génère le HTML des champs
     63                $contexte = $flux['args']['contexte'];
     64                $contexte['saisies'] = $contexte['_saisies'];
     65                unset($contexte['_saisies']);
     66                $champs = recuperer_fond('inclure/generer_saisies', $contexte);
     67               
     68                // On insère
     69                $flux['data'] = preg_replace(
     70                        "/(<(li|div) [^>]*class=[\"']editer saisie_mail_inscription.*<\/(li|div)>)/Uims",
     71                        "\\1" . $champs,
     72                        $flux['data'],
     73                        1
     74                );
     75        }
     76
     77        return $flux;
     78}
Note: See TracChangeset for help on using the changeset viewer.