本文整理汇总了PHP中interprete_argument_balise函数的典型用法代码示例。如果您正苦于以下问题:PHP interprete_argument_balise函数的具体用法?PHP interprete_argument_balise怎么用?PHP interprete_argument_balise使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了interprete_argument_balise函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: balise_SET__dist
function balise_SET__dist($p) {
$champ = $p->nom_champ;
preg_match(",^SET_([A-Z_]+)?$,i", $champ, $filtre);
$filtre = strtolower($filtre[1]);
$filtre2 = chercher_filtre($filtre);
if (!$filtre2) {
$err_b_s_a = array('zbug_erreur_filtre', array('filtre' => $filtre));
erreur_squelette($err_b_s_a, $p);
} else {
$nom = interprete_argument_balise(1,$p);
if (!$nom) {
$err_b_s_a = array('zbug_balise_sans_argument', array('balise' => $champ));
erreur_squelette($err_b_s_a, $p);
} else {
$i = 1; $args = array();
while(($a = interprete_argument_balise(++$i,$p)) != NULL) $args[] = $a;
$get = function_exists('balise_GET') ? 'balise_GET' : 'balise_GET_dist';
$q = $p; $q->param[0] = array($q->param[0][0], $q->param[0][1]);
$get = $get($q);
$filtre2 .= '('.$get->code.','.join(",", $args).')';
$p->code = "vide(\$Pile['vars'][$nom] = $filtre2)";
}
}
$p->interdire_scripts = false; // la balise ne renvoie rien
return $p;
}
示例2: balise_FOREACH
function balise_FOREACH($p) {
$_tableau = interprete_argument_balise(1,$p);
$_tableau = str_replace("'", "", strtoupper($_tableau));
$_tableau = sinon($_tableau, 'ENV');
$f = 'balise_'.$_tableau;
$balise = function_exists($f) ? $f : (function_exists($g = $f.'_dist') ? $g : '');
if($balise) {
$_modele = interprete_argument_balise(2,$p);
$_modele = str_replace("'", "", strtolower($_modele));
$__modele = 'foreach_'.strtolower($_tableau);
$_modele = (!$_modele AND find_in_path('modeles/'.$__modele.'.html')) ?
$__modele :
($_modele ? $_modele : 'foreach');
$p->param = @array_shift(@array_shift($p->param));
$p = $balise($p);
$filtre = chercher_filtre('foreach');
$p->code = $filtre . "(unserialize(" . $p->code . "), '" . $_modele . "')";
}
//On a pas trouve la balise correspondant au tableau a traiter
else {
erreur_squelette(
_L(/*zbug*/'erreur #FOREACH: la balise #'.$_tableau.' n\'existe pas'),
$p->id_boucle
);
$p->code = "''";
}
return $p;
}
示例3: balise_HORLOGE_dist
function balise_HORLOGE_dist($p) {
$i = 1; $args = array();
while(($a = interprete_argument_balise($i++,$p)) != NULL) $args[] = $a;
$args = count($args)?join(".'||'.", $args):"''";
$p->code = "horloge_params($args)";
$p->interdire_scripts = false;
return $p;
}
示例4: balise_BOITE_PIED_dist
/**
* #BOITE_PIED{class}
* Racourci pour passer au pied de la boite, avant sa fermeture
*
* @param <type> $p
*
* @return <type>
*/
function balise_BOITE_PIED_dist($p)
{
$_class = interprete_argument_balise(1, $p);
$_class = $_class ? "{$_class}" : "";
$f = chercher_filtre('boite_pied');
$p->code = "{$f}({$_class})";
$p->interdire_scripts = false;
return $p;
}
示例5: balise_BOUTONS_ADMIN_FORUM_dist
/**
* Generer les boutons d'admin des forum selon les droits du visiteur
* en SPIP >= 2.1 uniquement
*
* @param object $p
* @return object
*/
function balise_BOUTONS_ADMIN_FORUM_dist($p)
{
if (($_id = interprete_argument_balise(1, $p)) === NULL) {
$_id = champ_sql('id_forum', $p);
}
$p->code = "\n'<'.'?php\n\tif (isset(\$GLOBALS[\\'visiteur_session\\'][\\'statut\\'])\n\t AND \$GLOBALS[\\'visiteur_session\\'][\\'statut\\']==\\'0minirezo\\'\n\t\tAND (\$id = '.intval({$_id}).')\n\t\tAND\tinclude_spip(\\'inc/autoriser\\')\n\t\tAND autoriser(\\'moderer\\',\\'forum\\',\$id)) {\n\t\t\tinclude_spip(\\'inc/actions\\');include_spip(\\'inc/filtres\\');\n\t\t\techo \"<div class=\\'boutons spip-admin actions modererforum\\'>\"\n\t\t\t. bouton_action(_T(\\'forum:icone_supprimer_message\\'),generer_action_auteur(\\'instituer_forum\\',\$id.\\'-off\\',ancre_url(self(),\\'forum\\')),\\'poubelle\\')\n\t\t\t. bouton_action(_T(\\'forum:icone_bruler_message\\'),generer_action_auteur(\\'instituer_forum\\',\$id.\\'-spam\\',ancre_url(self(),\\'forum\\')),\\'spam\\')\n\t\t\t. \"</div>\";\n\t\t}\n?'.'>'";
$p->interdire_scripts = false;
return $p;
}
示例6: balise_CFG_ARBO
function balise_CFG_ARBO($p)
{
if (!($arg = interprete_argument_balise(1, $p))) {
$arg = "''";
}
$p->interdire_scripts = false;
$p->code = 'affiche_arborescence(' . $arg . ')';
return $p;
}
示例7: balise_CFG_CHEMIN
function balise_CFG_CHEMIN($p)
{
if (!($arg = interprete_argument_balise(1, $p))) {
$arg = "''";
}
$sinon = interprete_argument_balise(2, $p);
$p->code = '($l = lire_config(' . $arg . ',' . ($sinon && $sinon != "''" ? $sinon : 'null') . ')) ? _DIR_IMG . $l : null';
return $p;
}
示例8: balise_RAINETTE_INFOS
function balise_RAINETTE_INFOS($p)
{
$code_meteo = interprete_argument_balise(1, $p);
$code_meteo = isset($code_meteo) ? str_replace('\'', '"', $code_meteo) : '""';
$type_info = interprete_argument_balise(2, $p);
$type_info = isset($type_info) ? str_replace('\'', '"', $type_info) : '""';
$p->code = 'calculer_infos(' . $code_meteo . ', ' . $type_info . ')';
$p->interdire_scripts = false;
return $p;
}
示例9: balise_GERER_ABONNEMENT_dist
/**
* #GERER_ABONNEMENT{#MODE_PAIEMENT,#ABO_UID}
* @param $p
* @return mixed
*/
function balise_GERER_ABONNEMENT_dist($p)
{
$_mode = interprete_argument_balise(1, $p);
$_abo_uid = interprete_argument_balise(2, $p);
$p->code = "";
if ($_mode and $_abo_uid) {
$p->code = "bank_affiche_gerer_abonnement({$_mode},{$_abo_uid})";
}
$p->interdire_scripts = false;
return $p;
}
示例10: balise_PAYER_ABONNEMENT_dist
/**
* #PAYER_ABONNEMENT{sips,#ID_TRANSACTION,#HASH}
*
* @param <type> $p
* @return <type>
*/
function balise_PAYER_ABONNEMENT_dist($p)
{
$_mode = interprete_argument_balise(1, $p);
$_id = interprete_argument_balise(2, $p);
$_hash = interprete_argument_balise(3, $p);
$p->code = "";
if ($_mode and $_id and $_hash) {
$p->code = "( (\$f=charger_fonction('abonnement','presta/'.{$_mode}.'/payer'))?\$f({$_id},{$_hash}):'')";
}
$p->interdire_scripts = false;
return $p;
}
示例11: balise_LESMOTS_dist
function balise_LESMOTS_dist($p){
$i_boucle = $p->nom_boucle ? $p->nom_boucle : $p->id_boucle;
// #LESMOTS hors boucle ? ne rien faire
if (!$type = $p->boucles[$i_boucle]->type_requete) {
$p->code = "''";
$p->interdire_scripts = false;
return $p;
}
// le compilateur 1.9.2 ne calcule pas primary pour les tables secondaires
// il peut aussi arriver une table sans primary (par ex: une vue)
if (!($primary = $p->boucles[$i_boucle]->primary)) {
include_spip('inc/vieilles_defs'); # 1.9.2 pour trouver_def_table
list($nom, $desc) = trouver_def_table(
$p->boucles[$i_boucle]->type_requete, $p->boucles[$i_boucle]);
$primary = $desc['key']['PRIMARY KEY'];
}
$primary = explode(',',$primary);
$id = array();
foreach($primary as $key)
$id[] = champ_sql(trim($key),$p);
$primary = implode(".'-'.",$id);
$p->code = "classe_boucle_crayon('"
. $type
."',"
.sinon(interprete_argument_balise(1,$p),"''")
.","
. $primary
.").' '";
$p->interdire_scripts = false;
return $p;
// Cherche le champ 'lesmots' dans la pile
$_lesmots = champ_sql('lesmots', $p);
// Si le champ n'existe pas (cas de spip_articles), on applique
// le fond les_mots.html en passant id_article dans le contexte;
// dans le cas contraire on prend le champ SQL 'lesmots'
if ($_lesmots AND $_lesmots != '$Pile[0][\'lesmots\']') {
$p->code = "safehtml($_lesmots)";
// $p->interdire_scripts = true;
} else {
if ($cle = $p->boucles[$p->id_boucle]->primary)
$id = champ_sql($primary, $p);
$p->code = "recuperer_fond('fonds/lesmots', array($cle => $id))";
// securite imposee par recuperer_fond()
$p->interdire_scripts = false;
}
return $p;
}
示例12: balise_INFO__dist
/**
* Generer n'importe quel info pour un objet : #INFO_TITRE{article, #ENV{id_article}}
* Utilise la fonction generer_info_entite() de inc/filtres
* se reporter a sa documentation
*
*/
function balise_INFO__dist($p)
{
$info = $p->nom_champ;
$type_objet = interprete_argument_balise(1, $p);
$id_objet = interprete_argument_balise(2, $p);
if ($info === 'INFO_' or !$type_objet or !$id_objet) {
$msg = _T('zbug_balise_sans_argument', array('balise' => ' INFO_'));
erreur_squelette($msg, $p);
$p->interdire_scripts = true;
return $p;
} else {
$info_sql = strtolower(substr($info, 5));
$code = "generer_info_entite({$id_objet}, {$type_objet}, '{$info_sql}'" . ($p->etoile ? "," . _q($p->etoile) : "") . ")";
$p->code = champ_sql($info, $p, $code);
$p->interdire_scripts = true;
return $p;
}
}
示例13: balise_SET_MERGE_dist
/**
* Si 3 arguments : Cree un tableau nom_tableau de t1 + t2
* #SET_MERGE{nom_tableau,t1,t2}
* #SET_MERGE{nom_tableau,#GET{tableau},#ARRAY{cle,valeur}}
*
* Si 2 arguments : Merge t1 dans nom_tableau
* #SET_MERGE{nom_tableau,t1}
* #SET_MERGE{nom_tableau,#GET{tableau}}
*
* @param Champ $p : objet balise
* @return Champ
* La balise ne retourne rien ("")
**/
function balise_SET_MERGE_dist($p)
{
$_nom = interprete_argument_balise(1, $p);
$_t1 = interprete_argument_balise(2, $p);
$_t2 = interprete_argument_balise(3, $p);
if ($_nom and $_t1 and !$_t2) {
// 2 arguments : merge de $_nom et $_t1 dans $_nom
// si le tableau n'existe pas encore, on le cree
$p->code = "vide((\$cle={$_nom})\n\t\t\t. vide((!isset(\$Pile['vars'][\$cle]) OR !is_array(\$Pile['vars'][\$cle]))?\$Pile['vars'][\$cle]=array():'')\n\t\t\t. vide(is_array(\$new={$_t1})?'':\$new=array(\$new))\n\t\t\t. vide(\$Pile['vars'][\$cle] = array_merge(\$Pile['vars'][\$cle],\$new)))";
} elseif ($_nom and $_t1 and $_t2) {
// 3 arguments : merge de $_t1 et $_t2 dans $_nom
// si le tableau n'existe pas encore, on le cree
$p->code = "vide((\$cle={$_nom})\n\t\t\t. vide((!isset(\$Pile['vars'][\$cle]) OR !is_array(\$Pile['vars'][\$cle]))?\$Pile['vars'][\$cle]=array():'')\n\t\t\t. vide(is_array(\$new1={$_t1})?'':\$new1=array(\$new1))\n\t\t\t. vide(is_array(\$new2={$_t2})?'':\$new2=array(\$new2))\n\t\t\t. vide(\$Pile['vars'][\$cle] = array_merge(\$new1,\$new2)))";
} else {
$p->code = "''";
}
$p->interdire_scripts = false;
// la balise ne renvoie rien
return $p;
}
示例14: balise_URL_EVENEMENT_dist
/**
* #URL_EVENEMENT envoie sur la page de l'evenement
* ou sur la page de l'article avec un &id_evenement=xxx
* selon la configuration de l'agenda
*
* @param object $p
* @return object
*/
function balise_URL_EVENEMENT_dist($p)
{
include_spip("inc/config");
include_spip("balise/url_");
if (lire_config("agenda/url_evenement", 'evenement') !== 'article') {
$code = generer_generer_url('evenement', $p);
} else {
$_ide = interprete_argument_balise(1, $p);
if (!$_ide) {
$_ide = champ_sql('id_evenement', $p);
}
$_ida = "generer_info_entite({$_ide},'evenement','id_article')";
$code = generer_generer_url_arg('article', $p, $_ida);
$code = "parametre_url({$code},'id_evenement',{$_ide},'&')";
}
$code = champ_sql('url_evenement', $p, $code);
$p->code = $code;
if (!$p->etoile) {
$p->code = "vider_url({$code})";
}
$p->interdire_scripts = false;
return $p;
}
示例15: balise_SMILEYS_dist
function balise_SMILEYS_dist($p) {
// Fonctions abandonnees par le plugin Porte Plume
$js_compat = !defined('_DIR_PLUGIN_PORTE_PLUME')?"":"<script type=\"text/javascript\">/*<![CDATA[*/
// From SPIP 2.0 (spip_barre.js)
if(typeof barre_inserer!='function') { function barre_inserer(text,champ) {
var txtarea = champ;
if(document.selection){
txtarea.focus();
var r = document.selection.createRange();
if (r == null) {
txtarea.selectionStart = txtarea.value.length;
txtarea.selectionEnd = txtarea.selectionStart;
} else {
var re = txtarea.createTextRange();
var rc = re.duplicate();
re.moveToBookmark(r.getBookmark());
rc.setEndPoint('EndToStart', re);
txtarea.selectionStart = rc.text.length;
txtarea.selectionEnd = rc.text.length + r.text.length;
}
}
mozWrap(txtarea, '', text);
}}
// From http://www.massless.org/mozedit/
if(typeof mozWrap!='function') { function mozWrap(txtarea, open, close) {
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
if (selEnd == 1 || selEnd == 2) selEnd = selLength;
var selTop = txtarea.scrollTop;
// Raccourcir la selection par double-clic si dernier caractere est espace
if (selEnd - selStart > 0 && (txtarea.value).substring(selEnd-1,selEnd) == ' ') selEnd = selEnd-1;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + open + s2 + close + s3;
selDeb = selStart + open.length;
selFin = selEnd + close.length;
window.setSelectionRange(txtarea, selDeb, selFin);
txtarea.scrollTop = selTop;
txtarea.focus();
return;
}}
/*]]>*/</script>\n";
// le tableau des smileys est present dans les metas
$smileys = cs_lire_data_outil('smileys');;
// valeurs par defaut
$nb_col = 8;
$titre = _T('couteau:smileys_dispos');
$head = '';
$liens = false;
// traitement des arguments : [(#SMILEYS{arg1, arg2, ...})]
$n=1;
$arg = interprete_argument_balise($n++,$p);
while ($arg){
// un nombre est le nombre de colonne
if (preg_match(",'([0-9]+)',", $arg, $reg))
$nb_col = intval($reg[1]);
// on veut un titre
elseif ($arg=="'titre'")
$head = "<thead><tr class=\"row_first\"><td colspan=\"$nb_col\">$titre</td></tr></thead>";
// on veut un lien d'insertion sur chaque smiley
elseif ($arg=="'liens'") {
$liens = true;
include_spip('outils/smileys');
$smileys = smileys_uniques($smileys);
}
$arg = interprete_argument_balise($n++,$p);
}
$max = count($smileys[0]);
if (!$nb_col) $nb_col = $max;
$html = "<table summary=\"$titre\" class=\"spip cs_smileys smileys\">$head";
$l = 1;
for ($i=0; $i<$max; $i++) {
if ($i % $nb_col == 0) {
$class = 'row_'.alterner($l++, 'even', 'odd');
$html .= "<tr class=\"$class\">";
}
$html .= $liens
?"<td><a href=\"javascript:barre_inserer('{$smileys[0][$i]}',document.getElementById('".(defined('_SPIP19300')?'texte':'textarea_1')."'))\">{$smileys[1][$i]}</a></td>"
:"<td>{$smileys[1][$i]}<br />{$smileys[0][$i]}</td>";
if ($i % $nb_col == $nb_col - 1)
$html .= "</tr>\n";
}
// on finit la ligne qd meme...
if ($i = $max % $nb_col) $html .= str_repeat('<td> </td>', $nb_col - $i) . '</tr>';
// accessibilite : alt et title avec le smiley en texte
$html = $js_compat . echappe_retour($html, 'SMILE');
$html = str_replace("'", "\'", $html);
$p->code = "'$html\n</table>\n'";
$p->interdire_scripts = false;
$p->type = 'html';
return $p;
}