Valider 2f758149 rédigé par esj's avatar esj
Parcourir les fichiers

Harmonisation Ajax: les fonctions ajax_action_auteur et redirige_action_auteur

admettent les memes arguments afin qu'il soit plus facile de passer en mode Ajax lorsque la partie correspondante du DOM est configurée pour.

Idéalement il faudrait aussi qu'elles retourne le meme genre de résultat (un formulaire ou un <A href=X>clic</A>) mais ça impose de revoir menu_langues, icone et icone_horizontale.

Aussi: explication de la variable d'URL select_groupe sortant auparavant d'on
ne savait où dans le formulaire mot (voir depot suivant).
parent e86cccef
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+4 −5
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -20,7 +20,7 @@ include_spip('base/abstract_sql');
include_spip("inc/indexation");

// http://doc.spip.org/@afficher_breves_voir
function afficher_breves_voir($id_breve, $changer_lang, $cherche_mot)
function afficher_breves_voir($id_breve, $changer_lang, $cherche_mot, $select_groupe)
{
	global $champs_extra, $options, $connect_statut, $les_notes,$spip_display;
	$result = spip_query("SELECT * FROM spip_breves WHERE id_breve='$id_breve'");
@@ -129,7 +129,7 @@ if ($flag_editable AND ($options == 'avancees' OR $statut == 'publie')) {


if ($GLOBALS['meta']["articles_mots"]!='non' AND $flag_editable AND $options == 'avancees') {
  echo formulaire_mots('breves', $id_breve, $cherche_mot, $flag_editable);
  echo formulaire_mots('breve', $id_breve, $cherche_mot, $select_groupe, $flag_editable);
}


@@ -243,7 +243,7 @@ function exec_breves_voir_dist()
{
global $id_breve, $id_parent, $texte, $titre, $statut,
  $annee, $mois, $jour, $lien_titre, $lien_url,$champs_extra,
  $new, $modifier_breve, $changer_lang, $cherche_mot, 
  $new, $modifier_breve, $changer_lang, $cherche_mot,  $select_groupe,  
  $connect_statut;

$id_breve = intval($id_breve);
@@ -300,7 +300,6 @@ if (($id_breve == 0) AND ($new == "oui")) {
			}
		}
	}
	
}

