Changeset 8225 in spip-zone


Ignore:
Timestamp:
Dec 22, 2006, 2:59:10 PM (12 years ago)
Author:
cedric@…
Message:

un gros coup d'ajax sur le formulaire article
c'est presque propre, plus qu'a refaire marcher les calendriers qui sont tous cassés evidement

Location:
_plugins_/_stable_/agenda/1_9_2
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/agenda/1_9_2/action/editer_evenement.php

    r8224 r8225  
    109109
    110110
    111 function Agenda_action_formulaire_article($id_article){
     111function Agenda_action_formulaire_article($id_article,$id_evenement){
    112112        include_spip('base/abstract_sql');
    113113        // s'assurer que les tables sont crees
    114114        Agenda_install();
    115115        // gestion des requetes de mises à jour dans la base
    116         $id_evenement = intval(_request('id_evenement'));
    117116        $insert = _request('evenement_insert');
    118117        $modif = _request('evenement_modif');
    119         $supp_evenement = intval(_request('supp_evenement'));
    120 
    121         if (($insert || $modif)&&(!$supp_evenement)){
     118        if (($insert || $modif)){
    122119       
    123120                if ( ($insert) && (!$id_evenement) ){
     
    127124                        if ($id_evenement==0){
    128125                                spip_log("agenda action formulaire article : impossible d'ajouter un evenement");
    129                                 return;
     126                                return 0;
    130127                        }
    131128                }
     
    215212                Agenda_action_update_repetitions($id_evenement, $repetitions, $liste_mots);
    216213        }
    217         else if ($supp_evenement){
    218                 $id_article = intval(_request('id_article'));
    219 
    220                 if (!$id_article)
    221                         $id_article = intval(_request('ajouter_id_article'));
    222                 $res = spip_query("SELECT * FROM spip_evenements WHERE id_article="._q($id_article)." AND id_evenement="._q($supp_evenement));
    223                 if ($row = spip_fetch_array($res)){
    224                         spip_query("DELETE FROM spip_mots_evenements WHERE id_evenement="._q($supp_evenement));
    225                         spip_query("DELETE FROM spip_evenements WHERE id_evenement="._q($supp_evenement));
    226                 }
    227                 Agenda_action_supprime_repetitions($supp_evenement);
    228         }
    229         return ;
     214        return $id_evenement;
     215}
     216
     217function Agenda_action_supprime_evenement($id_article,$supp_evenement){
     218        $res = spip_query("SELECT * FROM spip_evenements WHERE id_article="._q($id_article)." AND id_evenement="._q($supp_evenement));
     219        if ($row = spip_fetch_array($res)){
     220                spip_query("DELETE FROM spip_mots_evenements WHERE id_evenement="._q($supp_evenement));
     221                spip_query("DELETE FROM spip_evenements WHERE id_evenement="._q($supp_evenement));
     222        }
     223        Agenda_action_supprime_repetitions($supp_evenement);
     224        $id_evenement = 0;
     225        return $id_evenement;
    230226}
    231227
     
    234230        $securiser_action = charger_fonction('securiser_action', 'inc');
    235231        $securiser_action();
    236 
    237         $id_article = intval(_request('arg'));
    238         //if (autoriser())
    239         Agenda_action_formulaire_article($id_article);
    240 
    241         if ($redirect = urldecode(_request('redirect')))
    242                 redirige_par_entete(str_replace("&","&",urldecode($redirect)));
     232       
     233        $arg = explode('-',_request('arg'));
     234        $id_article = $arg[0];
     235        $action = $arg[1];
     236        $id_evenement = $arg[2];
     237        if ($action=='modifier')
     238                //if (autoriser())
     239                $id_evenement = Agenda_action_formulaire_article($id_article,$id_evenement);
     240        elseif ($action=='supprimer')
     241                //if (autoriser())
     242                $id_evenement = Agenda_action_supprime_evenement($id_article,$id_evenement);
     243
     244        if ($redirect = urldecode(_request('redirect'))){
     245                if ($id_evenement)
     246                        $redirect = parametre_url($redirect,'id_evenement',$id_evenement,'&');
     247                //var_dump($redirect);die();
     248                redirige_par_entete($redirect);
     249        }
    243250}
    244251
  • _plugins_/_stable_/agenda/1_9_2/agenda.php

    r7975 r8225  
    4646                include_spip('inc/agenda_gestion');
    4747                $id_article = $flux['args']['id_article'];
    48                 $flux['data'] .= Agenda_formulaire_article($id_article, article_editable($id_article));
     48                $flux['data'] .= Agenda_formulaire_article($id_article, article_editable($id_article),'articles');
    4949        }
    5050        return $flux;
  • _plugins_/_stable_/agenda/1_9_2/exec/editer_evenement.php

    r8224 r8225  
    1010        $id_article = intval(_request('id_article'));
    1111        //if (autoriser())
    12         $res = Agenda_formulaire_article($id_article, autoriser('modifier','article',$id_article));
     12        $res = Agenda_formulaire_article($id_article, autoriser('modifier','article',$id_article),'articles');
    1313
    1414        ajax_retour($res);
  • _plugins_/_stable_/agenda/1_9_2/inc/agenda_gestion.php

    r8224 r8225  
    162162}
    163163
    164 function Agenda_formulaire_article_afficher_evenements($id_article, $flag_editable)
     164function Agenda_formulaire_article_afficher_evenements($id_article, $flag_editable, $script)
    165165{
    166166        global $connect_statut, $options,$connect_id_auteur;
     
    216216                       
    217217                        if ($flag_editable) {
    218                                 $url = self();
     218                                /*$url = generer_url_ecrire($script);
    219219                                $url = parametre_url($url,'id_article',$id_article);
    220220                                $url = parametre_url($url,'id_evenement',$id_evenement);
    221221                                $url = parametre_url($url,'edit',1);
    222                                 $s = "<a href='$url'>".($titre ? $titre : '<em>('._T('info_sans_titre').')</em>')."</a>";
     222                                $s = "<a href='$url'>".($titre ? $titre : '<em>('._T('info_sans_titre').')</em>')."</a>";*/
     223                                $s = ajax_action_auteur('editer_evenement', "$id_article-editer-$id_evenement", $script, "id_article=$id_article&id_evenement=$id_evenement&edit=oui", array($titre ? $titre : '<em>('._T('info_sans_titre').')</em>',''));
    223224                                $vals[] = $s;
    224225                        }
     
    229230               
    230231                        if ($flag_editable) {
    231                                 $vals[] =  "<a href='" . generer_url_ecrire("articles","id_article=$id_article&supp_evenement=$id_evenement#agenda") . "'>"._T('agenda:lien_retirer_evenement')."&nbsp;". http_img_pack('croix-rouge.gif', "X", "width='7' height='7' border='0' align='middle'") . "</a>";
     232                                //$vals[] =  "<a href='" . generer_url_ecrire("articles","id_article=$id_article&supp_evenement=$id_evenement#agenda") . "'>"._T('agenda:lien_retirer_evenement')."&nbsp;". http_img_pack('croix-rouge.gif', "X", "width='7' height='7' border='0' align='middle'") . "</a>";
     233                                $vals[] = ajax_action_auteur('editer_evenement', "$id_article-supprimer-$id_evenement", $script, "id_article=$id_article", array(_T('agenda:lien_retirer_evenement')."&nbsp;". http_img_pack('croix-rouge.gif', "X", "width='7' height='7' border='0' align='middle'"),''),"&id_article=$id_article&supp_evenement=$id_evenement");
    232234                        } else {
    233235                                $vals[] = "";
     
    253255//
    254256
    255 function Agenda_formulaire_article_ajouter_evenement($id_article, $les_evenements, $flag_editable){
     257function Agenda_formulaire_article_ajouter_evenement($id_article, $les_evenements, $flag_editable, $script){
    256258  global $spip_lang_left, $spip_lang_right, $options;
    257259        global $connect_statut, $options,$connect_id_auteur, $couleur_claire ;
     
    262264        $out .= "<div style='clear: both;'></div>";
    263265        if ($flag_editable){
    264                 if ((in_array($id_evenement,explode(",",$les_evenements)) && $edit==1)||_request('neweven'))
     266                if ((in_array($id_evenement,explode(",",$les_evenements)) && $edit)||_request('neweven'))
    265267                        $out .=  debut_block_visible("evenementsarticle");
    266268                else
     
    272274                $out .=  "<td>";
    273275       
    274                 if (in_array($id_evenement,explode(",",$les_evenements)) && $edit==1){
     276                if (in_array($id_evenement,explode(",",$les_evenements)) && $edit){
    275277                        $out .=  "<span class='verdana1'><strong>"._T('agenda:titre_cadre_modifier_evenement')."&nbsp; </strong></span>\n";
    276278                } else {
     
    280282
    281283                $bouton_ajout = false;
    282                 if (in_array($id_evenement,explode(",",$les_evenements)) && $edit==1){
     284                if (in_array($id_evenement,explode(",",$les_evenements)) && $edit){
    283285                        $form .= Agenda_formulaire_edition_evenement($id_evenement, false);
    284286                        $bouton_ajout = true;
     
    294296                        $id_evenement = 0;
    295297                }
    296                 $out .= ajax_action_auteur('editer_evenement',"$id_article-$id_evenement",'articles', "id_article=$id_article", $form);
     298                $out .= ajax_action_auteur('editer_evenement',"$id_article-modifier-$id_evenement", $script, "id_article=$id_article&edit=1", $form);
    297299                       
    298300                $out .= "</div>";
     
    304306                        $url = parametre_url($url,'neweven','1');
    305307                        $url = parametre_url($url,'id_evenement','');
    306                         $out .= icone_horizontale(_T("agenda:icone_creer_evenement"),$url , "../"._DIR_PLUGIN_AGENDA."/img_pack/agenda-24.png", "creer.gif",false);
     308                        //$out .= icone_horizontale(_T("agenda:icone_creer_evenement"),$url , "../"._DIR_PLUGIN_AGENDA."/img_pack/agenda-24.png", "creer.gif",false);
     309                        $out .= ajax_action_auteur('editer_evenement',"$id_article-creer-0", $script, "id_article=$id_article&neweven=1", array(http_img_pack(_DIR_PLUGIN_AGENDA."/img_pack/agenda-24.png", _T("agenda:icone_creer_evenement"), "width='24' height='24' border='0' align='middle'")."&nbsp;"._T("agenda:icone_creer_evenement"),''));
    307310                }
    308311
     
    313316}
    314317
    315 function Agenda_formulaire_article($id_article, $flag_editable){
     318function Agenda_formulaire_article($id_article, $flag_editable, $script){
    316319
    317320  global $spip_lang_left, $spip_lang_right, $options;
     
    335338        //
    336339
    337         list($s,$les_evenements) = Agenda_formulaire_article_afficher_evenements($id_article, $flag_editable);
     340        list($s,$les_evenements) = Agenda_formulaire_article_afficher_evenements($id_article, $flag_editable, $script);
    338341        $out .= $s;
    339342        //
     
    342345
    343346        if ($flag_editable)
    344                 $out .= Agenda_formulaire_article_ajouter_evenement($id_article, $les_evenements, $flag_editable);
     347                $out .= Agenda_formulaire_article_ajouter_evenement($id_article, $les_evenements, $flag_editable, $script);
    345348
    346349
Note: See TracChangeset for help on using the changeset viewer.