/** * Contexte du formulaire * Mots-cles dans les forums : * Si la variable de personnalisation $afficher_groupe[] est definie * dans le fichier d'appel, et si la table de reference est OK, proposer * la liste des mots-cles * #FORMULAIRE_FORUM seul calcule (objet, id_objet) depuis la boucle parente * #FORMULAIRE_FORUM{#SELF} pour forcer l'url de retour * #FORMULAIRE_FORUM{#SELF, article, 3} pour forcer l'objet et son identifiant * http://code.spip.net/@balise_FORMULAIRE_FORUM * * @param Object $p * @return Object */ function balise_FORMULAIRE_FORUM($p) { /** * On recupere $objet et $id_objet depuis une boucle englobante si possible * Sinon, on essaie aussi de recuperer des id_xx dans l'URL qui pourraient indiquer * sur quoi le formulaire porte. * Enfin, on pourra aussi forcer objet et id_objet depuis l'appel du formulaire */ $i_boucle = $p->nom_boucle ? $p->nom_boucle : $p->id_boucle; $_id_objet = $p->boucles[$i_boucle]->primary; $_type = $p->boucles[$i_boucle]->id_table; /** * On essaye de trouver les forums en fonction de l'environnement * pour cela, on recupere l'ensemble des id_xxx possibles dans l'env */ $ids = forum_get_objets_depuis_env(); $ids = array_values($ids); $obtenir = array($_id_objet, 'id_forum', 'ajouter_mot', 'ajouter_groupe', 'afficher_texte'); if ($ids) { $obtenir = array_merge($obtenir, $ids); } $p = calculer_balise_dynamique($p, 'FORMULAIRE_FORUM', $obtenir, array("'{$_type}'", count($ids))); // Ajouter le code d'invalideur specifique aux forums include_spip('inc/invalideur'); if ($i = charger_fonction('code_invalideur_forums', '', true)) { $p->code = $i($p, $p->code); } return $p; }
/** * Compile la balise `#FORMULAIRE_FORUM_PRIVE` qui affiche un formulaire d'ajout * de commentaire pour l'espace privé * * Signature : `#FORMULAIRE_FORUM_PRIVE{[redirection[, objet, id_objet]]}` * * Particularité du contexte du formulaire pour permettre une saisie * de mots-clés dans les forums : si la variable de personnalisation * `$afficher_groupe[]` est définie dans le fichier d'appel, et si la table * de référence est OK, la liste des mots-clés est alors proposée. * * @balise * @see balise_FORMULAIRE_FORUM() * @example * ``` * #FORMULAIRE_FORUM_PRIVE seul calcule (objet, id_objet) depuis la boucle parente * #FORMULAIRE_FORUM_PRIVE{#SELF} pour forcer l'url de retour * #FORMULAIRE_FORUM_PRIVE{#SELF, article, 3} pour forcer l'objet et son identifiant * ``` * * @param Champ $p * Pile au niveau de la balise * @return Champ * Pile complétée par le code à générer */ function balise_FORMULAIRE_FORUM_PRIVE($p) { /** * On recupere $objet et $id_objet depuis une boucle englobante si possible * Sinon, on essaie aussi de recuperer des id_xx dans l'URL qui pourraient indiquer * sur quoi le formulaire porte. * Enfin, on pourra aussi forcer objet et id_objet depuis l'appel du formulaire */ $i_boucle = $p->nom_boucle ? $p->nom_boucle : $p->id_boucle; if (isset($p->boucles[$i_boucle])) { $_id_objet = $p->boucles[$i_boucle]->primary; $_type = $p->boucles[$i_boucle]->id_table; } else { $_id_objet = $_type = ''; } /** * On essaye de trouver les forums en fonction de l'environnement * pour cela, on recupere l'ensemble des id_xxx possibles dans l'env */ $ids = forum_get_objets_depuis_env(); $ids = array_values($ids); $obtenir = array($_id_objet, 'id_forum', 'forcer_previsu', 'statut'); if ($ids) { $obtenir = array_merge($obtenir, $ids); } $p = calculer_balise_dynamique($p, 'FORMULAIRE_FORUM_PRIVE', $obtenir, array("'{$_type}'", count($ids))); return $p; }
function balise_FORMULAIRE_CONTACT($p) { /* Cette fonction défini la balise, et en particulier les variables à récuperer dans le contexte et à passer à la fonction _stat en appelant la fonction "calculer_balise_dynamique". On pourra ainsi récuperer l’id_article d’une boucle englobante ou la langue contenue dans l’url. C’est un peu comme les paramètres que l’on passe à une balise INCLURE spip. Déclare le nom de la balise et un tableau des variables à récupérer dans le contexte. */ $p = calculer_balise_dynamique($p, 'FORMULAIRE_CONTACT', array('0')); return $p; }
function balise_FORMULAIRE_FORUM ($p) { $p = calculer_balise_dynamique($p,'FORMULAIRE_FORUM', array('id_rubrique', 'id_forum', 'id_article', 'id_breve', 'id_syndic', 'ajouter_mot', 'ajouter_groupe', 'afficher_texte')); // Ajouter le code d'invalideur specifique aux forums include_spip('inc/invalideur'); if (function_exists($i = 'code_invalideur_forums')) $p->code = $i($p, $p->code); return $p; }
function balise_FORMULAIRE_UPLOAD ($p) { // on prend nom de la cle primaire de l'objet pour calculer sa valeur $_id_objet = $p->boucles[$p->id_boucle]->primary; return calculer_balise_dynamique( $p, 'FORMULAIRE_UPLOAD', array( 'FORMULAIRE_UPLOAD_TYPE_BOUCLE', // demande du type d'objet $_id_objet ) ); }
function balise_FORMULAIRE__dist($p) { // Cas d'un #FORMULAIRE_TOTO inexistant : renvoyer la chaine vide. // mais si #FORMULAIRE_{toto} on ne peut pas savoir a la compilation, continuer if (existe_formulaire($p->nom_champ)===FALSE) { $p->code = "''"; $p->interdire_scripts = false; return $p; } // sinon renvoyer un code php dnamique return calculer_balise_dynamique($p, $p->nom_champ, array()); }
function balise_EC_PRICEG($p) { return calculer_balise_dynamique($p, 'EC_PRICEG', array()); }
function balise_CLEVERMAIL_VALIDATION($p) { return calculer_balise_dynamique($p, 'CLEVERMAIL_VALIDATION', array()); }
function balise_LANGUE_PREFEREE_SECTEUR_REDIRECTION($p) { return calculer_balise_dynamique($p, 'LANGUE_PREFEREE_SECTEUR_REDIRECTION', array()); }
function balise_LANGUE_PREFEREE_LIEN_EFFACE_COOKIE($p) { return calculer_balise_dynamique($p, 'LANGUE_PREFEREE_LIEN_EFFACE_COOKIE', array()); }
/** * Dymanic Tag wich outputs Sorting Select * Format: #ECATALOGUE_SORTING */ function balise_ECATALOGUE_SORTING($p) { return calculer_balise_dynamique($p, 'ECATALOGUE_SORTING', array()); }
/** * Compile la balise dynamique `#FORMULAIRE_ADMIN` qui des boutons * d'administration dans l'espace public * * Cette balise permet de placer les boutons d'administrations dans un * endroit spécifique du site. Si cette balise n'est pas présente, les boutons * seront automatiquement ajoutés par SPIP si l'auteur a activé le * cookie de correspondance. * * @balise * @see f_admin() * @example * ``` * #FORMULAIRE_ADMIN * ``` * * @param Champ $p * Pile au niveau de la balise * @return Champ * Pile complétée du code compilé **/ function balise_FORMULAIRE_ADMIN($p) { return calculer_balise_dynamique($p, 'FORMULAIRE_ADMIN', array()); }
function balise_FORMULAIRE_ABONNEMENT ($p) { spiplistes_debug_log('balise_FORMULAIRE_ABONNEMENT()'); return(calculer_balise_dynamique($p, 'FORMULAIRE_ABONNEMENT', array('id_liste'))); }
function balise_CALENDRIER_MINI ($p) { return calculer_balise_dynamique($p,'CALENDRIER_MINI', array('id_rubrique','id_article', 'id_mot')); }
/** * Dymanic Tag wich outputs product price according to product's or given currency * Format: #ECATALOGUE_PRODUCT_PRICE{<id_article>[, <currency_code>][, <type>]} * If you want to output price in product's currency, dont specify currency_code * If you want to output not standart price, specify it's type (<type>), i.e. type="priceold" */ function balise_ECATALOGUE_PRODUCT_PRICE($p) { return calculer_balise_dynamique($p, 'ECATALOGUE_PRODUCT_PRICE', array()); }
function balise_FORMULAIRE_SIGNATURE($p) { return calculer_balise_dynamique($p, 'FORMULAIRE_SIGNATURE', array('id_article', 'petition')); }
function balise_CLEVERMAIL_UNSUBSCRIBE($p) { return calculer_balise_dynamique($p, 'CLEVERMAIL_UNSUBSCRIBE', array()); }
/** * Dymanic Tag wich outputs product currency sign according to product's currency * Format: #ECATALOGUE_PRODUCT_CURRENCY{<id_article[, <sign>]} * If you want to output sign_pre, veale <sign> empty */ function balise_ECATALOGUE_PRODUCT_CURRENCY_SIGN($p) { return calculer_balise_dynamique($p, 'ECATALOGUE_PRODUCT_CURRENCY_SIGN', array()); }
/** * http://doc.spip.org/@balise_FORMULAIRE_INSCRIPTION * * @param object $p * @return mixed */ function balise_FORMULAIRE_INSCRIPTION($p) { return calculer_balise_dynamique($p, 'FORMULAIRE_INSCRIPTION', array()); }
/** * Dymanic Tag which outputs option filter's results. * The idea is that it passes result array of articles IDs (#ARTICLES_IDS) in template, * and you use this array in there to get filtered articles. * It provides default html template, but in most cases you will override it in squelettes or * by passing parameter. Example: * #ECATALOGUE_OPTION_FILTER_RESULT{inc/filter_result_template_file} */ function balise_ECATALOGUE_OPTION_FILTER_RESULT($p) { return calculer_balise_dynamique($p, 'ECATALOGUE_OPTION_FILTER_RESULT', array()); }
/** * Dynamic tag that outputs quantity of product that belongs to composite with taking * to account user changed value */ function balise_ECATALOGUE_COMPOSITE_QUANTITY($p) { return calculer_balise_dynamique($p, 'ECATALOGUE_COMPOSITE_QUANTITY', array()); }
function balise_URL_LOGOUT($p) { return calculer_balise_dynamique($p, 'URL_LOGOUT', array()); }
/** * Compile la balise dynamique `#FORMULAIRE_ECRIRE_AUTEUR` qui permet * très logiquement d'afficher un formulaire pour écrire à un auteur * * Cette balise récupère l'id_auteur (et son email) ou l'id_article de * la boucle AUTEURS ou ARTICLES englobante. * * Le ou les emails correspondants à l'auteur ou aux auteurs de l'article * sont transmis au formulaire CVT (mais ils ne seront pas dévoilés * au visiteur). * * @balise * * @param Champ $p * Pile au niveau de la balise * @return Champ * Pile complétée du code compilé **/ function balise_FORMULAIRE_ECRIRE_AUTEUR($p) { return calculer_balise_dynamique($p, 'FORMULAIRE_ECRIRE_AUTEUR', array('id_auteur', 'id_article', 'email')); }
function balise_CONFIGURER_METAS_dist($p) { return calculer_balise_dynamique($p, $p->nom_champ, array()); }
/** * Compile la balise dynamique `#MENU_LANG_ECRIRE` qui affiche * un sélecteur de langue pour l'interface privée * * Affiche le menu des langues de l'espace privé * et présélectionne celle la globale `$lang` * ou de l'arguemnt fourni: `#MENU_LANG_ECRIRE{#ENV{malangue}}` * * @balise * @link http://www.spip.net/4626 * * @param Champ $p * Pile au niveau de la balise * @return Champ * Pile complétée du code compilé **/ function balise_MENU_LANG_ECRIRE($p) { return calculer_balise_dynamique($p, 'MENU_LANG_ECRIRE', array('lang')); }
function balise_FORMULAIRE_SITE($p) { return calculer_balise_dynamique($p, 'FORMULAIRE_SITE', array('id_rubrique')); }
function balise_LOGIN_PRIVE($p) { return calculer_balise_dynamique($p, 'LOGIN_PRIVE', array('url')); }
function balise_LOGIN_PUBLIC($p, $nom = 'LOGIN_PUBLIC') { return calculer_balise_dynamique($p, $nom, array('url')); }