" . (!$corps ? $cli : ("\n$cli")) . ""; } } // Comme ci-dessus, mais reduit au cas POST et on fournit le bouton Submit. // // http://doc.spip.org/@ajax_action_post function ajax_action_post($action, $arg, $retour, $gra, $corps, $clic='', $atts_i='', $atts_span = "", $args_ajax='', $fct_ajax='') { global $spip_lang_right; if (strpos($gra,"#")===FALSE) { // A etudier: prendre systematiquement arg en trancodant les \W $n = intval($arg); $ancre = "$action-" . ($n ? $n : $arg); } else { $ancre = explode("#",$gra); $args = $ancre[0]; $ancre = $ancre[1]; } if (!$atts_i) $atts_i = " style='float: $spip_lang_right'"; if (is_array($clic)) { $submit = ""; $atts_i .= "\nonclick='AjaxNamedSubmit(this)'"; foreach($clic as $n => $c) $submit .= "\n"; } else { if (!$clic) $clic = _T('bouton_valider'); $submit = ""; } $corps = "
" . $corps . "" . $submit . "
"; if (_SPIP_AJAX !== 1) { return redirige_action_post($action, $arg, $retour, ($gra . '#' . $ancre), $corps); } else { if ($gra AND !$args_ajax) $args_ajax = "&$gra"; if (isset($GLOBALS['var_profile'])) $args_ajax .= '&var_profile=1'; $js = ajax_action_declencheur('this', $ancre, $fct_ajax); return redirige_action_post($action, $arg, $action, "script=$retour$args_ajax", $corps, " onsubmit=$js"); } } // // Attention pour que Safari puisse manipuler cet evenement // il faut onsubmit="return AjaxSqueeze(x,'truc',...)" // et non pas onsubmit='return AjaxSqueeze(x,"truc",...)' // // http://doc.spip.org/@ajax_action_declencheur function ajax_action_declencheur($request, $noeud, $fct_ajax='') { if (strpos($request, 'this') !== 0) $request = "'".$request."'"; return '"return AjaxSqueeze(' . $request . ",'" . $noeud . "'," . ($fct_ajax ? $fct_ajax : "''") . ',event)"'; } // Place un element HTML dans une div nommee, // sauf si c'est un appel Ajax car alors la div y est deja // $fonction : denomination semantique du bloc, que l'on retouve en attribut class // $id : id de l'objet concerne si il y a lieu ou "", sert a construire un identifiant unique au bloc ("fonction-id") // http://doc.spip.org/@ajax_action_greffe function ajax_action_greffe($fonction, $id, $corps) { $idom = $fonction.(strlen($id)?"-$id":""); return _AJAX ? "$corps" : "\n
$corps\n
\n"; } // http://doc.spip.org/@ajax_retour function ajax_retour($corps, $xml = true) { if (isset($_COOKIE['spip_admin']) AND $GLOBALS['tableau_des_temps']) erreur_squelette(); else { if ($GLOBALS['exec'] == 'valider_xml') { $debut = _DOCTYPE_ECRIRE . "Debug Spip Ajax" . "
\n\n" . "\n"; $fin = '
'; } else { $c = $GLOBALS['meta']["charset"]; header('Content-Type: text/html; charset='. $c); $debut = (($xml AND strlen(trim($corps)))?'<' . "?xml version='1.0' encoding='" . $c . "'?" . ">\n":''); $fin = ''; } echo $debut, $corps, $fin; } } // http://doc.spip.org/@determine_upload function determine_upload($type='') { include_spip('inc/autoriser'); if (!autoriser('chargerftp') OR $type == 'logos') # on ne le permet pas pour les logos return false; $repertoire = _DIR_TRANSFERT; if (!@is_dir($repertoire)) { $repertoire = str_replace(_DIR_TMP, '', $repertoire); $repertoire = sous_repertoire(_DIR_TMP, $repertoire); } if (!$GLOBALS['visiteur_session']['restreint']) return $repertoire; else return sous_repertoire($repertoire, $GLOBALS['visiteur_session']['login']); } ?>