%k25u25%fgd5n!?%k25u25%fgd5n!%k25u25%fgd5n!?%k25u25%fgd5n!PKdR\baqqformulaire_ecrire_auteur.phpnuW+A 'FORMULAIRE_ECRIRE_AUTEUR', 'motif' => 'AUTEURS/ARTICLES')); erreur_squelette($msg, $context_compil); return ''; } // Si on est dans un contexte article, // sortir tous les mails des auteurs de l'article if (!$args[0] AND $id) { $r = ''; $s = sql_allfetsel('email', 'spip_auteurs AS A LEFT JOIN spip_auteurs_articles AS L ON A.id_auteur=L.id_auteur', "A.email != '' AND L.id_article=$id"); foreach($s as $row) { if (email_valide($row['email'])) $r .= ', '.$row['email']; } $args[2] = substr($r, 2); } // On ne peut pas ecrire a un auteur dont le mail n'est pas valide if (!$args[2] OR !email_valide($args[2])) return ''; // OK return $args; } ?> PKdR\STTformulaire_admin.phpnuW+A $v) { if (strpos($v,'administration.') !== false) return $debug['resultat'][$k . 'tout']; } return ''; } } include_spip('inc/autoriser'); include_spip('base/abstract_sql'); $dejafait = true; // Preparer le #ENV des boutons $env = admin_objet(); // Pas de "modifier ce..." ? -> donner "acces a l'espace prive" if (!$env) $env['ecrire'] = _DIR_RESTREINT_ABS; $env['divclass'] = $float; $env['lang'] = admin_lang(); $env['calcul'] = (_request('var_mode') ? 'recalcul' : 'calcul'); $env['debug'] = $var_preview ? "" : admin_debug(); $env['analyser'] = (!$env['debug'] AND !$GLOBALS['xhtml']) ? '' : admin_valider(); $env['inclure'] = ($GLOBALS['var_inclure']?'inclure':''); if (!$use_cache) $env['use_cache'] = ' *'; if (isset($debug['validation'])) { $env['xhtml_error'] = $debug['validation']; } $env['_pipeline'] = 'formulaire_admin'; return array('formulaires/administration', 0, $env); } // Afficher le bouton 'Modifier ce...' // s'il y a un $id_XXX defini globalement par spip_register_globals // Attention a l'ordre dans la boucle: // on ne veut pas la rubrique si un autre bouton est possible // http://doc.spip.org/@admin_objet function admin_objet() { include_spip('inc/urls'); $env = array(); foreach (array('mot','auteur','rubrique','breve','article','syndic'=>'site') as $id => $obj) { if (is_int($id)) $id = $obj; $_id_type = id_table_objet($id); if (isset($GLOBALS['contexte'][$_id_type]) AND $id_type = $GLOBALS['contexte'][$_id_type]) { $id_type = sql_getfetsel($_id_type, table_objet_sql($id), "$_id_type=".intval($id_type)); if ($id_type) { $env[$_id_type] = $id_type; $env['objet'] = $id; $env['id_objet'] = $id_type; $g = 'generer_url_ecrire_'.$obj; $env['voir_'.$obj] = str_replace('&', '&', $g($id_type, '','', 'prop')); if ($id == 'article' OR $id == 'breve') { unset($env['id_rubrique']); unset($env['voir_rubrique']); if ($l = admin_stats($id, $id_type, $var_preview)) { $env['visites'] = $l[0]; $env['popularite'] = $l[1]; $env['statistiques'] = $l[2]; } if (admin_preview($id, $id_type)) $env['preview']=parametre_url(self(),'var_mode','preview','&'); } } } } return $env; } // http://doc.spip.org/@admin_preview function admin_preview($id, $id_type) { if ($GLOBALS['var_preview']) return ''; if (!($id == 'article' OR $id == 'breve' OR $id == 'rubrique' OR $id == 'syndic')) return ''; include_spip('inc/autoriser'); if (!autoriser('previsualiser')) return ''; $notpub = sql_in("statut", array('prop', 'prive')); if ($id == 'article' AND $GLOBALS['meta']['post_dates'] != 'oui') $notpub .= " OR (statut='publie' AND date>".sql_quote(date('Y-m-d H:i:s')).")"; return sql_fetsel('1', table_objet_sql($id), id_table_objet($id)."=".$id_type." AND ($notpub)"); } // // Regler les boutons dans la langue de l'admin (sinon tant pis) // // http://doc.spip.org/@admin_lang function admin_lang() { $alang = sql_getfetsel('lang', 'spip_auteurs', "login=" . sql_quote(preg_replace(',^@,','',@$_COOKIE['spip_admin']))); if (!$alang) return ''; $l = lang_select($alang); $alang = $GLOBALS['spip_lang']; if ($l) lang_select(); return $alang; } // http://doc.spip.org/@admin_valider function admin_valider() { global $xhtml; return ((@$xhtml !== 'true') ? (parametre_url(self(), 'var_mode', 'debug', '&') .'&var_mode_affiche=validation') : ('http://validator.w3.org/check?uri=' . rawurlencode("http://" . $_SERVER['HTTP_HOST'] . nettoyer_uri()))); } // http://doc.spip.org/@admin_debug function admin_debug() { return (( (isset($GLOBALS['forcer_debug']) AND $GLOBALS['forcer_debug']) OR (isset($GLOBALS['bouton_admin_debug']) AND $GLOBALS['bouton_admin_debug']) OR ( isset($GLOBALS['var_mode']) AND $GLOBALS['var_mode'] == 'debug' AND $_COOKIE['spip_debug'] ) ) AND autoriser('debug') ) ? parametre_url(self(),'var_mode', 'debug', '&'): ''; } // Tant que les stats ne sont pas passees dans une extension, il faut les traiter ici // http://doc.spip.org/@admin_stats function admin_stats($id, $id_type, $var_preview) { if ($GLOBALS['meta']["activer_statistiques"] != "non" AND $id = 'article' AND !$var_preview AND autoriser('voirstats') ) { $row = sql_fetsel("visites, popularite", "spip_articles", "id_article=$id_type AND statut='publie'"); if ($row) { return array(intval($row['visites']), ceil($row['popularite']), str_replace('&', '&', generer_url_ecrire_statistiques($id_type))); } } return false; } ?> PKdR\o+login_public.phpnuW+A[(#LOGIN_PUBLIC{#SELF, #LOGIN})] // http://doc.spip.org/@balise_LOGIN_PUBLIC_stat function balise_LOGIN_PUBLIC_stat ($args, $context_compil) { return array(isset($args[1]) ? $args[1] : $args[0], (isset($args[2]) ? $args[2] : '')); } // http://doc.spip.org/@balise_LOGIN_PUBLIC_dyn function balise_LOGIN_PUBLIC_dyn($url, $login) { include_spip('balise/formulaire_'); if (!$url # pas d'url passee en filtre ou dans le contexte AND !$url = _request('url') # ni d'url passee par l'utilisateur ) $url = parametre_url(self(), '', '', '&'); return balise_FORMULAIRE__dyn('login',$url,$login,false); } ?> PKdR\::url_logout.phpnuW+A PKdR\k logo_.phpnuW+Anom_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_syndic'; # parait faux mais donne bien "siteNN" } else { $id_objet = "id_".$type; if ($id_objet == 'id_site') $id_objet = "id_syndic"; # correction $_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; } function logo_survol($id_objet, $_id_objet, $type, $align, $fichier, $lien, $p, $suite) { $code = "quete_logo('$id_objet', '" . (($suite == '_SURVOL') ? 'off' : (($suite == '_NORMAL') ? 'on' : 'ON')) . "', $_id_objet," . (($suite == '_RUBRIQUE') ? champ_sql("id_rubrique", $p) : (($type == 'rubrique') ? "quete_parent($_id_objet)" : "''")) . ", " . intval($fichier) . ")"; if ($fichier) return $code; $code = "\n((!is_array(\$l = $code)) ? '':\n (" . '"\"\"'\'))'; if (!$lien) return $code; return ('(strlen($logo='.$code.')?\'\' . $logo . \'\':\'\')'); } ?> PKdR\=,99formulaire_.phpnuW+Anom_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()); } /* prendre en charge par defaut les balises dynamiques formulaires simples */ // http://doc.spip.org/@balise_FORMULAIRE__dyn function balise_FORMULAIRE__dyn($form) { $form = existe_formulaire($form); if (!$form) return ''; // deux moyen d'arriver ici : // soit #FORMULAIRE_XX reroute avec 'FORMULAIRE_XX' ajoute en premier arg // soit #FORMULAIRE_{xx} // recuperer les arguments passes a la balise // on enleve le premier qui est le nom de la balise // deja recupere ci-dessus $args = func_get_args(); array_shift($args); $contexte = balise_FORMULAIRE__contexte($form, $args); if (!is_array($contexte)) return $contexte; return array("formulaires/$form", 3600, $contexte); } function balise_FORMULAIRE__contexte($form, $args) { // tester si ce formulaire vient d'etre poste (memes arguments) // pour ne pas confondre 2 #FORMULAIRES_XX identiques sur une meme page // si poste, on recupere les erreurs $je_suis_poste = false; if ($post_form = _request('formulaire_action') AND $post_form == $form AND $p = _request('formulaire_action_args') AND is_array($p = decoder_contexte_ajax($p, $post_form))) { // enlever le faux attribut de langue masque array_shift($p); if (formulaire__identifier($form, $args, $p)) $je_suis_poste = true; } $editable = true; $erreurs = $post = array(); if ($je_suis_poste) { $post = traiter_formulaires_dynamiques(true); $e = "erreurs_$form"; $erreurs = isset($post[$e]) ? $post[$e] : array(); $editable = "editable_$form"; $editable = (!isset($post[$e])) || count($erreurs) || (isset($post[$editable]) && $post[$editable]); } $valeurs = formulaire__charger($form, $args, $je_suis_poste); // si $valeurs n'est pas un tableau, le formulaire n'est pas applicable // C'est plus fort qu'editable qui est gere par le squelette // Idealement $valeur doit etre alors un message explicatif. if (!is_array($valeurs)) return is_string($valeurs) ? $valeurs : ''; // charger peut passer une action si le formulaire ne tourne pas sur self() // ou une action vide si elle ne sert pas $action = (isset($valeurs['action'])) ? $valeurs['action'] : self('&', true); // bug IEx : si action finit par / // IE croit que le
est autoferme if (substr($action,-1)=='/') { // on ajoute une ancre pour feinter IE, au pire ca tue l'ancre qui finit par un / $action .= '#'; } // recuperer la saisie en cours si erreurs // seulement si c'est ce formulaire qui est poste // ou si on le demande explicitement par le parametre _forcer_request = true $dispo = ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request'])); foreach(array_keys($valeurs) as $champ){ if ($champ[0]!=='_' AND !in_array($champ, array('message_ok','message_erreur','editable'))) { if ($dispo AND (($v = _request($champ))!==NULL)) $valeurs[$champ] = $v; if ($action) $action = parametre_url($action,$champ,''); // nettoyer l'url des champs qui vont etre saisis // proteger les ' et les " dans les champs que l'on va injecter $valeurs[$champ] = protege_champ($valeurs[$champ]); } } if ($action) { // nettoyer l'url $action = parametre_url($action,'formulaire_action',''); $action = parametre_url($action,'formulaire_action_args',''); } if (isset($valeurs['_action'])){ $securiser_action = charger_fonction('securiser_action','inc'); $secu = $securiser_action(reset($valeurs['_action']),end($valeurs['_action']),'',-1); $valeurs['_hidden'] = (isset($valeurs['_hidden'])?$valeurs['_hidden']:'') . "" . ""; } // empiler la lang en tant que premier argument implicite du CVT // pour permettre de la restaurer au moment du Verifier et du Traiter array_unshift($args, $GLOBALS['spip_lang']); $valeurs['formulaire_args'] = encoder_contexte_ajax($args, $form); $valeurs['erreurs'] = $erreurs; $valeurs['action'] = $action; $valeurs['form'] = $form; if (!isset($valeurs['id'])) $valeurs['id'] = 'new'; // editable peut venir de charger() ou de traiter() sinon if (!isset($valeurs['editable'])) $valeurs['editable'] = $editable; // dans tous les cas, renvoyer un espace ou vide (et pas un booleen) $valeurs['editable'] = ($valeurs['editable']?' ':''); if ($je_suis_poste) { $valeurs['message_erreur'] = ""; if (isset($erreurs['message_erreur'])) $valeurs['message_erreur'] = $erreurs['message_erreur']; $valeurs['message_ok'] = ""; if (isset($post["message_ok_$form"])) $valeurs['message_ok'] = $post["message_ok_$form"]; elseif (isset($erreurs['message_ok'])) $valeurs['message_ok'] = $erreurs["message_ok"]; } return $valeurs; } /** * Charger les valeurs de saisie du formulaire * * @param string $form * @param array $args * @param bool $poste * @return array */ function formulaire__charger($form, $args, $poste) { if ($charger_valeurs = charger_fonction("charger","formulaires/$form",true)) $valeurs = call_user_func_array($charger_valeurs,$args); else $valeurs = array(); $valeurs = pipeline( 'formulaire_charger', array( 'args'=>array('form'=>$form,'args'=>$args,'je_suis_poste'=>$poste), 'data'=>$valeurs) ); return $valeurs; } /** * Verifier que le formulaire en cours est celui qui est poste * on se base sur la fonction identifier (si elle existe) qui fournit * une signature identifiant le formulaire a partir de ses arguments * significatifs * * En l'absence de fonction identifier, on se base sur l'egalite des * arguments, ce qui fonctionne dans les cas simples * * @param string $form * @param array $args * @param array $p * @return bool */ function formulaire__identifier($form, $args, $p) { if ($identifier_args = charger_fonction("identifier","formulaires/$form",true)) { return call_user_func_array($identifier_args,$args)===call_user_func_array($identifier_args,$p); } return $args===$p; } ?> PKdR\SDS' menu_lang.phpnuW+A PKdR\,n index.phpnuW+AX PKdR\[formulaire_forum.phpnuW+Acode = $i($p, $p->code); return $p; } // // Chercher le titre et la configuration d'un forum // valeurs possibles : 'pos'teriori, 'pri'ori, 'abo'nnement // Donner aussi la table de reference pour afficher_groupes[] // http://doc.spip.org/@balise_FORMULAIRE_FORUM_stat function balise_FORMULAIRE_FORUM_stat($args, $context_compil) { // le denier arg peut contenir l'url sur lequel faire le retour // exemple dans un squelette article.html : [(#FORMULAIRE_FORUM{#SELF})] // recuperer les donnees du forum auquel on repond. list ($idr, $idf, $ida, $idb, $ids, $am, $ag, $af, $url) = $args; $idr = intval($idr); $idf = intval($idf); $ida = intval($ida); $idb = intval($idb); $ids = intval($ids); $type = substr($GLOBALS['meta']["forums_publics"],0,3); if ($ida) { $titre = sql_fetsel('accepter_forum AS type, titre', 'spip_articles', "statut = 'publie' AND id_article = $ida"); if ($titre) { if ($titre['type']) $type = $titre['type']; $table = "articles"; } if ($type == 'non') return false; } else { if ($type == 'non') return false; if ($idb) { $titre = sql_fetsel('titre', 'spip_breves', "statut = 'publie' AND id_breve = $idb"); $table = "breves"; } else if ($ids) { $titre = sql_fetsel('nom_site AS titre', 'spip_syndic', "statut = 'publie' AND id_syndic = $ids"); $table = "syndic"; } else if ($idr) { $titre = sql_fetsel('titre', 'spip_rubriques', "statut = 'publie' AND id_rubrique = $idr"); $table = "rubriques"; } } if (!$titre) return false; // inexistant ou non public if ($idf>0) { $titre_m = sql_fetsel('titre', 'spip_forum', "id_forum = $idf"); if (!$titre_m) return false; // URL fabriquee $titre = $titre_m; } if ($GLOBALS['meta']["mots_cles_forums"] != "oui") $table = ''; $titre = supprimer_numero($titre['titre']); // Sur quelle adresse va-t-on "boucler" pour la previsualisation ? // si vide : self() $script = ''; return array($titre, $table, $type, $script, $idr, $idf, $ida, $idb, $ids, $am, $ag, $af, $url); } ?> PKdR\F޹YYformulaire_recherche.phpnuW+A pas besoin d'appeler calculer_balise_dynamique // http://doc.spip.org/@balise_FORMULAIRE_RECHERCHE_stat function balise_FORMULAIRE_RECHERCHE_stat($args, $context_compil) { // le premier element du tableau etait auparavant un script. // Voir si on ne pourrait pas simplifier maintenant return array('', $args ? $args[0] : ''); } ?> PKdR\"dformulaire_site.phpnuW+A 'FORMULAIRE_SITE', 'motif' => 'RUBRIQUES')); erreur_squelette($msg, $context_compil); return ''; } // Verifier que les visisteurs sont autorises a proposer un site return (($GLOBALS['meta']["proposer_sites"] != 2) ? '' : $args); } ?> PKdR\+url_.phpnuW+Aid_boucle; if ($s !== '' AND $s = $p->boucles[$s]->sql_serveur) { // si une fonction de generation des url a ete definie pour ce connect l'utiliser if (function_exists($f = 'generer_generer_url_'.$s)){ return $f($type, $_id, $s); } if (!$GLOBALS['connexions'][strtolower($s)]['spip_connect_version']) { return NULL; } $s = _q($s); if ($type == 'document') { return "quete_meta('adresse_site', $s) . '/' .\n\t" . "quete_meta('dir_img', $s) . \n\t" . "quete_fichier($_id,$s)"; } $s = ", '', '', $s, quete_meta('type_urls', $s)"; } else $s = ", '', '', true"; return "urlencode_1738(generer_url_entite($_id, '$type'$s))"; } // http://doc.spip.org/@balise_URL__dist function balise_URL__dist($p) { $nom = $p->nom_champ; if ($nom === 'URL_') { $msg = array('zbug_balise_sans_argument', array('balise' => ' URL_')); erreur_squelette($msg, $p); $p->interdire_scripts = false; return $p; } elseif ($f = charger_fonction($nom, 'balise', true)) { return $f($p); }else { $code = champ_sql($nom, $p); if (strpos($code, '@$Pile[0]') !== false) { $nom = strtolower(substr($nom,4)); $code = generer_generer_url($nom, $p); if ($code === NULL) return NULL; } if (!$p->etoile) $p->code = "vider_url($code)"; $p->interdire_scripts = false; return $p; } } // http://doc.spip.org/@balise_URL_ARTICLE_dist function balise_URL_ARTICLE_dist($p) { // Cas particulier des boucles (SYNDIC_ARTICLES) if ($p->type_requete == 'syndic_articles') { $code = champ_sql('url', $p); } else $code = generer_generer_url('article', $p); $p->code = "vider_url($code)"; $p->interdire_scripts = false; return $p; } // http://doc.spip.org/@balise_URL_SITE_dist function balise_URL_SITE_dist($p) { $code = champ_sql('url_site', $p); if (strpos($code, '@$Pile[0]') !== false) { $code = generer_generer_url('site', $p); if ($code === NULL) return NULL; } else { if (!$p->etoile) $code = "calculer_url($code,'','url', \$connect)"; } $p->code = $code; $p->interdire_scripts = false; return $p; } // Autres balises URL_*, qui ne concernent pas une table // (historique) // http://doc.spip.org/@balise_URL_SITE_SPIP_dist function balise_URL_SITE_SPIP_dist($p) { $p->code = "sinon(\$GLOBALS['meta']['adresse_site'],'.')"; $p->code = "htmlspecialchars(".$p->code.")"; $p->interdire_scripts = false; return $p; } // // #URL_PAGE{backend} -> backend.php3 ou ?page=backend selon les cas // Pour les pages qui commencent par "spip_", il faut eventuellement // aller chercher spip_action.php?action=xxxx // Sans argument, #URL_PAGE retourne l'URL courante. // #URL_PAGE* retourne l'URL sans convertir les & en & // http://doc.spip.org/@balise_URL_PAGE_dist function balise_URL_PAGE_dist($p) { $code = interprete_argument_balise(1,$p); $args = interprete_argument_balise(2,$p); $s = !$p->id_boucle ? '' : $p->boucles[$p->id_boucle]->sql_serveur; if ($s) { if (!$GLOBALS['connexions'][strtolower($s)]['spip_connect_version']) { $code = "404"; } else { // si une fonction de generation des url a ete definie pour ce connect l'utiliser // elle devra aussi traiter le cas derogatoire type=page if (function_exists($f = 'generer_generer_url_'.$s)){ if ($args) $code .= ", $args"; $code = $f('page', $code, $s); return $p; } $s = 'connect=' . addslashes($s); $args = $args ? "$args . '&$s'" : "'$s'"; } } if (!$code) { $noentities = $p->etoile ? "'&'" : ''; $code = "url_de_base() . preg_replace(',^./,', '', self($noentities))"; } else{ if (!$args) $args = "''"; $noentities = $p->etoile ? ", true" : ''; $code = "generer_url_public($code, $args$noentities)"; } $p->code = $code; #$p->interdire_scripts = true; return $p; } // // #URL_ECRIRE{naviguer} -> ecrire/?exec=naviguer // // http://doc.spip.org/@balise_URL_ECRIRE_dist function balise_URL_ECRIRE_dist($p) { $code = interprete_argument_balise(1,$p); if (!$code) $fonc = "''"; else{ if (preg_match("/^'[^']*'$/", $code)) $fonc = $code; else {$code = "(\$f = $code)"; $fonc = '$f';} $args = interprete_argument_balise(2,$p); if ($args != "''" && $args!==NULL) $fonc .= ',' . $args; } $p->code = 'generer_url_ecrire(' . $fonc .')'; if ($code) $p->code = "(tester_url_ecrire($code) ?" . $p->code .' : "")'; #$p->interdire_scripts = true; return $p; } // // #URL_ACTION_AUTEUR{converser,arg,redirect} -> ecrire/?action=converser&arg=arg&hash=xxx&redirect=redirect // // http://doc.spip.org/@balise_URL_ACTION_AUTEUR_dist function balise_URL_ACTION_AUTEUR_dist($p) { $p->descr['session'] = true; if ($p->boucles[$p->id_boucle]->sql_serveur) { $p->code = 'generer_url_public("404")'; return $p; } $p->code = interprete_argument_balise(1,$p); $args = interprete_argument_balise(2,$p); if ($args != "''" && $args!==NULL) $p->code .= ",".$args; $redirect = interprete_argument_balise(3,$p); if ($redirect != "''" && $redirect!==NULL) $p->code .= ",".$redirect; $p->code = "generer_action_auteur(" . $p->code . ")"; $p->interdire_scripts = false; return $p; } ?> PKdR\f6login_prive.phpnuW+A[(#LOGIN_PRIVE{#URL_ECRIRE, #LOGIN})] // http://doc.spip.org/@balise_LOGIN_PRIVE_stat function balise_LOGIN_PRIVE_stat ($args, $context_compil) { return array(isset($args[1]) ? $args[1] : $args[0], (isset($args[2]) ? $args[2] : '')); } // http://doc.spip.org/@balise_LOGIN_PRIVE_dyn function balise_LOGIN_PRIVE_dyn($url, $login) { include_spip('balise/formulaire_'); if (!$url # pas d'url passee en filtre ou dans le contexte AND !$url = _request('url') # ni d'url passee par l'utilisateur ) $url = generer_url_ecrire('accueil','',true); return balise_FORMULAIRE__dyn('login',$url,$login,true); } ?> PKdR\Gd menu_lang_ecrire.phpnuW+A $default) { $opt = lang_select($default); # et remplace if ($GLOBALS['spip_lang'] <> $default) { $default = ''; # annule tout choix par defaut if ($opt) lang_select(); } } $opt = liste_options_langues($nom, $default); if (!$opt) return ''; # lien a partir de / $cible = parametre_url(self(), 'lang' , '', '&'); $post = generer_url_action('converser', 'redirect='. rawurlencode($cible), '&'); return array('formulaires/menu_lang', 3600, array('nom' => $nom, 'url' => $post, 'langues' => $opt ) ); } ?> PKdR\ɇformulaire_signature.phpnuW+A erreur de contexte if (!$args[0]) { $msg = array('zbug_champ_hors_motif', array ('champ' => 'FORMULAIRE_SIGNATURE', 'motif' => 'ARTICLES')); erreur_squelette($msg, $context_compil); return ''; } // article sans petition => pas de balise else if (!$args[1]) return ''; else { // aller chercher dans la base la petition associee if ($r = sql_fetsel("texte, site_obli, message", 'spip_petitions', "id_article = ".intval($args[0]))) { $args[2] = $r['texte']; // le signataire doit-il donner un site ? $args[3] = ($r['site_obli'] == 'oui') ? ' ':''; // le signataire peut-il proposer un commentaire $args[4] = ($r['message'] == 'oui') ? ' ':''; } return $args; } } ?> PKdR\AONtformulaire_inscription.phpnuW+A PKdR\baqqformulaire_ecrire_auteur.phpnuW+APKdR\STTformulaire_admin.phpnuW+APKdR\o+U"login_public.phpnuW+APKdR\::o)url_logout.phpnuW+APKdR\k .logo_.phpnuW+APKdR\=,99?formulaire_.phpnuW+APKdR\SDS' ^menu_lang.phpnuW+APKdR\,n dindex.phpnuW+APKdR\['eformulaire_forum.phpnuW+APKdR\F޹YY~sformulaire_recherche.phpnuW+APKdR\"dxformulaire_site.phpnuW+APKdR\+/~url_.phpnuW+APKdR\f6login_prive.phpnuW+APKdR\Gd #menu_lang_ecrire.phpnuW+APKdR\ɇrformulaire_signature.phpnuW+APKdR\AONtLformulaire_inscription.phpnuW+APKj