Changeset 118068 in spip-zone


Ignore:
Timestamp:
Oct 8, 2019, 5:26:53 PM (9 months ago)
Author:
gildas.cotomale@…
Message:

correction du bug trouve en permettant la modification des categories : le formulaire d ajout ne detecte pas qu un objet est en favori quand il est categorise

Location:
_plugins_/mesfavoris/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/mesfavoris/trunk/formulaires/editer_favori_categorie.html

    r118048 r118068  
    1 <div class="formulaire_spip formulaire_editer formulaire_editer_favori_catogorie ajax">
    2 <BOUCLE_autorise(CONDITION){si #ENV{editable}|oui}>
     1<div class="formulaire_spip formulaire_editer formulaire_#FORM ajax">
     2[(#ENV{editable}|oui)
    33        <form action="#ENV{action}" method="post">
    44                #ACTION_FORMULAIRE{#ENV{action}}
     
    66                [<p class="formulaire_erreur">(#ENV{message_erreur})</p>]
    77                <div>
    8                         <B_categories>
    9                         [(#REM) Ouch... Marche pas comme il faudrait :
    10                                 Malgre le critere doublons, le datalist est helas
    11                                 duplique dans chaque div ! En soit ce n'est point
    12                                 genant (car identiques) mais ca ne fait pas propre
    13                                 et ca rend la page nom valide du fait de la non
    14                                 unicite du parametre id dans la page ]
    15                         <datalist id="mesfavoris_categories_#ENV{id_auteur}">
    16                         <BOUCLE_categories(FAVORIS){id_auteur}{doublons
    17                                 categories_#ENV{id_auteur}}{categorie!=''}{fusion
    18                                 categorie}{par categorie}>
    19                                 <option value="[(#CATEGORIE|attribut_html)]">#CATEGORIE</option>
    20                         </BOUCLE_categories>
    21                         </datalist>
    22                         </B_categories>
    23                         <input type="text" size="10" name="categorie"
     8                        <input type="text" size="9" name="categorie"
    249                                value="#ENV{categorie}" class="text editer editer_categorie"
    2510                                list="mesfavoris_categories_#ENV{id_auteur}"
    26                                 autocomplete="on" />
     11                                autocomplete="on" maxlength="25" />
    2712                        <button type='submit' class="submit editer_favori"
    2813                                value="<:mesfavoris:change_to|attribut_html:>"
     
    3621                </div>
    3722        </form>
    38 </BOUCLE_autorise>
     23]
    3924</div>
  • _plugins_/mesfavoris/trunk/formulaires/editer_favori_categorie.php

    r118048 r118068  
    3333        $contexte = array(
    3434                'editable'     => $id_auteur?true:false,
    35                 '_deja_favori' => true,
    3635                '_objet'       => $objet,
    3736                '_id_objet'    => $id_objet,
     
    5049 * Traitement/enregistrement du formulaire
    5150 *
    52  * @param  string $objet     
    53  * @param  int $id_objet 
    54  * @param  string $categorie 
    55  * @return array           
     51 * @param  string $objet
     52 * @param  int $id_objet
     53 * @param  string $categorie
     54 * @return array
    5655 */
    5756function formulaires_editer_favori_categorie_traiter_dist($objet='', $id_objet=0, $categorie='') {
    58         $res = array('message_ok'=> ' Check passed ');
     57        $res = array();
    5958        if ( $id_auteur = intval($GLOBALS['visiteur_session']['id_auteur']) ) {
    6059                include_spip('inc/mesfavoris');
     
    7069                                $res['message_ok'] .= '<script type="text/javascript"> ' ;
    7170                                $res['message_ok'] .= ' ;jQuery(function($){ ' ;
    72                                 $res['message_ok'] .= '   $("#mesfavoris_objets_' .
     71                                $res['message_ok'] .= '   $("#mesfavoris_selection_' .
    7372                                        $id_auteur . '").ajaxReload(); ' ;
    7473                                $res['message_ok'] .= ' }) ' ;
     
    7978                        }
    8079                }
    81 
    8280        }
    83 
    8481        return $res;
    8582}
  • _plugins_/mesfavoris/trunk/formulaires/favori.php

    r97918 r118068  
    3737        else {
    3838                include_spip('inc/mesfavoris');
    39                 $favori = mesfavoris_trouver($id_objet, $objet, $GLOBALS['visiteur_session']['id_auteur'], $categorie);
     39                $favori = mesfavoris_trouver($id_objet, $objet, $GLOBALS['visiteur_session']['id_auteur']);
    4040               
    4141                if ($favori) {
  • _plugins_/mesfavoris/trunk/inc/mesfavoris.php

    r118048 r118068  
    6868                and preg_match(",^\w+$,",$objet)
    6969        ) {
    70                 if (!mesfavoris_trouver($id_objet, $objet, $id_auteur, $categorie)) {
     70                if ( !mesfavoris_trouver($id_objet, $objet, $id_auteur) ) {
    7171                        $id_favori = sql_insertq(
    7272                                'spip_favoris',
     
    106106                                'id_objet = ' . $id_objet,
    107107                                'objet = ' . sql_quote($objet),
    108                                 'categorie = ' . sql_quote($categorie),
     108                                //'categorie = ' . sql_quote($categorie), // ne pas inclure la categorie, sinon le bouton d'ajout ne voit pas que ca existe...
    109109                        )
    110110                );
     
    134134                and preg_match(",^\w+$,", $objet)
    135135        ) {
    136                 $row = sql_fetsel(
    137                         'id_favori',
    138                         'spip_favoris',
    139                         "id_auteur=$id_auteur AND id_objet=$id_objet AND objet=". sql_quote($objet)
    140                 );
     136                $row = mesfavoris_trouver($id_objet, $objet, $id_auteur) ;
    141137                $id_favori = intval($row['id_favori']);
    142 #               return "$id_favori = $categorie";
    143138                if ( sql_updateq(
    144139                        'spip_favoris',
     
    147142                        ),
    148143                        "id_favori=$id_favori"
    149 #                       "id_auteur=$id_auteur AND id_objet=$id_objet AND objet=". sql_quote($objet)
    150144                ) ) {
    151145                        include_spip('inc/invalideur');
Note: See TracChangeset for help on using the changeset viewer.