Changeset 79039 in spip-zone


Ignore:
Timestamp:
Dec 1, 2013, 10:22:59 PM (6 years ago)
Author:
nicolas.dorigny@…
Message:

bug pas bien anticipé sur le faible typage, ajout d'un intval quand on teste un id : string("0") n'est pas nul

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/fusion_spip/trunk/inc/fusion_spip.php

    r79038 r79039  
    218218                foreach ($shema['field'] as $nom_champ => $valeur_champ) {
    219219                        if (in_array($nom_champ, $cles_primaires)) {
    220                                 $nouveau_id = sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($obj_import[$nom_champ]).' and objet='._q(objet_type($nom_champ)));
     220                                $nouveau_id = intval(sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($obj_import[$nom_champ]).' and objet='._q(objet_type($nom_champ))));
    221221                                // mettre à jour l'id de l'objet lié
    222222                                if ($nouveau_id) {
     
    232232                // retrouver l'id_final de l'objet lié
    233233                if ($shema['field']['id_objet'] && $shema['field']['objet']) {
    234                         $nouveau_id = sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($obj_import['id_objet']).' and objet='._q($obj_import['objet']));
     234                        $nouveau_id = intval(sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($obj_import['id_objet']).' and objet='._q($obj_import['objet'])));
    235235                        // mettre à jour l'id de l'objet lié
    236236                        if ($nouveau_id) {
     
    244244                // cas particulier pour spip_urls (id_objet / type au lieu de id_objet / objet)
    245245                if ($nom_table == 'spip_urls' && $shema['field']['id_objet'] && $shema['field']['type']) {
    246                         $nouveau_id = sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($obj_import['id_objet']).' and objet='._q($obj_import['type']));
     246                        $nouveau_id = intval(sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($obj_import['id_objet']).' and objet='._q($obj_import['type'])));
    247247                        // mettre à jour l'id de l'objet lié
    248248                        if ($nouveau_id) {
     
    349349        while ($obj_import = sql_fetch($res)) {
    350350                // retrouver l'id_liaison original
    351                 $ancien_id = sql_getfetsel($cle_liaison, $table, $cle_primaire.' = '._q($obj_import['id_origine']), '', '', '', '', $connect);
     351                $ancien_id = intval(sql_getfetsel($cle_liaison, $table, $cle_primaire.' = '._q($obj_import['id_origine']), '', '', '', '', $connect));
    352352                if ($ancien_id) {
    353353                        // déterminer le nouveau lien
    354                         $nouveau_id = sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($ancien_id).' and objet='._q($objet_liaison));
     354                        $nouveau_id = intval(sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($ancien_id).' and objet='._q($objet_liaison)));
    355355                        // mettre à jour l'objet importé
    356356                        if ($nouveau_id) {
     
    384384                if ($ancien_objet['id_objet']) {
    385385                        // déterminer le nouveau lien
    386                         $nouveau_id = sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($ancien_objet['id_objet']).' and objet='._q($ancien_objet['objet']));
     386                        $nouveau_id = intval(sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($ancien_objet['id_objet']).' and objet='._q($ancien_objet['objet'])));
    387387                        // mettre à jour l'objet importé
    388388                        if ($nouveau_id) {
     
    433433        );
    434434        while ($obj_import = sql_fetch($res)) {
    435                 $nouveau_id = sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($obj_import['id_vignette']).' and objet="document"');
     435                $nouveau_id = intval(sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($obj_import['id_vignette']).' and objet="document"'));
    436436                if ($nouveau_id) {
    437437                        sql_updateq(
     
    519519                $id_objet = preg_replace('#([^0-9])*#', '', basename($logo));
    520520
    521                 $nouveau_id = sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($id_objet).' and objet='._q($objet_logo));
     521                $nouveau_id = intval(sql_getfetsel('id_final', 'spip_fusion_spip', 'site_origine = '._q($connect).' and id_origine = '._q($id_objet).' and objet='._q($objet_logo)));
    522522                if ($nouveau_id) {
    523523                        $dest_logo = _DIR_IMG.$type_logo.$nouveau_id.'.'.$ext_logo;
     
    607607                                                        $type_lien = preg_replace('#[0-9]*#', '', $lien_trouve[4]);
    608608                                                        $objet_lien = $objets_liens[$type_lien];
    609                                                         $nouveau_id = sql_getfetsel('id_final', 'spip_fusion_spip', 'id_origine='._q($id_origine_lien).' and objet="'.$objet_lien.'" and site_origine="'.$connect.'"');
    610                                                         if ($nouveau_id['id_final']) {
     609                                                        $nouveau_id = intval(sql_getfetsel('id_final', 'spip_fusion_spip', 'id_origine='._q($id_origine_lien).' and objet="'.$objet_lien.'" and site_origine="'.$connect.'"'));
     610                                                        if ($nouveau_id) {
    611611                                                                $pattern_cherche = '#\[([^][]*?([[]\w*[]][^][]*)*)->'.$type_lien.$id_origine_lien.'\]#';
    612612                                                                // ajouter une signature pour éviter les remplacements en cascade
     
    687687                                                        $id_origine_lien = $lien_trouve[2];
    688688                                                        $modele = $lien_trouve[1];
    689                                                         $nouveau_id = sql_fetsel('id_final', 'spip_fusion_spip', 'id_origine='._q($id_origine_lien).' and objet="document" and site_origine="'.$connect.'"');
    690                                                         if ($nouveau_id['id_final']) {
     689                                                        $nouveau_id = intval(sql_getfetsel('id_final', 'spip_fusion_spip', 'id_origine='._q($id_origine_lien).' and objet="document" and site_origine="'.$connect.'"'));
     690                                                        if ($nouveau_id) {
    691691                                                                $pattern_cherche = '#<'.$modele.$id_origine_lien.'#';
    692                                                                 $pattern_remplace = '<'.$modele.$nouveau_id['id_final'];
     692                                                                $pattern_remplace = '<'.$modele.$nouveau_id;
    693693                                                                $obj_import[$champ] = preg_replace($pattern_cherche, $pattern_remplace, $obj_import[$champ]);
    694694                                                        }
Note: See TracChangeset for help on using the changeset viewer.