diff --git a/ecrire/action/changer_mode_document.php b/ecrire/action/changer_mode_document.php index 459b5dce3aa9e86cc8164955e4c8c003a9f0e18d..d5a7ffd4eac029411cde986addccb748d4a4c94f 100644 --- a/ecrire/action/changer_mode_document.php +++ b/ecrire/action/changer_mode_document.php @@ -36,5 +36,17 @@ function action_changer_mode_document_post($r) AND in_array($mode, array('vignette', 'image', 'document'))) { sql_updateq('spip_documents', array('mode'=>$mode), 'id_document='.$id_document); } + if ($case = _request('afficher_case')){ + $case = explode('-',$case); + list($id,$type,$script) = $case; + include_spip('inc/presentation'); + include_spip('inc/documents'); + include_spip('inc/actions'); + // vilain hack pour ne pas recharger un script js + affiche_raccourci_doc('doc', $id_document, 'left'); + // voila + ajax_retour(afficher_case_document($id_document, $id, $script, $type, true)); + exit(); + } } ?> diff --git a/ecrire/inc/documents.php b/ecrire/inc/documents.php index a76ef40d171611cb0f271167ef1bdb3a5a010f4b..834e0d333f676a5c05e21495337f215b6fa5d3ec 100644 --- a/ecrire/inc/documents.php +++ b/ecrire/inc/documents.php @@ -493,7 +493,7 @@ function afficher_case_document($id_document, $id, $script, $type, $deplier=fals $ret .= fin_cadre_relief(true); } - return $ret; + return "<div>$ret</div>"; // on encapsule chaque document dans un container pour permettre son remplacement en ajax } // Etablit la liste des documents orphelins, c'est-a-dire qui ne sont lies diff --git a/ecrire/inc/legender.php b/ecrire/inc/legender.php index a93e16ce5cfba221b19634cd840d0a6ad7850b2f..f4703854ee876c106c5edbb8fbf5dc466f4b56d1 100644 --- a/ecrire/inc/legender.php +++ b/ecrire/inc/legender.php @@ -201,7 +201,7 @@ function legender_image_doc($document, $id_document, $id, $type, $s, $script, $a : "new=oui" ) . "&type=$type&s=$s#$ancre"); - return icone_horizontale($texte, $action, $logo, '', false); + return icone_horizontale($texte, $action, $logo, '', false," onclick=\"jQuery('#document$id_document').parent().animeajax().load(this.href+'&afficher_case=$id-$type-$script&var_noajax=1');return false;\""); } diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 3d0378b3df2a8c3a3414a4d7102b6c511b1a7f22..c8627f1588667d47bdd2222de69eaceb87474069 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -1264,9 +1264,11 @@ function spip_initialisation_suite() { // La requete est-elle en ajax ? define('_AJAX', - isset($_SERVER['HTTP_X_REQUESTED_WITH']) # ajax jQuery + (isset($_SERVER['HTTP_X_REQUESTED_WITH']) # ajax jQuery OR @$_REQUEST['var_ajax_redir'] # redirection 302 apres ajax jQuery OR @$_REQUEST['var_ajaxcharset'] # compat ascendante pour plugins + ) + AND !@$_REQUEST['var_noajax'] # horrible exception, car c'est pas parce que la requete est ajax jquery qu'il faut tuer tous les formulaires ajax qu'elle contient ); # nombre de pixels maxi pour calcul de la vignette avec gd