Changeset 60731 in spip-zone


Ignore:
Timestamp:
Apr 28, 2012, 9:36:59 AM (8 years ago)
Author:
cedric@…
Message:

ne pas generer d'erreur sql quand on rencontre un [{}->truc12] et que truc n'existe pas en base

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/textwheel/inc/lien.php

    r60522 r60731  
    3434        AND $match = typer_raccourci($lien)) {
    3535                @list($type,,$id,,$args,,$ancre) = $match;
    36                 $table_objet_sql = table_objet_sql($type);
    37                 $id_table_objet = id_table_objet($type);
    38                 if ($row=sql_fetsel('*', $table_objet_sql, "$id_table_objet=".intval($id))
    39                         AND isset($row['id_trad'])
    40                         AND isset($row['lang'])
    41                         AND $id_dest = sql_getfetsel($id_table_objet, $table_objet_sql,"id_trad=".intval($row['id_trad'])." AND lang=" . sql_quote($hlang))
    42                         AND objet_test_si_publie($type,$id_dest)
    43                 )
    44                         $lien = "$type$id_dest";
     36                $trouver_table = charger_fonction('trouver_table', 'base');
     37                $desc = $trouver_table(table_objet($type, $connect),$connect);
     38                if ($desc
     39                        AND $id_table_objet = $desc['key']['PRIMARY KEY']) {
     40                        $table_objet_sql = $desc['table'];
     41                        if ($row=sql_fetsel('*', $table_objet_sql, "$id_table_objet=".intval($id))
     42                                AND isset($row['id_trad'])
     43                                AND isset($row['lang'])
     44                                AND $id_dest = sql_getfetsel($id_table_objet, $table_objet_sql,"id_trad=".intval($row['id_trad'])." AND lang=" . sql_quote($hlang))
     45                                AND objet_test_si_publie($type,$id_dest)
     46                        )
     47                                $lien = "$type$id_dest";
     48                        else
     49                                $hlang = '';
     50                }
    4551                else
    4652                        $hlang = '';
Note: See TracChangeset for help on using the changeset viewer.