Champs dynamiques
Variables dynamiques
les champs sont sous la forme $[nomchamp]. Ils peuvent être modifiés par des fonctions sous la forme #nomfonction{{}} (voir plus bas).En général : nomchamp est un nom de colonne de la table des contacts (tables "gens") ou de la table des documents (table "news").
la liste des champs disponibles est proposée à l'insertion, en édition visuelle de document.
dans certains cas le nom du champ de la table des contacts peut être précédé d'un identifiant pour changer le contact :
* vide (champ seul) : le lecteur ou destinataire.
* my_ : personne connectée (donc pour un document : contact connecté ; pour l'envoi d'un mail : membre de l'équipe qui envoie le mail).
* contact_ : contact du document ou de l'inscription.
* site_ : contact #1
* author _ : auteur du document
* affil_ : contact "suivi commercial" du contact
* intcontact_ : contact interne du contact
* sup_: contact supérieur hiérarchique du contact
Par ailleurs, soc_ peut être ajouté avant le champ, pour pointer sur les données de la fiche société du contact.
Enquêtes et analyses
les questionnaires d'enquêtes et réponses aux questions, liées à l'inscription en cours et le contact en cours (pour les documents d'enquête, d'analyse, de répartition d'inscription et les envois de courrier) ont des variables spécifiques sous la forme $[qIDQUESTION_POPULATION_VARIABLE] (ex: $[q453_inscr_af])
Populations possibles :
Populations possibles :
- inscr : l'inscription en cours
- inscrs : l'ensemble des inscriptions du même secteur (i.e. dont les contacts d'inscription dépendent du même contact)
- inscrs_1 ; inscrs_2 ... : les réponses individuelles d'inscription du même secteur
- inscrs_doc : l'ensemble des inscriptions du même secteur, pour la vague en cours (i.e. pour le document d'inscription auquel se rattache l'enquête)
- inscrs_doc_1 ; inscrs_doc_2 ... : les réponses individuelles d'inscription du même secteur pour la vague en cours
- inscrs2 : l'ensemble des inscriptions du même grand secteur (i.e. dont les contacts d'inscription dépendent d'un contact dépendant du même contact)
- inscrs2_doc : l'ensemble des inscriptions du même grand secteur, pour la vague en cours
- inscrs3 : l'ensemble des inscriptions du même très grand secteur (i.e. dont les contacts d'inscription dépendent d'un contact dépendant d'un contact dépendant du même contact)
- inscrs3_doc : l'ensemble des inscriptions du même très grand secteur, pour la vague en cours
- general : toutes les réponses
- general_doc : toutes les réponses de la vague en cours
- global : toutes les réponses, rattachées ou non
- population vide pour une question d'une autre enquête : réponse du répondant pour l'inscription en cours, sur une autre enquête
- r : réponse du contact d'"inscription, à une question sans inscription
- i : réponse de qualification de la vague (i.e. du document de répartition d'inscription)
- contactX : les données des différents contacts de l'inscription
- compl : les réponses groupées des doc. d'inscriptions définies en complément dans le doc. d'analyse, concernant le même contact d'inscription
- compl_1 ; compl_2 ; compl_3 ... compl_12 : les réponses d'inscription sur les doc. d'inscriptions définis en complément dans le doc. d'analyse, pour jusque 12 inscriptions concernant le même contact d'inscription (par ordre inverse de date) : permet de recréer un historique de réponse agrégées sur un même contact d'inscription
- compls_1 ; compls_2 ; compls_3 ... compls_12 : les réponses de l'ensemble des inscriptions du même secteur sur les doc. d'inscriptions définis en complément dans le doc. d'analyse, pour jusque 12 secteurs auquel appartient le même contact d'inscription (par ordre inverse de date) : permet de recréer un historique de réponse secteur agrégées sur un même contact d'inscription
Variables spécifiques :
* pour les sections :
section (ex: $[q453_inscr_section])
notesection
basesection
ponderation
notesection_total
notesection_base
notesectionsum
notesectionbase
notesectionmin
notesectionmax
* pour les questions :
idgens,idinscription,idnumreponse,ordre,ponderation,base
q : question
order : ordre
reponses : liste des réponses possibles (ex: $[q453_inscr_reponses])
idsection : numéro de la section
reponses : liste des réponses possibles (ex: $[q453_inscr_reponses])
idsection : numéro de la section
type : type de question
date : date de réponse
update : date de modification
valid : statut
qo : question originale
qo : question originale
at : texte analyse
unit : unité analyse
ati : titre analyse
weight : pondération
a : réponses en texte
a : réponses en texte
ao : réponse non formatée (réponse brute dans la base de données)
af : réponses formatées
av : réponse en valeur
ap : réponse en pourcentage
nb : nombre de réponses
af : réponses formatées
av : réponse en valeur
ap : réponse en pourcentage
nb : nombre de réponses
val : toutes réponses en valeur (opération, ex : val.rép.1*2 + rep2)
im32, im64, ... im512 : réponse image reformatée en dim. maximale 32x32, ...imo32, imo64, ... imo512 : réponse image (haute resolution) reformatée en dim. maximale 32x32, ...
imurl : réponse image (URL seule) note, notesum, notebase, base, total, totalsum, totalbase, totalmin, totalmax
min, max (m
* e en moyenne : min, max, stddev
* contactname
affiche le nom du contact selon son numéro
exemples : #contactname{{$[idgens]}} #contactname{{$[author_dependde]}}
* maxsize
réduit une image si elle est plus grande qu'une dimension donnée.
exemples : #maxsize{{$[photo],200}} #maxsize{{$[contact_photo],300x200}}
* imagesize
reformate une image à une dimension donnée.
exemples : #imagesize{{$[photo],200}} #imagesize{{$[contact_photo],300x200}}
* fonctions personnelles :
toute fonction peut être créée dans le fichier perso.php, dans la function php "perso_filter". elle sera appelée avec en premier argument la fonction demandée, en second argument les paramètres, en troisième argument le contenu textuel de l'article.
exemple :
function perso_filter($function,$argument_list,$content) {
$arguments=explode(",",$argument_list);
switch ($function) {
case "doublevalue": $res=$arguments[0] * 2;
break;
}
return $res;
}
min, max (m
* e en moyenne : min, max, stddev
Fonctions
* contactname
affiche le nom du contact selon son numéro
exemples : #contactname{{$[idgens]}} #contactname{{$[author_dependde]}}
* maxsize
réduit une image si elle est plus grande qu'une dimension donnée.
exemples : #maxsize{{$[photo],200}} #maxsize{{$[contact_photo],300x200}}
* imagesize
reformate une image à une dimension donnée.
exemples : #imagesize{{$[photo],200}} #imagesize{{$[contact_photo],300x200}}
* fonctions personnelles :
toute fonction peut être créée dans le fichier perso.php, dans la function php "perso_filter". elle sera appelée avec en premier argument la fonction demandée, en second argument les paramètres, en troisième argument le contenu textuel de l'article.
exemple :
function perso_filter($function,$argument_list,$content) {
$arguments=explode(",",$argument_list);
switch ($function) {
case "doublevalue": $res=$arguments[0] * 2;
break;
}
return $res;
}
Espaces de formules et de code
Les espaces sont définis entre codes <? et ?> :
- Espaces conditionnels : <
?if ("$[variable]"=="")? >texte affiché si OK< ?endif? > - Espaces conditionnels : <
?if ("$[variable]"=="")? >texte affiché si OK< ?else? >Texte affiché sinon< ?endif? > - Affichage de variables calculées :
- <
?=$[variable]+$[variable2]? : affiche la valeur numérique du calcul ou de la variable.> - <
?_$[variable]? : affiche la valeur texte de la variable> - <
?echo $[variable]? : affiche la valeur texte de la variable> - Espaces conditionnels compacts (oxywork>v3) :
syntaxe : [(variable)condition?texte si ok::texte sinon]
exemples : - [(variable)?texte si ok::texte sinon]
- [(variable)>=100?texte si ok::texte sinon]
- [(variable)=100,101,102?texte si ok::texte sinon]
- Variables vides : $[variable/texte si non définie]