X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fplugins%2Fauto%2Fcouteau_suisse%2Fcouteau_suisse%2Foutils%2Fboites_privees_action_rapide.php;fp=www%2Fplugins%2Fauto%2Fcouteau_suisse%2Fcouteau_suisse%2Foutils%2Fboites_privees_action_rapide.php;h=5a2a613165faeba075f26d19c0877833244bbff8;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c diff --git a/www/plugins/auto/couteau_suisse/couteau_suisse/outils/boites_privees_action_rapide.php b/www/plugins/auto/couteau_suisse/couteau_suisse/outils/boites_privees_action_rapide.php new file mode 100644 index 0000000..5a2a613 --- /dev/null +++ b/www/plugins/auto/couteau_suisse/couteau_suisse/outils/boites_privees_action_rapide.php @@ -0,0 +1,86 @@ +$id))); + // syntaxe : ajax_action_auteur($action, $id, $script, $args='', $corps=false, $args_ajax='', $fct_ajax='') + if(strlen($texte)) + // un clic sur 'monter' ou 'descendre' va permettre une redirection vers + // les fonctions : boites_privees_URL_objet_exec(), puis action_rapide_tri_auteurs() + $texte = ajax_action_auteur('action_rapide', 'tri_auteurs', 'articles', "arg=boites_privees|URL_objet&fct=tri_auteurs&id_article=$id#bp_tri_auteurs_corps", $texte); + // si appel exec, l'id article est nul... + if(!$id_article) return $texte; + // ici, 1er affichage ! + if(!strlen($texte)) return ''; + // SPIP 1.92 + if(!defined('_SPIP19300')) return debut_cadre_relief(find_in_path('img/couteau-24.gif'), true) + . cs_div_configuration() + . "
" + . block_parfois_visible('bp_ta', ''._T('couteau:tri_auteurs').'', "
$texte
", 'text-align: center;') + . "
" + . fin_cadre_relief(true); + // SPIP >= 2.0 + return cadre_depliable(find_in_path('img/couteau-24.gif'), + cs_div_configuration().''._T('couteau:tri_auteurs').'', + false, // true = deplie + "
$texte
", + 'bp_tri_auteurs'); +} + +// fonction {$outil}_{$arg}_action() appelee par action/action_rapide.php +function boites_privees_tri_auteurs_action() { + // boite privee : tri les auteurs d'un article + $id_article = _request('bp_article'); + $id_auteur = abs(_request('bp_auteur')); + $monter = _request('bp_auteur')>0; + + if(!defined('_SPIP19300')) include_spip('outils/boites_privees'); // pour les fonctions SQL + $s = defined('_SPIP30000') + ?sql_select('id_auteur', 'spip_auteurs_liens', "objet='article' AND id_objet=$id_article") + :sql_select('id_auteur', 'spip_auteurs_articles', "id_article=$id_article"); + $i=0; $j=0; + while ($a = sql_fetch($s)) { + if($a['id_auteur']==$id_auteur) { $i = $a['id_auteur']; break; } + $j = $a['id_auteur']; + } + if(!$monter && $i && ($a = sql_fetch($s))) $j = $a['id_auteur']; + spip_log("action_rapide_tri_auteurs, article $id_article : echange entre l'auteur $i et l'auteur $j"); + if($i && $j) { + if(defined('_SPIP30000')) { + // SPIP >= 3.0 + sql_update('spip_auteurs_liens', array('id_auteur'=>-99), "objet='article' AND id_objet=$id_article AND id_auteur=$i"); + sql_update('spip_auteurs_liens', array('id_auteur'=>$i), "objet='article' AND id_objet=$id_article AND id_auteur=$j"); + sql_update('spip_auteurs_liens', array('id_auteur'=>$j), "objet='article' AND id_objet=$id_article AND id_auteur=-99"); + } else { + sql_update('spip_auteurs_articles', array('id_auteur'=>-99), "id_article=$id_article AND id_auteur=$i"); + sql_update('spip_auteurs_articles', array('id_auteur'=>$i), "id_article=$id_article AND id_auteur=$j"); + sql_update('spip_auteurs_articles', array('id_auteur'=>$j), "id_article=$id_article AND id_auteur=-99"); + } + } + // action terminee, pret pour la redirection exec ! + return; +} +?> \ No newline at end of file