Browse Source

Les tests complétés et mis à jour

svn/root/tags/v0.13.0
jluc@no-log.org 3 years ago
parent
commit
41628e9705
  1. 19
      .gitattributes
  2. 36
      macrotests.html
  3. 26
      macrotests/autoriser.html
  4. 40
      macrotests/autoriser_balise_boucle.html
  5. 40
      macrotests/autoriser_balise_get.html
  6. 43
      macrotests/autoriser_dans_boucle.html
  7. 48
      macrotests/autoriser_motcle.html
  8. 39
      macrotests/autoriser_motcle_boucle.html
  9. 23
      macrotests/session.html
  10. 10
      macrotests/session_balise_boucle.html
  11. 6
      macrotests/session_balise_boucle_etoile.html
  12. 6
      macrotests/session_balise_boucle_id_article.html
  13. 10
      macrotests/session_balise_boucle_id_auteur.html
  14. 9
      macrotests/session_balise_env.html
  15. 5
      macrotests/session_balise_get.html
  16. 17
      macrotests/session_comparaison.html
  17. 19
      macrotests/session_etendu.html
  18. 20
      macrotests/session_filtre_calcul.html
  19. 49
      macrotests/session_limitations.html
  20. 26
      macrotests/session_non.html
  21. 44
      macrotests/session_si.html
  22. 21
      macrotests/session_si_etendu.html
  23. 21
      macrotests/session_si_etendu_emboite.html

19
.gitattributes

@ -10,9 +10,28 @@ lang/paquet-macrosession_fr.php -text
/macrosession_options.php -text
/macrotests.html -text
macrotests/autoriser.html -text
macrotests/autoriser_balise_boucle.html -text
macrotests/autoriser_balise_get.html -text
macrotests/autoriser_calcul.html -text
macrotests/autoriser_dans_boucle.html -text
macrotests/autoriser_motcle.html -text
macrotests/autoriser_motcle_boucle.html -text
macrotests/inclure_autoriser_calcule.html -text
macrotests/session.html -text
macrotests/session_balise_boucle.html -text
macrotests/session_balise_boucle_etoile.html -text
macrotests/session_balise_boucle_id_article.html -text
macrotests/session_balise_boucle_id_auteur.html -text
macrotests/session_balise_env.html -text
macrotests/session_balise_get.html -text
macrotests/session_comparaison.html -text
macrotests/session_etendu.html -text
macrotests/session_filtre_calcul.html -text
macrotests/session_limitations.html -text
macrotests/session_non.html -text
macrotests/session_si.html -text
macrotests/session_si_etendu.html -text
macrotests/session_si_etendu_emboite.html -text
macrotests/visiteur.html -text
macrotests/visiteur_comparaison.html -text
macrotests/visiteur_etendu.html -text

36
macrotests.html

