Changeset 7518 in spip-zone


Ignore:
Timestamp:
Nov 22, 2006, 1:51:28 PM (13 years ago)
Author:
cedric@…
Message:

Pour faire des hCard, il faut que la donnee puisse etre wrapee (champ wrap au niveau global)
et aussi les fieldset (sous elements)
Le wrap peut etre de forme simple :
<span class='truc'></span>
ou plus complexe :
<a href='$1' class='truc'>$1</a>

Un formulaire type qui implemente hCard, et le modele donnee qui l'affiche correctement
Ca fait un modele assez imbitable, mais ca marche

Location:
_plugins_/_stable_/forms/forms_et_tables_1_9_1
Files:
3 added
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/forms/forms_et_tables_1_9_1/action/forms_edit.php

    r7410 r7518  
    8888        $moderation = _request('moderation');
    8989        $public = _request('public');
     90        $html_wrap = _request('html_wrap');
    9091
    9192        $modif_champ = _request('modif_champ');
     
    120121                        "texte="._q($texte).", ".
    121122                        "moderation="._q($moderation).", ".
    122                         "public="._q($public)." ".
     123                        "public="._q($public).", ".
     124                        "html_wrap="._q($html_wrap)." ".
    123125                        "WHERE id_form="._q($id_form);
    124126                $result = spip_query($query);
     
    135137                $email = unserialize($row['email']);
    136138                $champconfirm = $row['champconfirm'];
     139                $html_wrap = $row['html_wrap'];
    137140                $texte = $row['texte'];
    138141        }
  • _plugins_/_stable_/forms/forms_et_tables_1_9_1/base/forms.php

    r7273 r7518  
    2828        "public" => "ENUM('non', 'oui') DEFAULT 'non' NOT NULL",
    2929        "linkable" => "ENUM('non', 'oui') DEFAULT 'non' NOT NULL",
     30        'html_wrap' => "text",
    3031        "maj"           => "TIMESTAMP");
    3132
  • _plugins_/_stable_/forms/forms_et_tables_1_9_1/base/forms_upgrade.php

    r7273 r7518  
    4949
    5050        function Forms_upgrade(){
    51                 $version_base = 0.18;
     51                $version_base = 0.19;
    5252                $current_version = 0.0;
    5353                if (   (isset($GLOBALS['meta']['forms_base_version']) )
     
    164164                        ecrire_meta('forms_base_version',$current_version=0.18);
    165165                }
     166                if ($current_version<0.19){
     167                        spip_query("ALTER TABLE spip_forms ADD html_wrap text AFTER linkable");
     168                        ecrire_meta('forms_base_version',$current_version=0.19);
     169                }
    166170                ecrire_metas();
    167171        }
  • _plugins_/_stable_/forms/forms_et_tables_1_9_1/forms_fonctions.php

    r7483 r7518  
    193193}
    194194
     195function wrap_champ($texte,$wrap){
     196        if (!strlen(trim($wrap)) || !strlen(trim($texte))) return $texte;
     197        if (strpos($wrap,'$1')===FALSE){
     198                $wrap = wrap_split($wrap);
     199                $texte = array_shift($wrap).$texte.array_shift($wrap);
     200        }
     201        else
     202                $texte = str_replace('$1',trim($texte),$wrap);
     203        return $texte;
     204}
     205
    195206function balise_RESULTATS_SONDAGE($p) {
    196207        $_id_form = champ_sql('id_form', $p);
  • _plugins_/_stable_/forms/forms_et_tables_1_9_1/inc/forms_edit.php

    r7502 r7518  
    158158                $out .= "<label for='spec_$champ'>"._T("forms:champ_specifiant")."</label>";
    159159                $out .= "<br />\n";
    160         }
    161         $checked = ($public == 'oui') ? " checked='checked'" : "";
    162         $out .= "&nbsp; &nbsp; <input type='checkbox' name='champ_public' value='oui' id='public_$champ'$checked> ";
    163         $out .= "<label for='public_$champ'>"._T("forms:champ_public")."</label>";
    164         $out .= "<br />\n";
     160               
     161                $checked = ($public == 'oui') ? " checked='checked'" : "";
     162                $out .= "&nbsp; &nbsp; <input type='checkbox' name='champ_public' value='oui' id='public_$champ'$checked> ";
     163                $out .= "<label for='public_$champ'>"._T("forms:champ_public")."</label>";
     164                $out .= "<br />\n";
     165        }
     166        if ($type == 'separateur' || $type=='textestatique'){
     167                $out = "<input type='hidden' name='champ_public' value='oui' />";
     168        }
    165169
    166170        if ($type == 'url') {
     
    326330                        $formulaire .= " &nbsp;<input type='text' name='nom_champ' id='nom_$champ' value=\"".
    327331                                entites_html($row['titre'])."\" class='fondo verdana2 $focus' size='30' /><br />\n";
     332                        $formulaire .= Forms_bloc_edition_champ($row, $action_link, $redirect, $id_bloc);
    328333                }
    329334                else if ($type=='textestatique'){
     
    331336                        $formulaire .= " &nbsp;<textarea name='nom_champ' id='nom_$champ'  class='verdana2 $focus' style='width:100%;height:5em;' />".
    332337                                entites_html($row['titre'])."</textarea><br />\n";
     338                        $formulaire .= Forms_bloc_edition_champ($row, $action_link, $redirect, $id_bloc);
    333339                }
    334340                else{
     
    342348                                entites_html($row['aide'])."</textarea><br />\n";
    343349                               
    344                         $formulaire .= "<label for='wrap_$champ'>"._T("forms:html_wrapper")."</label> :";
    345                         $formulaire .= " &nbsp;<textarea name='wrap_champ' id='wrap_$champ'  class='verdana2' style='width:90%;height:2em;' >".
    346                         entites_html($row['html_wrap'])."</textarea><br />\n";
    347                 }
     350                }
     351                $formulaire .= "<label for='wrap_$champ'>"._T("forms:html_wrapper")."</label> :";
     352                $formulaire .= " &nbsp;<textarea name='wrap_champ' id='wrap_$champ'  class='verdana2' style='width:90%;height:3em;' >".
     353                entites_html($row['html_wrap'])."</textarea><br />\n";
    348354
    349355                $formulaire .= "<div style='text-align:$spip_lang_right'>";
     
    507513        $out .= "<br />";
    508514        $out .= fin_cadre_enfonce(true);
     515       
     516        $out .= "<label for='wrap'>"._T("forms:html_wrapper")."</label> :";
     517        $out .= " &nbsp;<textarea name='html_wrap' id='wrap'  class='verdana2' style='width:90%;height:3em;' >".
     518        entites_html($row['html_wrap'])."</textarea><br />\n";
    509519               
    510520        $out .= "<div align='right'>";
  • _plugins_/_stable_/forms/forms_et_tables_1_9_1/modeles/donnee.html

    r7449 r7518  
    22<B_data>
    33<span id='donnee-#ID_DONNEE' class='donnees'>
     4#SET{donnee,''}
    45<BOUCLE_data(FORMS_DONNEES){id_donnee}>
     6        #SET{wrap_prec,''}
     7        #SET{tampon,''}
    58        <BOUCLE_champs(FORMS_CHAMPS){id_form}{par rang}>
    6                 <B_repchamps>
    7                 <span class='donnee-champ'>
    8                         <span class='donnee-champ-label'>#TITRE : </span>
    9                         #SET{wrap,#HTML_WRAP|wrap_split}
    10                         <span class='donnee-champ-data'>
    11                         [(#GET{wrap}|array_shift)]
    12                         <BOUCLE_repchamps(FORMS_DONNEES_CHAMPS){id_donnee}{champ}>[
    13                                 (#REM) Regarder si le champ est du type select ou multiple, car dans ce cas il faut
    14                                 decoder la reponse avec la structure du formulaire
    15                                 ]
    16                                 <BOUCLE_champsselectmulti(FORMS_CHAMPS){id_form}{champ}{type IN select,multiple}>
    17                                         <BOUCLE_champschoix(FORMS_CHAMPS_CHOIX){id_form}{champ}{choix=#VALEUR}>
    18                                         #TITRE
    19                                         </BOUCLE_champschoix>
    20                                 </BOUCLE_champsselectmulti>[
    21                                         (#REM) Regarder si le champ est du type mot cle, car dans ce cas il faut
    22                                         recuperer le titre du mot cle au lieu de l'id
    23                                         ]
    24                                         <BOUCLE_champsmot(FORMS_CHAMPS){id_form}{champ}{type=mot}>
    25                                                 <BOUCLE_champstitre(MOTS){id_mot=#VALEUR}>#TITRE</BOUCLE_champstitre>
    26                                         </BOUCLE_champsmot>[
    27                                                 (#REM) C'est finalement un champ normal
    28                                                 ]#VALEUR
    29                                                 <BOUCLE_fichier(FORMS_CHAMPS){id_form}{champ}{type=fichier}>
    30                                                 [(#ENV{mail_admin}|=={'oui'}|?{' ',''}) #URL_ECRIRE{forms_telecharger,id_donnee=#ID_DONNEE&champ=#CHAMP} ]
    31                                                 </BOUCLE_fichier>
    32                                         <//B_champsmot>
    33                                 <//B_champsselectmulti>
    34                         </BOUCLE_repchamps>
    35                         [(#GET{wrap}|array_shift)]
    36                         </span>
    37                 </span>
    38                 </B_repchamps>
     9                [(#TYPE|=={separateur}|?{' '})
     10                        #SET{donnee,#GET{donnee}|concat{#GET{tampon}|wrap_champ{#GET{wrap_prec}}}}
     11                        #SET{wrap_prec,#HTML_WRAP} #SET{tampon,''}
     12                ]
     13                #SET{truc,#INCLURE{fond=modeles/donnee_champ_1}{id_donnee}{champ}{id_form}}
     14                #SET{tampon,#GET{tampon}|concat{#GET{truc}}     }
    3915        </BOUCLE_champs>
     16        #SET{donnee,#GET{donnee}|concat{#GET{tampon}|wrap_champ{#GET{wrap_prec}}}}
     17        <BOUCLE_f(FORMS){id_form}>
     18        [(#GET{donnee}|wrap_champ{#HTML_WRAP})]
     19        </BOUCLE_f>
    4020</BOUCLE_data>
    4121<span class='nettoyeur'> </span>
Note: See TracChangeset for help on using the changeset viewer.