function generer_generer_url($type, $p) { $_id = interprete_argument_balise(1,$p); if (!$_id) $_id = champ_sql('id_' . $type, $p); return generer_generer_url_arg($type, $p, $_id); }
function generer_generer_url($type, $p) { $_id = interprete_argument_balise(1, $p); if (!$_id) { $primary = id_table_objet($type); $_id = champ_sql($primary, $p); } return generer_generer_url_arg($type, $p, $_id); }
/** * #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; }
function balise_LOGO__dist($p) { preg_match(",^LOGO_([A-Z_]+?)(|_NORMAL|_SURVOL|_RUBRIQUE)\$,i", $p->nom_champ, $regs); $type = strtolower($regs[1]); $suite_logo = $regs[2]; // cas de #LOGO_SITE_SPIP if ($type == 'site_spip') { $type = 'site'; $_id_objet = "\"'0'\""; } $id_objet = id_table_objet($type); if (!isset($_id_objet) or !$_id_objet) { $_id_objet = champ_sql($id_objet, $p); } $fichier = $p->etoile === '**' ? -1 : 0; $coord = array(); $align = $lien = ''; $mode_logo = ''; if ($p->param and !$p->param[0][0]) { $params = $p->param[0]; array_shift($params); foreach ($params as $a) { if ($a[0]->type === 'texte') { $n = $a[0]->texte; if (is_numeric($n)) { $coord[] = $n; } elseif (in_array($n, array('top', 'left', 'right', 'center', 'bottom'))) { $align = $n; } elseif (in_array($n, array('auto', 'icone', 'apercu', 'vignette'))) { $mode_logo = $n; } } else { $lien = calculer_liste($a, $p->descr, $p->boucles, $p->id_boucle); } } } $coord_x = !$coord ? 0 : intval(array_shift($coord)); $coord_y = !$coord ? 0 : intval(array_shift($coord)); if ($p->etoile === '*') { include_spip('balise/url_'); $lien = generer_generer_url_arg($type, $p, $_id_objet); } $connect = $p->id_boucle ? $p->boucles[$p->id_boucle]->sql_serveur : ''; if ($type == 'document') { $qconnect = _q($connect); $doc = "quete_document({$_id_objet}, {$qconnect})"; if ($fichier) { $code = "quete_logo_file({$doc}, {$qconnect})"; } else { $code = "quete_logo_document({$doc}, " . ($lien ? $lien : "''") . ", '{$align}', '{$mode_logo}', {$coord_x}, {$coord_y}, {$qconnect})"; } // (x=non-faux ? y : '') pour affecter x en retournant y if ($p->descr['documents']) { $code = '(($doublons["documents"] .= ",". ' . $_id_objet . ") ? {$code} : '')"; } } elseif ($connect) { $code = "''"; spip_log("Les logos distants ne sont pas prevus"); } else { $code = logo_survol($id_objet, $_id_objet, $type, $align, $fichier, $lien, $p, $suite_logo); } // demande de reduction sur logo avec ecriture spip 2.1 : #LOGO_xxx{200, 0} if ($coord_x or $coord_y) { $code = "filtrer('image_graver',filtrer('image_reduire'," . $code . ", '{$coord_x}', '{$coord_y}'))"; } $p->code = $code; $p->interdire_scripts = false; return $p; }