@ -5,18 +5,30 @@
<INCLURE{fond=macrotests/#TEST,env}/>
<hr>
]
<h3>Tous les tests</h3>
<h3>Tester et comprendre</h3>
[(#DEBUG|non)
<a href="[(#SELF|parametre_url{var_mode,recalcul}|parametre_url{debug,oui})]">Ajouter recalcul et afficher traces macrosession</a>
]
<ul>
<li><a href="?page=macrotests&test=visiteur">visiteur</a></li>
<li><a href="?page=macrotests&test=visiteur_etendu">visiteur_etendu</a></li>
<li><a href="?page=macrotests&test=visiteur_si">visiteur_si</a></li>
<li><a href="?page=macrotests&test=visiteur_si_etendu">visiteur_si_etendu</a></li>
<li><a href="?page=macrotests&test=visiteur_non">visiteur_non</a></li>
<li><a href="?page=macrotests&test=visiteur_filtre">visiteur_filtre </a></li>
<li><a href="?page=macrotests&test=visiteur_filtre_calcul">visiteur_filtre avec argument calculé</a></li>
<li><a href="?page=macrotests&test=visiteur_comparaison">visiteur_comparaison</a></li>
<li style="margin-bottom:0.5em"><a href="?page=macrotests&test=visiteur_limitations">!! visiteur_limitations !!</a></li>
<li><a href="?page=macrotests&test=session">\#_SESSION sans et avec filtres simples</a></li>
<li><a href="?page=macrotests&test=session_non">\#_SESSION avec filtres 'non' ou '?'</a></li>
<li><a href="?page=macrotests&test=session_comparaison">\#_SESSION avec filtres de comparaison</a></li>
<li><a href="?page=macrotests&test=session_si">\#_SESSION_SI</a></li>
<li><a href="?page=macrotests&test=session_etendu">\#_SESSION étendues</a></li>
<li><a href="?page=macrotests&test=session_si_etendu">\#_SESSION_SI etendu</a></li>
<li><a href="?page=macrotests&test=session_si_etendu_emboite">\#_SESSION_SI étendus et emboités</a></li>
<li><a href="?page=macrotests&test=session_balise_get">\#_SESSION + filtre avec \#GET</a></li>
<li><a href="?page=macrotests&test=session_balise_env">\#_SESSION + filtre avec \#BALISE de l'environnement</a></li>
<li><a href="?page=macrotests&test=session_balise_boucle_etoile">\#_SESSION + filtre avec \#CHAMP* de BOUCLE</a></li>
<li><a href="?page=macrotests&test=session_balise_boucle_id_article">\#_SESSION + filtre avec \#ID_ARTICLE de BOUCLE (balise sans 'traitement')</a></li>
<li style="padding-bottom: 0.5em"><a href="?page=macrotests&test=session_balise_boucle_id_auteur">\#_SESSION comparaison \#ID_AUTEUR de BOUCLE (balise sans 'traitement')</a></li>
<li><a href="?page=macrotests&test=session_balise_boucle">ERREUR : \#_SESSION + filtre avec \#TITRE de BOUCLE (balise avec 'traitement')</a></li>
<li style="padding-bottom: 0.5em"><a href="?page=macrotests&test=session_limitations">!! Limitations des macros !!</a></li>
<li><a href="?page=macrotests&test=autoriser">autoriser</a></li>
<li><a href="?page=macrotests&test=autoriser_motcle">autoriser_motcle env boucle url</a></li>
<li><a href="?page=macrotests&test=autoriser_calcul">autoriser avec argument calculé</a></li>
<li><a href="?page=macrotests&test=autoriser_motcle">_autoriser avec calcul par 'env' et 'url'</a></li>
<li><a href="?page=macrotests&test=autoriser_motcle_boucle">_autoriser dans BOUCLE, avec calcul par motclé 'boucle'</a></li>
<li><a href="?page=macrotests&test=autoriser_balise_boucle">_autoriser dans BOUCLE, avec calcul par balise #CHAMP sans 'traitement'</a></li>
<li><a href="?page=macrotests&test=autoriser_balise_get">_autoriser avec calcul par balise #GET</a></li>
<li><a href="?page=macrotests&test=autoriser_dans_boucle">autoriser avec argument calculé dans une boucle</a></li>
</ul>

26
macrotests/autoriser.html

@ -2,22 +2,30 @@
id : #_SESSION{id_auteur}<br>
nom : #_SESSION{nom}<br>
statut : #_SESSION{statut}<br>
<br>
<br>avant autoriser_si webmestre<br>
<h4>\#_AUTORISER_SI{webmestre}</h4>
#_AUTORISER_SI{webmestre}
webmestre
OUI webmestre
#_AUTORISER_SINON
pas webmestre
NON, pas webmestre
#_AUTORISER_FIN
<br>après<br>
<br>avant autoriser_si modifier article 2<br>
<h4>\#_AUTORISER_SI{modifier,article,2}</h4>
#_AUTORISER_SI{modifier,article,2}
peut modifier article 2
OUI modifier article 2
#_AUTORISER_SINON
NON, pas modifier article 2
#_AUTORISER_FIN
<h4>\#_AUTORISER_SI{testotor,article,2}</h4>
#_AUTORISER_SI{testotor,article,2}
OUI testotor article 2
#_AUTORISER_SINON
peut pas modifier article 2
NON, pas testotor article 2
#_AUTORISER_FIN
<br>après<br>
<br><br>Fin

40
macrotests/autoriser_balise_boucle.html

@ -0,0 +1,40 @@
#SQUELETTE<br>
Environnement reçu # ID_ARTICLE=«#ID_ARTICLE»<br>
[(#ID_ARTICLE|non)
Il faut un id_article existant dans l'url.<br>
<a href="[(#SELF|parametre_url{id_article,1})]">Ajouter id_article=1 à l'url</a><br>]
<br>
_SESSION : nom=#_SESSION{nom} - statut=#_SESSION{statut}
<br>
<h1>\#_AUTORISER_SI dans BOUCLE avec balise \#CHAMP</h1>
3 itérations :
<hr>
<BOUCLE_test(ARTICLES){id_article?}{0,3}{'<br><hr><hr><br>'}>
<i>Avec testotor : trace bleue + OUI</i><br>
<h3>Avec motcle boucle : _AUTORISER_SI{testotor,article,\#ID_ARTICLE}</h3>
_request(id_article) : [(#VAL{id_article}|_request)]
#_AUTORISER_SI{testotor,article,#ID_ARTICLE}
OUI
#_AUTORISER_SINON
NON
#_AUTORISER_FIN
<br>
<hr>
<i>Avec modifier</i><br>
<h3>Avec motcle boucle : _AUTORISER_SI{modifier,article,\#ID_ARTICLE}</h3>
_AUTORISER modifier article url avec val de id_article : [(#VAL{id_article}|_request)]
#_AUTORISER_SI{modifier,article,#ID_ARTICLE}
OUI
#_AUTORISER_SINON
NON
#_AUTORISER_FIN
<br>
</BOUCLE_test>
Et voilà

40
macrotests/autoriser_balise_get.html

@ -0,0 +1,40 @@
#SQUELETTE<br>
Environnement reçu # ID_ARTICLE=«#ID_ARTICLE»<br>
[(#ID_ARTICLE|non)
Il faut un id_article existant dans l'url.<br>
<a href="[(#SELF|parametre_url{id_article,1})]">Ajouter id_article=1 à l'url</a><br>]
<br>
_SESSION : nom=#_SESSION{nom} - statut=#_SESSION{statut}
<br>
<h1>\#_AUTORISER_SI avec id calculé par balise \#GET</h1>
#SET{id_article,2}
Aprés SET, \#GET{id_article}=#GET{id_article}
<br>
<hr>
<h3>\#_AUTORISER_SI{testotor,article,\#GET{id_article}}</h3>
Avec testotor : trace bleue + OUI / article #GET{id_article} :
#_AUTORISER_SI{testotor,article,#GET{id_article}}
OUI
#_AUTORISER_SINON
NON
#_AUTORISER_FIN
<br>
<hr>
<i>Avec modifier</i><br>
<h3>\#_AUTORISER_SI{modifier,article,\#GET{id_article}</h3>
modifier article #GET{id_article} :
#_AUTORISER_SI{modifier,article,#GET{id_article}}
OUI
#_AUTORISER_SINON
NON
#_AUTORISER_FIN
<br>
<br>
Et voilà
<br>
<br>

43
macrotests/autoriser_dans_boucle.html

@ -0,0 +1,43 @@
#SQUELETTE<br>
<h1># _AUTORISER_SI dans une BOUCLE<br>avec valeurs calculées d'id par motclés, \#CHAMP et \#GET</h1>
- Environnement d'url reçu id_article=#ID_ARTICLE<br>
[(#ID_ARTICLE|non)
Ajoutez l'id_article d'un article existant dans l'url ou <a href="[(#SELF|parametre_url{id_article,5})]">ajoutez id_article=5 à l'url</a><br>
<br>
]
- #SET{id_article,2}
Aprés SET, \#GET{id_article}=#GET{id_article}
<br>
<hr>
<h3>\#_AUTORISER_SI{testotor,article,...} dans BOUCLE(ARTICLE){1,3}></h3>
<BOUCLE_ar(ARTICLES){1,3}{tout}{'<hr><hr>'}>
#ID_ARTICLE) #TITRE
<br><br>
Avec env :
#_AUTORISER_SI{testotor,article,env} OUI
#_AUTORISER_SINON NON
#_AUTORISER_FIN
<br>
Avec url :
#_AUTORISER_SI{testotor,article,url} OUI
#_AUTORISER_SINON NON
#_AUTORISER_FIN
<br>
Avec boucle :
#_AUTORISER_SI{testotor,article,boucle} OUI
#_AUTORISER_SINON NON
#_AUTORISER_FIN
<br>
Avec \#ID_ARTICLE = #ID_ARTICLE :
#_AUTORISER_SI{testotor,article,#ID_ARTICLE} OUI
#_AUTORISER_SINON NON
#_AUTORISER_FIN
<br>
Avec \#GET{id_article}=#GET{id_article} :
#_AUTORISER_SI{testotor,article,#GET{id_article}} OUI
#_AUTORISER_SINON NON
#_AUTORISER_FIN
<br>
</BOUCLE_ar>
Pas de résultat de boucle. Créez des articles.
<//B_ar>

48
macrotests/autoriser_motcle.html

@ -1,25 +1,39 @@
#SQUELETTE
Pour tester ce squelette il faut debug=oui dans l'url<br>
et avoir activé le debug dans macrosession_options.php<br>
Et l'article dont l'id_article est en url doit exister.<br>
Environnement reçu # ID_ARTICLE=#ID_ARTICLE<br>
<a href="[(#SELF|parametre_url{id_article,1}">Ajouter id_article=1 à l'url</a><br>
<h1># _AUTORISER_SI avec valeurs calculées d'id - HORS BOUCLE</h1>
#SQUELETTE<br>
Environnement reçu # ID_ARTICLE=«#ID_ARTICLE»<br>
[(#ID_ARTICLE|non)
Il faut un id_article existant dans l'url.<br>
<a href="[(#SELF|parametre_url{id_article,1})]">Ajouter id_article=1 à l'url</a><br>]
<br>
_SESSION : nom=#_SESSION{nom} - statut=#_SESSION{statut}
<br>
<h3>Ici id_article=#ID_ARTICLE venu de l'env</h3>
_SESSION :<br>
nom=#_SESSION{nom}<br>
statut=#_SESSION{statut}<br>
<h1>\#_AUTORISER_SI avec id calculés / motclés HORS BOUCLE</h1>
<hr>
<i>Avec testotor : trace bleue + OUI</i><br>
<h3>Avec motcle url : _AUTORISER_SI{testotor,article,url}</h3>
_request(id_article) : [(#VAL{id_article}|_request)]
#_AUTORISER_SI{testotor,article,url}
OUI
#_AUTORISER_SINON
NON
#_AUTORISER_FIN
<br>
_AUTORISER:<br>
#_AUTORISER_SI{modifier,article,1}
OUI _AUTORISER modifier article 1
<h3>Avec motcle env : AUTORISER_SI{testotor,article,env}</h3>
Val d'env de id_article : #ID_ARTICLE
#_AUTORISER_SI{testotor,article,env}
OUI
#_AUTORISER_SINON
NON _AUTORISER modifier article 1
NON
#_AUTORISER_FIN
<br>
<hr>
<i>Avec modifier</i><br>
<h3>Avec url : _AUTORISER_SI{modifier,article,url}</h3>
<h3>Avec motcle url : _AUTORISER_SI{modifier,article,url}</h3>
_AUTORISER modifier article url avec val de id_article : [(#VAL{id_article}|_request)]
#_AUTORISER_SI{modifier,article,url}
OUI
@ -27,7 +41,7 @@ _AUTORISER modifier article url avec val de id_article : [(#VAL{id_article}|_req
NON
#_AUTORISER_FIN
<br>
<h3>Avec env : AUTORISER_SI{modifier,article,env}</h3>
<h3>Avec motcle env : AUTORISER_SI{modifier,article,env}</h3>
Val d'env de id_article : #ID_ARTICLE
#_AUTORISER_SI{modifier,article,env}
OUI

39
macrotests/autoriser_motcle_boucle.html

@ -0,0 +1,39 @@
#SQUELETTE<br>
Environnement reçu # ID_ARTICLE=«#ID_ARTICLE»<br>
[(#ID_ARTICLE|non)
Il faut un id_article existant dans l'url.<br>
<a href="[(#SELF|parametre_url{id_article,1})]">Ajouter id_article=1 à l'url</a><br>]
<br>
_SESSION : nom=#_SESSION{nom} - statut=#_SESSION{statut}
<br>
<h1>\#_AUTORISER_SI dans BOUCLE avec id calculés par motclé 'boucle'</h1>
3 itérations
<br>
<hr>
<BOUCLE_test(ARTICLES){0,3}{'<br><hr><hr><br>'}>
#ID_ARTICLE) #TITRE
<br>
<h3>Avec motcle boucle : _AUTORISER_SI{testotor,article,boucle}</h3>
<i>testotor : trace bleue + OUI</i>
#_AUTORISER_SI{testotor,article,boucle}
OUI
#_AUTORISER_SINON
NON
#_AUTORISER_FIN
<br>
<hr>
<h3>Avec motcle boucle : _AUTORISER_SI{modifier,article,boucle}</h3>
<i>modifier</i><br>
#_AUTORISER_SI{modifier,article,boucle}
OUI
#_AUTORISER_SINON
NON
#_AUTORISER_FIN
<br>
</BOUCLE_test>
Et voilà

23
macrotests/session.html

@ -0,0 +1,23 @@
<h1>\#_SESSION sans extension ni filtre</h1>
<ul>
<li>_session : #_SESSION</li>
<li>_session nom : #_SESSION{nom}</li>
<li>_session statut : #_SESSION{statut}</li>
<li>_session email : #_SESSION{email}</li>
</ul>
<h4>Filtres sans arguments </h4>
<ul>
<li>_session{nom,strlen}:#_SESSION{nom,strlen}</li>
<li>_session{nom, strlen } avec espaces à strlen : #_SESSION{nom, strlen }</li>
<li>_session{ nom,strlen} avec espaces avant nom : #_SESSION{ nom,strlen}</li>
<li>_session{nom ,strlen} avec espaces après nom : #_SESSION{nom ,strlen}</li>
<li>_session{nom,filtre_inexistant} : #_SESSION{nom,filtre_inexistant}</li>
<li>_session{nom,mb_strtoupper}:#_SESSION{nom,mb_strtoupper}</li>
</ul>
<h4>Filtres avec argument constant</h4>
<ul>
<li>_session{nom,concat,_plof}:#_SESSION{nom,concat,_plof}</li>
</ul>

10
macrotests/session_balise_boucle.html

@ -0,0 +1,10 @@
<i>FIXME : Les 'traitements' de la balise \#TITRE provoquent une erreur de syntaxe PHP quand le code est réinjecté. <br>
Il faudrait améliorer le décompilateur-réinjecteur... <br>
ou appeler avec une étoile : \#TITRE*</a>, pour ne pas ajouter les traitements (voir autre test)</i>
<h1>\#_SESSION{nom,concat,\#TITRE} dans une BOUCLE</h1>
<BOUCLE_test(ARTICLES){0,3}{'<br><hr><hr><br>'}>
#ID_ARTICLE) #TITRE<br>
#_SESSION{nom,concat,#TITRE}
</BOUCLE_test>

6
macrotests/session_balise_boucle_etoile.html

@ -0,0 +1,6 @@
<i>Avec une étoile, les balises ne reçoivent pas leur 'traitement' et ça simplifie la réinjection de code</i>
<h1>\#_SESSION{nom,concat,\#TITRE*} dans une BOUCLE</h1>
<BOUCLE_test(ARTICLES){0,3}{'<br><hr><hr><br>'}>
#ID_ARTICLE) #TITRE<br>
#_SESSION{nom,concat,#TITRE*}
</BOUCLE_test>

6
macrotests/session_balise_boucle_id_article.html

@ -0,0 +1,6 @@
<i>Il n'y a pas de 'traitement' pour le champ de boucle \#ID_ARTICLE. La réinjection de code se fait bien.</i>
<h1>\#_SESSION{nom,concat,\#ID_ARTICLE} dans une BOUCLE</h1>
<BOUCLE_test(ARTICLES){0,3}{'<br><hr><hr><br>'}>
#ID_ARTICLE) #TITRE<br>
#_SESSION{nom,concat,#ID_ARTICLE}
</BOUCLE_test>

10
macrotests/session_balise_boucle_id_auteur.html

@ -0,0 +1,10 @@
<i>Il n'y a pas de 'traitement' pour le champ de boucle \#ID_AUTEUR. La réinjection de code se fait bien.</i>
<h1>\#_SESSION{id_auteur,==,\#ID_AUTEUR} dans une BOUCLE</h1>
<BOUCLE_test(AUTEURS){tous}{0,10}{par id_auteur}{'<br><hr><br>'}>
#ID_AUTEUR) #NOM<br>
#_SESSION_SI{id_auteur,==,#ID_AUTEUR}
C'est lui !
#_SESSION_SINON
C'est pas lui !
#_SESSION_FIN
</BOUCLE_test>

9
macrotests/session_balise_env.html

@ -0,0 +1,9 @@
nom:«#_SESSION{nom}»<br>
[(#QUOI|non)
Pas d'argument 'quoi' dans l'url
<a href="[(#SELF|parametre_url{quoi,---elle})]">ajouter quoi=---elle dans l'url</a><br>
]
Il y a quoi : «#QUOI» dans l'url <br>
\#_SESSION{nom,concat,\#QUOI=#QUOI}:«#_SESSION{nom,concat,#QUOI}»</li>

5
macrotests/session_balise_get.html

@ -0,0 +1,5 @@
nom:«#_SESSION{nom}»<br>
#SET{debut,' aime le code et la tendresse'}
\#GET{debut}=#GET{debut}<br>
\#_SESSION{nom,concat,\#GET{debut}}:«#_SESSION{nom,concat,#GET{debut}}»</li>

17
macrotests/session_comparaison.html

@ -0,0 +1,17 @@
<h4>Récupèrer le résultat de la comparaison avec ==, != , > et <</h4>
<b>Le nom est : #_SESSION{nom}</b>
<ul>
<li>_session nom == JLuc : #_SESSION{nom,==,JLuc}</li>
<li>_session nom == G : #_SESSION{nom,==,G}</li>
<li>_session nom != JLuc : #_SESSION{nom,!=,JLuc}</li>
<li>_session nom != G : #_SESSION{nom,!=,G}</li>
<li>_session nom > F : #_SESSION{nom,>,F}</li>
<li>_session nom < F : #_SESSION{nom,<,F}</li>
<li>_session nom > G : #_SESSION{nom,>,G}</li>
<li>_session nom < G : #_SESSION{nom,<,G}</li>
<li>_session nom > J : #_SESSION{nom,>,J}</li>
<li>_session nom < J : #_SESSION{nom,<,J}</li>
<li>_session nom > K : #_SESSION{nom,>,K}</li>
<li>_session nom < K : #_SESSION{nom,<,K}</li>
</ul>

19
macrotests/session_etendu.html

@ -0,0 +1,19 @@
#SQUELETTE<br>
<h1>Appel de _SESSION avec champ de session étendue</h1>
nom : #_SESSION{nom}<br>
<h4>champ étendu : nbreste</h4>
<dl>
<dt>nbreste</dt><dd> #_SESSION{nbreste}</dd>
</dl>
<h4>avec filtres</h4>
<dl>
<dt>nbreste |+ 3 </dt>
<dd>#_SESSION{nbreste,plus,3}</dd>
<dt>nbreste |choixsivide vide! pasvide </dt>
<dd> #_SESSION{nbreste,choixsivide,vide!,pasvide}</dd>
<dt>nbreste |? pasvide! vide </dt>
<dd> #_SESSION{nbreste,?,pas vide!,vide}</dd>
</dl>
</ul>

20
macrotests/session_filtre_calcul.html

@ -0,0 +1,20 @@
<ul>
<li>nom:«#_SESSION{nom}»</li>
<li>[(#NEEDLE|non)
<a href="[(#SELF|parametre_url{needle,---elle})]">ajouter needle=---elle dans l'url</a><br>]
\#_SESSION{nom,concat,\#NEEDLE=#NEEDLE}:«#_SESSION{nom,concat,#NEEDLE}»</li>
#SET{debut, aime le code}
<li>\#GET{debut}=#GET{debut}<br>
\#_SESSION{nom,concat,\#GET{debut}}:«#_SESSION{nom,concat,#GET{debut}}»</li>
</li>
#SET{fin, et la tendresse}
<li>\#GET{fin}=#GET{fin}<br>
\#_SESSION{nom,concat,\#GET{debut}|concat{\#GET{fin}} : syntaxe non gérée</li>
</li>
<li style="margin-top: 0.5em;"><b>Et dans une boucle :</b></li>
<BOUCLE_test(ARTICLES){0,2}>
<li>\#ID_ARTICLE=#ID_ARTICLE<br>\#TITRE=#TITRE<br>
\#_SESSION{nom,concat,\#TITRE} : #_SESSION{nom,concat,#TITRE}
</li>
</BOUCLE_test>
</ul>

49
macrotests/session_limitations.html

@ -0,0 +1,49 @@
<html><head></head>
<body>
<h1>Test cache eval session</h1>
Squelette : [(#DATE|affdate{'Y-m-d H:i:s'})]<br>
php session_get <?= session_get('nom') ?> --> php date <?= date('Y-m-d H:i:s') ?> :: SPIP eval session_get : #EVAL{session_get('nom')} :: SPIP eval globals : #EVAL{$GLOBALS['visiteur_session']['nom']}
<br><br>
_SESSION [(#_SESSION{nom})] avec [(|len)] : [(#_SESSION{nom}|strlen)]
<br>
On boucle avec {si EVAL{session_get('nom')}} = Ça ne dépend pas de la session mais de ce qu'il y a en cache<br>
<BOUCLE_articles(ARTICLES){si #EVAL{session_get('nom')}}>
#ID_ARTICLE ;
</BOUCLE_articles>
<br><br>
<b>_SESSION{nom} : #_SESSION{nom}</b><br>
et avec le filtre strlen : [(#_SESSION{nom}|strlen)]
<br><hr><br>
_SESSION_SI{nom} : #_SESSION_SI{nom} / IL Y A UNE _SESSION #_SESSION_FIN / après_SESSION_finsi
<br><br>
_SESSION_SI{nom} puis SINON : #_SESSION_SI{nom} / apres_SESSION_si #_SESSION_SINON / PAS DE_SESSION #_SESSION_FIN / après_SESSION_finsi
<br><br>
_SESSION_SI{nom,Secretaire} : #_SESSION_SI{nom,Secretaire} / c'est egal #_SESSION_FIN / après_SESSION_finsi
<br><br>
_SESSION_SI{nom,Secretaire} puis SINON : #_SESSION_SI{nom,Secretaire} / c'est encore egal #_SESSION_SINON / pas egal #_SESSION_FIN / après_SESSION_finsi
<br><br>
<h4>Emboitements</h4>
#_SESSION_SI{nom}
le nom existe
#_SESSION_SI{nom,Secretaire}
et vaut bien Secrétaire
#_SESSION_SINON
et ne vaut pas Secrétaire. Il vaut #_SESSION{nom}.
#_SESSION_FIN
#_SESSION_SINON
le nom n'existe pas !
#_SESSION_FIN
<h3>Ce qu'il ne faut pas faire</h3>
#SET{var,var} var vaut var<br>
_SESSION_SI{nom} :
#_SESSION_SI{nom}
/ #SET{var,oui_visiteur} IL Y A UNE_SESSION var vaut oui_visiteur : #GET{var}<br>
#_SESSION_SINON{nom}
/ #SET{var,pas_de_visiteur} IL Y A UNE_SESSION var vaut pas_de_visiteur : #GET{var}<br>
#_SESSION_FIN
/ après_SESSION_finsi var vaut : #GET{var}<br>
</body>
</html>

26
macrotests/session_non.html

@ -0,0 +1,26 @@
<pre>
_ id_auteur : #_SESSION{id_auteur}
<br>
_ id_auteur non : #_SESSION{id_auteur,non}
<br>
_ id_auteur ! : #_SESSION{id_auteur,!}
<br>
_ vide : #_SESSION{vide}
<br>
_ vide non : #_SESSION{vide,!}
<br>
avant
<br>
#_SESSION_SI{id_auteur,!}
pas dauteur
#_SESSION_SINON
ya un auteur
#_SESSION_FIN
aprés
</pre>

44
macrotests/session_si.html

@ -0,0 +1,44 @@
<h1>Test _SESSION_SI simple</h1>
<h4>SI{nom} + FIN</h4>
#_SESSION_SI{nom}
<pre>
OUI IL Y A UNE_SESSION avec un nom
son nom est #_SESSION{nom}
</pre>
#_SESSION_FIN
C'est tout (pas de partie SINON).
<h4>SI{nom} + SINON + FIN</h4>
#_SESSION_SI{nom}
<pre>OUI IL Y A UNE_SESSION avec un nom
son nom est #_SESSION{nom}
</pre>
#_SESSION_SINON
<pre>
NON le _session courant n'est pas connecté
</pre>
#_SESSION_FIN
Voilà.
<h4>SI{nom,==,JLuc} + FIN</h4>
#_SESSION_SI{nom,==,JLuc}
<pre>
OUI IL Y A UNE_SESSION avec un nom JLuc
son nom est #_SESSION{nom}
</pre>
#_SESSION_FIN
C'est tout (pas de partie SINON).
<h4>SI{nom,==,JLuc} + SINON + FIN</h4>
#_SESSION_SI{nom,==,JLuc}
<pre>OUI IL Y A UNE_SESSION avec un nom JLuc
son nom est #_SESSION{nom}
</pre>
#_SESSION_SINON
<pre>
NON le _session courant s'il y en a un n'est pas JLuc
</pre>
#_SESSION_FIN
Voilà fini.

21
macrotests/session_si_etendu.html

@ -0,0 +1,21 @@
<h1>Test # _SESSION avec _SI, _SINON, _FIN et accés session étendue</h1>
<ul>
<li>nom : #_SESSION{nom}</li>
<li>est abonne : #_SESSION{est_abonne}</li>
<li>nbreste : #_SESSION{nbreste}</li>
<li>a reçu : #_SESSION{envois_revues_liste}</li>
</ul>
<h4>SI nbreste</h4>
#_SESSION_SI{nbreste}
il vous reste des numéros à recevoir
#_SESSION_SINON
vous n'êtes plus abonné
#_SESSION_FIN
<h4>SI nbreste==0</h4>
#_SESSION_SI{nbreste,==,0}
il vous reste exactement plus aucun numéro à recevoir !
#_SESSION_SINON
ah, il vous reste des numéros à recevoir... exactement #_SESSION{nbreste}
#_SESSION_FIN

21
macrotests/session_si_etendu_emboite.html

@ -0,0 +1,21 @@
<h1>Test # _SESSION avec _SI, _SINON, _FIN et accés session étendue</h1>
<blockquote>
nom : #_SESSION{nom}<br>
est abonne : #_SESSION{est_abonne}<br>
nbreste : #_SESSION{nbreste}<br>
<blockquote>
#_SESSION_SI{nbreste}
il vous reste #_SESSION{nbreste} numéros à recevoir
#_SESSION_SINON
Ahhhhhhh, on se connait ?
<blockquote>
#_SESSION_SI{a_ete_abonne}
votre abo est fini !
#_SESSION_SINON
vous abonner ?
#_SESSION_FIN
</blockquote>
#_SESSION_FIN
</blockquote>
</blockquote>
Loading…
Cancel
Save