Changeset 119878 in spip-zone
- Timestamp:
- Jan 20, 2020, 5:23:17 PM (13 months ago)
- Location:
- _plugins_/trad-lang/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/trad-lang/trunk
- Property subgit:lock:26a33f2add5fc05908a05949439ecb9c0a513f64 deleted
-
Property
subgit:lock:164d85a2725b6b397325c9b6b6327f9a3d091887
set to
2020-01-20T18:23:25.020
-
_plugins_/trad-lang/trunk/salvatore/lecteur.php
r119869 r119878 401 401 402 402 /** 403 * Vérifier si une autre chaîne de langue était identique (str == str) 403 * Rechercher si on serait pas en train de copier une chaine existante 404 * (C'est un renommage) 404 405 * 405 406 * Si oui, on sélectionne toutes les occurences existantes dans les autres langues et on les duplique 406 407 */ 408 409 // si on a un contenu identique a une autre chaine du meme module 410 // (renommage de l'id dans un meme fichier de langue) 407 411 $where_identique = [ 408 412 'id_tradlang_module=' . intval($id_tradlang_module), … … 411 415 'str=' . sql_quote($chaines[$id]), 412 416 ]; 413 $identique_meme_module = sql_getfetsel('id', 'spip_tradlangs', $where_identique); 414 if ($identique_meme_module){ 415 salvatore_log("La nouvelle chaine $id est une chaine dupliquée de " . $identique_meme_module); 417 $identique = sql_fetsel('id_tradlang_module, module, id', 'spip_tradlangs', $where_identique); 418 419 // si on est sur la langue master on cherche si ce n'est pas un renommage/decoupe de module : 420 // chercher une chaine avec meme id et meme contenu dans un autre module 421 if (!$identique and $is_master) { 422 $where_identique = [ 423 'id_tradlang_module!=' . intval($id_tradlang_module), 424 'lang=' . sql_quote($lang), 425 'id=' . sql_quote($id), 426 'str=' . sql_quote($chaines[$id]), 427 ]; 428 $identique = sql_fetsel('id_tradlang_module, module, id', 'spip_tradlangs', $where_identique); 429 } 430 431 432 if ($identique){ 433 salvatore_log("La nouvelle chaine $id est une chaine dupliquée de " . $identique['module'].':'.$identique['id']); 416 434 417 435 $deja_lang = sql_allfetsel('lang', 'spip_tradlangs', 'id=' . sql_quote($id) . ' AND id_tradlang_module=' . intval($id_tradlang_module)); 418 436 $deja_lang = array_column($deja_lang, 'lang'); 419 $chaines_a_dupliquer = sql_allfetsel('*', 'spip_tradlangs', 'id=' . sql_quote($identique _meme_module) . ' AND id_tradlang_module=' . intval($id_tradlang_module) . ' AND ' . sql_in('lang', $deja_lang, 'NOT'));437 $chaines_a_dupliquer = sql_allfetsel('*', 'spip_tradlangs', 'id=' . sql_quote($identique['id']) . ' AND id_tradlang_module=' . intval($identique['id_tradlang_module']) . ' AND ' . sql_in('lang', $deja_lang, 'NOT')); 420 438 foreach ($chaines_a_dupliquer as $chaine){ 421 439 unset($chaine['id_tradlang']); 422 440 unset($chaine['maj']); 423 441 $chaine['id'] = $id; 442 $chaine['id_tradlang_module'] = $id_tradlang_module; 443 $chaine['module'] = $source['module']; 424 444 $chaine['titre'] = $id . ' : ' . $source['module'] . ' - ' . $chaine['lang']; 425 445 $chaine['md5'] = md5($chaine['str']);
Note: See TracChangeset
for help on using the changeset viewer.