Changeset 119822 in spip-zone
- Timestamp:
- Jan 17, 2020, 5:42:43 PM (14 months ago)
- Location:
- _plugins_/trad-lang/trunk
- Files:
-
- 1 added
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/trad-lang/trunk
- Property subgit:lock:eac69509a9798e3e195960b113c8cba41125e8b5 deleted
-
Property
subgit:lock:fe9c68409dad135dee1eaf013161d49a777e85b9
set to
2020-01-17T18:47:13.931
-
_plugins_/trad-lang/trunk/inc/salvatore_ecriveur.php
r119821 r119822 18 18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 19 20 Copyright 2003-20 1320 Copyright 2003-2020 21 21 Florent Jugla <florent.jugla@eledo.com>, 22 22 Philippe Riviere <fil@rezo.net>, 23 23 Chryjs <chryjs!@!free!.!fr>, 24 kent1 <kent1@arscenic.info> 24 kent1 <kent1@arscenic.info> 25 Cerdic <cedric@yterium.com> 25 26 */ 26 27 27 require_once(dirname(__FILE__) . '/inc_tradlang.php');28 $tmp = _DIR_SALVATORE_TMP;29 30 salvatore_log("\n=======================================\nECRIVEUR\nExporte les fichiers de traduction dans sa copie locale a partir de la base de donnees\n=======================================\n");31 32 $liste_sources = salvatore_charger_fichier_traductions(); // chargement du fichier traductions.txt33 34 if (!is_dir($tmp)){35 die('Manque le repertoire ' . $tmp);36 }37 38 28 include_spip('base/abstract_sql'); 29 include_spip('inc/charsets'); 30 include_spip('inc/config'); 39 31 include_spip('inc/filtres'); 40 32 include_spip('inc/texte'); 41 include_spip('inc/config');42 33 include_spip('inc/xml'); 34 include_spip('inc/lang_liste'); 35 include_spip('inc/session'); 36 43 37 44 38 /** 45 * On récupère l'URL du site de traduction 46 * Elle servira à : 47 * -* empêcher l'export de fichiers traduits sur une autre plateforme 48 * -* générer l'url de l'interface de traduction d'un module 39 * @param array $liste_sources 40 * @param string $dir_modules 41 * @throws Exception 49 42 */ 50 $url_site = $GLOBALS['meta']['adresse_site']; 51 52 if (isset($argv[1]) and strlen($argv[1])>1){ 53 $message_commit = $argv[1] . "\n\n"; 43 function salvatore_ecriveur($liste_sources, $dir_modules = null, $message_commit=''){ 44 include_spip('inc/salvatore'); 45 salvatore_init(); 46 47 // on va lire dans la base, il faut qu'elle soit a jour 48 salvatore_verifier_base_upgradee(); 49 50 if (is_null($dir_modules)){ 51 $dir_modules = _DIR_SALVATORE_MODULES; 52 } 53 salvatore_check_dir($dir_modules); 54 $gestionnaire_url = $GLOBALS['meta']['adresse_site']; 55 if (defined('_SALVATORE_TEST_URL_GESTIONNAIRE')) { 56 $gestionnaire_url = _SALVATORE_TEST_URL_GESTIONNAIRE; 57 } 58 59 foreach ($liste_sources as $source){ 60 salvatore_log("\n<info>--- Module " . $source['module'] . " | " . $source['dir_module'] . " | " . $source['url'] . "</info>"); 61 62 $module = $source['module']; 63 $dir_module = $dir_modules . $source['dir_module']; 64 65 if ($autre_gestionnaire = salvatore_verifier_gestionnaire_traduction($dir_module, $module)){ 66 salvatore_fail("[Lecteur] Erreur sur $module", "Erreur : import impossible, le fichier est traduit autre part : $autre_gestionnaire\n"); 67 } 68 69 $id_tradlang_module = sql_getfetsel('id_tradlang_module', 'spip_tradlang_modules', 'module = ' . sql_quote($source[1])); 70 71 // url de l'interface de traduction d'un module 72 $url_trad = url_absolue(generer_url_entite($id_tradlang_module, 'tradlang_module'), $gestionnaire_url); 73 export_trad_module($source, $gestionnaire_url, $url_trad, $message_commit); 74 } 54 75 } 55 56 foreach ($liste_sources as $source){57 salvatore_log('==== Module ' . $source[1] . " =======================================\n");58 $export = true;59 /**60 * On test ici si le fichier est géré par un autre salvatore61 * Si oui on empeche son export en le signifiant62 */63 if (file_exists($xml = $tmp . $source[1] . '/' . $source[1] . '.xml')){64 $xml_content = spip_xml_load($xml);65 if (is_array($xml_content)){66 spip_xml_match_nodes('/^traduction/', $xml_content, $matches);67 $test = '<' . key($matches) . '>';68 $url = extraire_attribut($test, 'url');69 if ($url && (str_replace(array('http://', 'https://'), '', $url)!=str_replace(array('http://', 'https://'), '', $url_site))){70 $export = false;71 $sujet = 'Ecriveur : Erreur sur ' . $source[1];72 $corps = "\nErreur : export impossible, le fichier est traduit autre part : $url != $url_site\n\n";73 salvatore_envoyer_mail($sujet, $corps);74 salvatore_log("\nErreur : export impossible, le fichier est traduit autre part : $url != $url_site\n\n");75 }76 }77 }78 /**79 * Si on l'exporte80 */81 if ($export){82 $id_tradlang_module = sql_getfetsel('id_tradlang_module', 'spip_tradlang_modules', 'module = ' . sql_quote($source[1]));83 $url_trad = url_absolue(generer_url_entite($id_tradlang_module, 'tradlang_module'), $url_site);84 export_trad_module($source, $url_site, $url_trad, $message_commit);85 }86 }87 88 return 0;89 76 90 77 // 91 78 // Genere les fichiers de traduction d'un module 79 // TODO 92 80 // 93 81 function export_trad_module($source, $url_site, $url_trad, $message_commit = ''){
Note: See TracChangeset
for help on using the changeset viewer.