if ($jour AND $connect_statut == '0minirezo') {
@@ -315,6 +314,6 @@ if ($jour AND $connect_statut == '0minirezo') {
	if ($new == 'oui')
		redirige_par_entete(
			generer_url_ecrire('breves_voir', 'id_breve='.$id_breve, '&'));
 afficher_breves_voir($id_breve, $changer_lang, $cherche_mot);
	afficher_breves_voir($id_breve, $changer_lang, $cherche_mot, $select_groupe);
}
?>
+2 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -24,7 +24,7 @@ charger_generer_url();
// http://doc.spip.org/@exec_naviguer_dist
function exec_naviguer_dist()
{
	global $new, $id_parent, $id_rubrique, $spip_display,  $connect_statut, $champs_extra, $cherche_mot, $descriptif, $texte, $titre;
	global $new, $id_parent, $id_rubrique, $spip_display,  $connect_statut, $champs_extra, $cherche_mot,  $select_groupe, $descriptif, $texte, $titre;


	$flag_editable = ($connect_statut == '0minirezo' AND (acces_rubrique($id_parent) OR acces_rubrique($id_rubrique))); // id_parent necessaire en cas de creation de sous-rubrique
@@ -132,7 +132,7 @@ function exec_naviguer_dist()
/// Mots-cles
	    if ($GLOBALS['meta']["articles_mots"] != 'non' AND $id_rubrique > 0) {
	      echo "\n<p>",
		formulaire_mots('rubriques', $id_rubrique,  $cherche_mot, $flag_editable);
		formulaire_mots('rubrique', $id_rubrique,  $cherche_mot,  $select_groupe, $flag_editable);
	    }


+2 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -30,6 +30,7 @@ function exec_sites_dist()
  $annee,
  $champs_extra,
  $cherche_mot,
  $select_groupe, 
  $descriptif,
  $id_parent,
  $id_syndic,
@@ -330,7 +331,7 @@ if ($flag_editable AND ($options == 'avancees' OR $statut == 'publie')) {
 echo "\n";

if ($flag_editable AND $options == 'avancees') {
  echo formulaire_mots('syndic', $id_syndic,  $cherche_mot, $flag_editable);
  echo formulaire_mots('syndic', $id_syndic,  $cherche_mot,  $select_groupe, $flag_editable);
}
echo pipeline('affiche_milieu',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>''));

+21 −16
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -105,15 +105,15 @@ function redirige_action_auteur($action, $arg, $ret, $gra='', $mode=false, $atts
		$atts);
}


// Retourne un formulaire d'execution de $action sur $id,
// revenant a l'envoyeur $script d'arguments $args.
// Utilise Ajax si dispo, en ecrivant le resultat dans le innerHTML du noeud
// d'attribut  id = $action-$id (cf. AjaxSqueeze dans layer.js)

// http://doc.spip.org/@ajax_action_auteur
function ajax_action_auteur($action, $id, $corps, $script, $args_ajax, $args)
function ajax_action_auteur($action, $id, $script, $args, $corps=false, $args_ajax='')
{
	$ancre = "$action-" . intval($id);

	// Methode traditionnelle
	if ($_COOKIE['spip_accepte_ajax'] != 1) {
@@ -121,40 +121,45 @@ function ajax_action_auteur($action, $id, $corps, $script, $args_ajax, $args)
			return redirige_action_auteur($action,
				$id,
				$script,
				$args,
				"$args#$ancre",
				$corps,
				"\nmethod='post'");
		} else {
			list($clic, $class) = $corps;
			$href = redirige_action_auteur($action,
			list($clic, $att) = $corps;

			$clic = "<a href='"
			.  redirige_action_auteur($action,
						  $id,
						  $script,
				$args,
				null,
				"\nmethod='post'");
			return "<div class='$class'><a href='$href'>$clic</a></div>";
						  "$args#$ancre",
						  false)
			. "'>$clic</a>";

			return (!$att)
			? $clic
			: "<div$att'>$clic</div>";
		}
	}

	//
	// Ajax
	//
	$pere = '"' . "$action-" . intval($id) . '"';

	$ancre = '"' . $ancre . '"';
	if ($args AND !$args_ajax) $args_ajax = "&$args";
	if (is_string($corps)) {
		return redirige_action_auteur($action,
				$id,
				$action,
				"var_ajax=1&script=$script$args_ajax",
				$corps,
				"\nmethod='post' onsubmit='return AjaxSqueeze(this, $pere)'");
				"\nmethod='post' onsubmit='return AjaxSqueeze(this, $ancre)'");
	} else {
		list($clic, $class) = $corps;
		list($clic, $att) = $corps;
		$href = redirige_action_auteur($action,
				$id,
				$action,
				"var_ajax=1&script=$script$args_ajax");
		return "<div class='$class' onclick='AjaxSqueeze(\"$href\",$pere)'>$clic</div>";
		return "<div$att><a onclick='AjaxSqueeze(\"$href\",$ancre)'>$clic</a></div>";
	}
}

+5 −5
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -480,11 +480,11 @@ function bouton_tourner_document($id, $id_document, $script, $rot, $type, $img,
{
  return ajax_action_auteur("tourner",
			    "$id_document-$rot",
			    array(http_img_pack($img, $title, ''),
				  'bouton_rotation'),
			    $script,
"&id_document=$id_document&id=$id&type=$type",
"&show_docs=$id_document&id_$type=$id#tourner-$id_document");
			    "show_docs=$id_document&id_$type=$id#tourner-$id_document",
			    array(http_img_pack($img, $title, ''),
				  " class='bouton_rotation'"),
			    "&id_document=$id_document&id=$id&type=$type");
}

//
@@ -926,7 +926,7 @@ function formulaire_documenter($id_document, $document, $script, $type, $id, $an
	  "' type='submit' />" .
	  "</div>\n";

	$corps = ajax_action_auteur("documenter", $id_document, $corps, $script, "&id_document=$id_document&id=$id&type=$type&ancre=$ancre","show_docs=$id_document&id_$type=$id#$ancre");
	$corps = ajax_action_auteur("documenter", $id_document, $script, "show_docs=$id_document&id_$type=$id#$ancre", $corps, "&id_document=$id_document&id=$id&type=$type&ancre=$ancre");

	$corps .= 
	  $vignette .
Chargement en cours