@ -5,15 +5,20 @@ if (!defined('_ECRIRE_INC_VERSION')) {
}
function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module, $lang, $lang_orig) {
$valeurs = [];
$erreurs = [];
$file = [];
$contenu_po = null;
$undefined = [];
$valeurs['_etapes'] = 2;
$valeurs['lang_orig'] = $lang_orig;
$valeurs['lang_cible'] = $lang;
if (!$nom_mod = sql_getfetsel('nom_mod', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module))) {
$valeurs['message_erreur'] = _T('tradlang:erreur_import_module_inexistant', array('id'=>$id_tradlang_module));
if (!$nom_mod = sql_getfetsel('nom_mod', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module )) {
$valeurs['message_erreur'] = _T('tradlang:erreur_import_module_inexistant', ['id'=>$id_tradlang_module] );
$valeurs['editable'] = false;
} else {
if (_request('_etape') == '2') {
$module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module) );
$module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module );
$fichier_module = $module.'_'.$lang.'.php';
$fichier_module_po = $module.'_'.$lang.'.po';
$dir_lang = sous_repertoire(_DIR_VAR, 'cache-tradlang');
@ -21,7 +26,7 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module,
$dest_po = $dir_lang.$fichier_module_po;
if (file_exists($dest) || file_exists($dest_po)) {
if (file_exists($dest)) {
$modifs = $undefined = array() ;
$modifs = $undefined = [] ;
$memtrad = $GLOBALS['idx_lang'] = 'i18n_'.crc32($module).'_tmp';
include $dest;
@ -31,18 +36,16 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module,
$contenu=file_get_contents($dest);
$contenu = str_replace("\t", '', $contenu);
$tab=preg_split("/\r\n|\n\r|;\n|\n\/\/|\(\n|\n\);\n|\'\,\n|\n[\s\t]*(\')|\/\/[\s\t][0-9A-Z]\n[\s\t](\')/", $contenu, '-1', PREG_SPLIT_NO_EMPTY);
$liste_trad=array() ;
$liste_trad=[] ;
reset($tab);
while (list(,$ligne) = each($tab) ) {
foreach ($tab as $ligne ) {
$ligne = str_replace("\'", '', $ligne);
if (strlen($ligne) > 0) {
if (preg_match("/\'(.*?)\'[\s\t]*=>[\s\t]*\'(.*?)\'[\s\t]*,{0,1}[\s\t]*(#.*)?/ms", $ligne, $matches)) {
if (isset($matches[1]) and isset($matches[3]) and strlen(trim($matches[3])) > 0) {
list(,$comm) = explode('#', $matches[3]);
if (in_array(trim($comm), array('NEW','MODIF','RELIRE'))) {
$liste_trad[$matches[1]]=trim($comm);
}
if (strlen($ligne) > 0 & & preg_match("/\'(.*?)\'[\s\t]*=>[\s\t]*\'(.*?)\'[\s\t]*,{0,1}[\s\t]*(#.*)?/ms", $ligne, $matches)) {
if (isset($matches[1]) & & isset($matches[3]) & & strlen(trim($matches[3])) > 0) {
[, $comm] = explode('#', $matches[3]);
if (in_array(trim($comm), ['NEW', 'MODIF', 'RELIRE'])) {
$liste_trad[$matches[1]]=trim($comm);
}
}
}
@ -53,19 +56,19 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module,
$str_lang = $GLOBALS[$memtrad]; // on a vu certains fichiers faire des betises et modifier idx_lang
// verifie si c'est un fichier langue
if (!is_array($str_lang)) {
$erreurs['fichier_langue'] = _T('tradlang:erreur_upload_fichier_php_array', array('fichier' => $file['name']) );
$erreurs['fichier_langue'] = _T('tradlang:erreur_upload_fichier_php_array', ['fichier' => $file['name']] );
} else {
$langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'id_tradlang_module='.intval($id_tradlang_module) .' AND lang='.sql_quote($lang));
$langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'id_tradlang_module='.(int) $id_tradlang_module .' AND lang='.sql_quote($lang));
foreach ($langues_base as $strings_id => $strings) {
$str_lang[$strings['id']] = preg_replace(',^(< (MODIF|NEW|RELIRE|PLUS_UTILISE)>)+,US', '', $str_lang[$strings['id']]);
if ((strlen($str_lang[$strings['id']]) > 0) and $strings['str'] != $str_lang[$strings['id']]) {
$modifs[$strings['id']] = array('orig' => $strings['str'], 'new' => $str_lang[$strings['id']],'statut' => (in_array($strings['id'], $keys_liste_trad) ? $liste_trad[$strings['id']] : 'OK')) ;
if (strlen($str_lang[$strings['id']]) > 0 & & $strings['str'] != $str_lang[$strings['id']]) {
$modifs[$strings['id']] = ['orig' => $strings['str'], 'new' => $str_lang[$strings['id']], 'statut' => (in_array($strings['id'], $keys_liste_trad) ? $liste_trad[$strings['id']] : 'OK')] ;
} elseif (strlen($str_lang[$strings['id']]) == 0) {
$undefined[] = $strings['id'];
} elseif (in_array($strings['id'], $keys_liste_trad) and ( $strings['statut'] != $liste_trad[$strings['id']]) ) {
$modifs[$strings['id']] = array('orig'=>$strings['str'],'new'=>$str_lang[$strings['id']],'statut' => $liste_trad[$strings['id']]) ;
} elseif (!in_array($strings['id'], $keys_liste_trad) and $strings['statut'] != 'OK') {
$modifs[$strings['id']] = array('orig'=>$strings['str'],'new'=>$str_lang[$strings['id']],'statut' => 'OK') ;
} elseif (in_array($strings['id'], $keys_liste_trad) & & $strings['statut'] != $liste_trad[$strings['id']]) {
$modifs[$strings['id']] = ['orig'=>$strings['str'], 'new'=>$str_lang[$strings['id']], 'statut' => $liste_trad[$strings['id']]] ;
} elseif (!in_array($strings['id'], $keys_liste_trad) & & $strings['statut'] != 'OK') {
$modifs[$strings['id']] = ['orig'=>$strings['str'], 'new'=>$str_lang[$strings['id']], 'statut' => 'OK'] ;
}
unset($langues_base[$strings_id]);
}
@ -74,7 +77,7 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module,
if (file_exists($dest_po)) {
lire_fichier($dest_po, $contenu_po);
preg_match_all(',(\#\, php-format|\#\, fuzzy\, php-format).*msgstr "(.*)\n(\n|\Z),Uims', $contenu_po, $matches);
$array_po = array() ;
$array_po = [] ;
foreach ($matches[0] as $match) {
$statut = 'OK';
preg_match(',msgstr \"(.*)\n(\n|\Z),Uims', $match, $matches_str);
@ -85,23 +88,21 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module,
preg_match(',\nmsgid \"(.*)\nmsgstr,Uims', $match, $matches_str_orig);
$str_orig = rtrim(trim($matches_str_orig[1]), '"');
$str_orig = trim(str_replace("\"\n\"", '', $str_orig));
$matches[1] = sql_getfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND str = ' . sql_quote($str_orig));
$matches[1] = sql_getfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND str = ' . sql_quote($str_orig));
}
if (preg_match(',\#\, fuzzy\, php-format,', $match, $matches_statut)) {
$statut = 'MODIF';
}
if ($str != '') {
$array_po[$matches[1]] = array('str'=>$str, 'statut'=>$statut) ;
$array_po[$matches[1]] = ['str'=>$str, 'statut'=>$statut] ;
}
}
$modifs = array() ;
$modifs = [] ;
$langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'module = ' . sql_quote($module).' AND lang = ' . sql_quote($lang));
foreach ($langues_base as $strings_id => $strings) {
$str_lang[$strings['id']] = tradlang_utf8(preg_replace(',^(< (MODIF|NEW|PLUS_UTILISE)>)+,US', '', $str_lang[$strings['id']]));
if (isset($array_po[$strings['id']]['str']) and strlen(trim($array_po[$strings['id']]['str'])) > 0) {
if (($strings['str'] != $array_po[$strings['id']]['str']) or ($strings['statut'] != $array_po[$strings['id']]['statut'])) {
$modifs[$strings['id']] = array('orig'=>$strings['str'],'new'=>$array_po[$strings['id']]['str'],'statut'=>$array_po[$strings['id']]['statut']);
}
if (isset($array_po[$strings['id']]['str']) & & strlen(trim($array_po[$strings['id']]['str'])) > 0 & & ($strings['str'] != $array_po[$strings['id']]['str'] || $strings['statut'] != $array_po[$strings['id']]['statut'])) {
$modifs[$strings['id']] = ['orig'=>$strings['str'], 'new'=>$array_po[$strings['id']]['str'], 'statut'=>$array_po[$strings['id']]['statut']];
}
unset($langues_base[$strings_id]);
}
@ -110,7 +111,7 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module,
$valeurs['_modifs'] = $modifs;
}
}
if (count($undefined) > 0 ) {
if ($undefined !== [] ) {
$valeurs['message_erreur'] = singulier_ou_pluriel(count($undefined), 'tradlang:item_non_defini_fichier', 'tradlang:item_non_defini_fichier_nb');
}
@ -119,22 +120,24 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module,
}
function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_module, $lang) {
$erreurs = array();
$fichiers_module = [];
$modifs = [];
$erreurs = [];
if (_request('_etape')==1) {
$module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module));
$module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module );
$fichier_php = $module.'_'.$lang.'.php';
$fichier_po = $module.'_'.$lang.'.po';
$fichiers_module[] = $fichier_php;
$fichiers_module[] = $fichier_po;
$post = isset($_FILES) ? $_FILES : $GLOBALS['HTTP_POST_FILES'];
$files = array() ;
$post = $_FILES ?? $GLOBALS['HTTP_POST_FILES'];
$files = [] ;
include_spip('inc/joindre_document');
if (is_array($post)) {
foreach ($post as $file) {
if (!($file['error'] == 4) ) {
if ($file['error'] != 4 ) {
if (!in_array($file['name'], $fichiers_module)) {
$fichier_module = $fichier_php.', '.$fichier_po;
$erreurs['fichier_langue'] = _T('tradlang:erreur_upload_fichier_php', array('fichier' => $file['name'], 'fichier_attendu' => $fichier_module) );
$erreurs['fichier_langue'] = _T('tradlang:erreur_upload_fichier_php', ['fichier' => $file['name'], 'fichier_attendu' => $fichier_module] );
}
if (!$erreurs['fichier_langue']) {
@ -157,18 +160,16 @@ function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_modul
$contenu=file_get_contents($dest);
$contenu = str_replace("\t", '', $contenu);
$tab=preg_split("/\r\n|\n\r|;\n|\n\/\/|\(\n|\n\);\n|\'\,\n|\n[\s\t]*(\')|\/\/[\s\t][0-9A-Z]\n[\s\t](\')/", $contenu, '-1', PREG_SPLIT_NO_EMPTY);
$liste_trad=array() ;
$liste_trad=[] ;
reset($tab);
while (list(,$ligne) = each($tab) ) {
foreach ($tab as $ligne ) {
$ligne = str_replace("\'", '', $ligne);
if (strlen($ligne) > 0) {
if (preg_match("/\'(.*?)\'[\s\t]*=>[\s\t]*\'(.*?)\'[\s\t]*,{0,1}[\s\t]*(#.*)?/ms", $ligne, $matches)) {
if (isset($matches[1]) and isset($matches[3]) and strlen(trim($matches[3])) > 0) {
list(,$comm) = explode('#', $matches[3]);
if (in_array(trim($comm), array('NEW','MODIF','RELIRE'))) {
$liste_trad[$matches[1]]=trim($comm);
}
if (strlen($ligne) > 0 & & preg_match("/\'(.*?)\'[\s\t]*=>[\s\t]*\'(.*?)\'[\s\t]*,{0,1}[\s\t]*(#.*)?/ms", $ligne, $matches)) {
if (isset($matches[1]) & & isset($matches[3]) & & strlen(trim($matches[3])) > 0) {
[, $comm] = explode('#', $matches[3]);
if (in_array(trim($comm), ['NEW', 'MODIF', 'RELIRE'])) {
$liste_trad[$matches[1]]=trim($comm);
}
}
}
@ -179,18 +180,18 @@ function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_modul
$str_lang = $GLOBALS[$memtrad];
// verifie si c'est un fichier langue
if (!is_array($str_lang)) {
$erreurs['fichier_langue'] = _T('tradlang:erreur_upload_fichier_php_array', array('fichier' => $file['name']) );
$erreurs['fichier_langue'] = _T('tradlang:erreur_upload_fichier_php_array', ['fichier' => $file['name']] );
} else {
$langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang));
$modifs = array() ;
$langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang));
$modifs = [] ;
foreach ($langues_base as $strings_id => $strings) {
$str_lang[$strings['id']] = tradlang_utf8(preg_replace(',^(< (MODIF|NEW|PLUS_UTILISE)>)+,US', '', $str_lang[$strings['id']]));
if ($strings['str'] != $str_lang[$strings['id']]) {
$modifs[$strings['id']] = array('orig'=>$strings['str'],'new'=>$str_lang[$strings['id']]) ;
$modifs[$strings['id']] = ['orig'=>$strings['str'], 'new'=>$str_lang[$strings['id']]] ;
break;
}
if (in_array($strings['id'], $keys_liste_trad) and ( $strings['statut'] != $liste_trad[$strings['id']]) ) {
$modifs[$strings['id']] = array('orig'=>$strings['str'],'new'=>$str_lang[$strings['id']]) ;
if (in_array($strings['id'], $keys_liste_trad) & & $strings['statut'] != $liste_trad[$strings['id']]) {
$modifs[$strings['id']] = ['orig'=>$strings['str'], 'new'=>$str_lang[$strings['id']]] ;
break;
}
}
@ -201,7 +202,7 @@ function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_modul
*/
lire_fichier($dest, $contenu_po);
preg_match_all(',(\#\, php-format|\#\, fuzzy\, php-format).*msgstr "(.*)\n(\n|\Z),Uims', $contenu_po, $matches);
$array_po = array() ;
$array_po = [] ;
foreach ($matches[0] as $match) {
$statut = 'OK';
preg_match(',msgstr \"(.*)\n(\n|\Z),Uims', $match, $matches_str);
@ -212,24 +213,26 @@ function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_modul
preg_match(',\nmsgid \"(.*)\nmsgstr,Uims', $match, $matches_str_orig);
$str_orig = rtrim(trim($matches_str_orig[1]), '"');
$str_orig = trim(str_replace("\"\n\"", '', $str_orig));
$matches[1] = sql_getfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND str = '.sql_quote($str_orig));
$matches[1] = sql_getfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND str = '.sql_quote($str_orig));
}
if (preg_match(',\#\, fuzzy\, php-format,', $match, $matches_statut)) {
$statut = 'MODIF';
}
if ($str != '') {
$array_po[$matches[1]] = array('str' => $str, 'statut' => $statut) ;
$array_po[$matches[1]] = ['str' => $str, 'statut' => $statut] ;
}
}
$langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'id_tradlang_module=' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang));
$modifs = array() ;
$langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'id_tradlang_module=' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang));
$modifs = [] ;
foreach ($langues_base as $strings_id => $strings) {
$str_lang[$strings['id']] = tradlang_utf8(preg_replace(',^(< (MODIF|NEW|PLUS_UTILISE)>)+,US', '', $str_lang[$strings['id']]));
if (isset($array_po[$strings['id']]['str']) and strlen(trim($array_po[$strings['id']]['str'])) > 0) {
if (($strings['str'] != $array_po[$strings['id']]['str']) or ($strings['statut'] != $array_po[$strings['id']]['statut'])) {
$modifs[$strings['id']] = array('orig'=>$strings['str'],'new'=>$array_po[$strings['id']]['str'],'statut'=>$array_po[$strings['id']]['statut']);
break;
}
if (
isset($array_po[$strings['id']]['str'])
& & strlen(trim($array_po[$strings['id']]['str'])) > 0
& & ($strings['str'] != $array_po[$strings['id']]['str'] || $strings['statut'] != $array_po[$strings['id']]['statut'])
) {
$modifs[$strings['id']] = ['orig'=>$strings['str'], 'new'=>$array_po[$strings['id']]['str'], 'statut'=>$array_po[$strings['id']]['statut']];
break;
}
}
}
@ -237,11 +240,11 @@ function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_modul
}
}
}
if (!count($post) and !$erreurs['fichier_langue']) {
if ($post === [] & & !$erreurs['fichier_langue']) {
$erreurs['fichier_langue'] = _T('medias:erreur_indiquez_un_fichier');
}
if (!count($modifs) and !$erreurs['fichier_langue']) {
if (!(is_countable($modifs) ? count($modifs) : 0) & & !$erreurs['fichier_langue']) {
$erreurs['fichier_langue'] = _T('tradlang:erreur_upload_aucune_modif');
}
}
@ -249,20 +252,20 @@ function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_modul
}
function formulaires_tradlang_importer_langue_verifier_2_dist($id_tradlang_module, $lang) {
$module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module) );
$module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module );
$fichier_php = $module.'_'.$lang.'.php';
$fichier_po = $module.'_'.$lang.'.po';
$dir_lang = sous_repertoire(_DIR_VAR, 'cache-tradlang');
$dest = $dir_lang.$fichier_php;
$destpo = $dir_lang.$fichier_po;
$modifs = $erreurs = array() ;
$modifs = $erreurs = [] ;
if (file_exists($dest)) {
$memtrad = $GLOBALS['idx_lang'] = 'i18n_'.crc32($module).'_tmp';
include $dest;
$str_lang = $GLOBALS[$memtrad]; // on a vu certains fichiers faire des betises et modifier idx_lang
$langues_base = sql_allfetsel('*', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang));
$modifs = array() ;
$langues_base = sql_allfetsel('*', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang));
$modifs = [] ;
foreach ($langues_base as $strings_id => $strings) {
if (_request($strings['id']) == 'oui') {
$modifs[] = $strings['id'];
@ -270,8 +273,8 @@ function formulaires_tradlang_importer_langue_verifier_2_dist($id_tradlang_modul
unset($langues_base[$strings_id]);
}
} elseif (file_exists($destpo)) {
$langues_base = sql_allfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang));
$modifs = array() ;
$langues_base = sql_allfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang));
$modifs = [] ;
foreach ($langues_base as $strings_id => $strings) {
if (_request($strings['id']) == 'oui') {
$modifs[] = $strings['id'];
@ -281,16 +284,18 @@ function formulaires_tradlang_importer_langue_verifier_2_dist($id_tradlang_modul
} else {
$erreurs['message_erreur'] = "Le fichier temporaire $dest n'a pas été créé";
}
if (!count($modifs) ) {
if ($modifs === [] ) {
$erreurs['message_erreur'] = _T('tradlang:erreur_upload_choisir_une');
}
return $erreurs;
}
function formulaires_tradlang_importer_langue_traiter_dist($id_tradlang_module, $lang) {
include_spip('action/editer_tradlang');
$contenu_po = null;
$res = [];
include_spip('action/editer_tradlang');
$module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module));
$module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module );
$fichier_php = $module.'_'.$lang.'.php';
$fichier_po = $module.'_'.$lang.'.po';
$dir_lang = sous_repertoire(_DIR_VAR, 'cache-tradlang');
@ -305,18 +310,16 @@ function formulaires_tradlang_importer_langue_traiter_dist($id_tradlang_module,
$contenu=file_get_contents($dest);
$contenu = str_replace("\t", '', $contenu);
$tab=preg_split("/\r\n|\n\r|;\n|\n\/\/|\(\n|\n\);\n|\'\,\n|\n[\s\t]*(\')|\/\/[\s\t][0-9A-Z]\n[\s\t](\')/", $contenu, '-1', PREG_SPLIT_NO_EMPTY);
$liste_trad=array() ;
$liste_trad=[] ;
reset($tab);
while (list(,$ligne) = each($tab) ) {
foreach ($tab as $ligne ) {
$ligne = str_replace("\'", '', $ligne);
if (strlen($ligne)>0) {
if (preg_match("/\'(.*?)\'[\s\t]*=>[\s\t]*\'(.*?)\'[\s\t]*,{0,1}[\s\t]*(#.*)?/ms", $ligne, $matches)) {
if (isset($matches[1]) and isset($matches[3]) and strlen(trim($matches[3])) > 0) {
list(,$comm) = explode('#', $matches[3]);
if (in_array(trim($comm), array('NEW','MODIF','RELIRE'))) {
$liste_trad[$matches[1]]=trim($comm);
}
if (strlen($ligne)>0 & & preg_match("/\'(.*?)\'[\s\t]*=>[\s\t]*\'(.*?)\'[\s\t]*,{0,1}[\s\t]*(#.*)?/ms", $ligne, $matches)) {
if (isset($matches[1]) & & isset($matches[3]) & & strlen(trim($matches[3])) > 0) {
[, $comm] = explode('#', $matches[3]);
if (in_array(trim($comm), ['NEW', 'MODIF', 'RELIRE'])) {
$liste_trad[$matches[1]]=trim($comm);
}
}
}
@ -331,11 +334,11 @@ function formulaires_tradlang_importer_langue_traiter_dist($id_tradlang_module,
}
$langues_base = sql_allfetsel('*', 'spip_tradlangs', 'module = ' . sql_quote($module).' AND lang = ' . sql_quote($lang));
$modifs = array() ;
$modifs = [] ;
foreach ($langues_base as $strings_id => $strings) {
if (_request($strings['id']) == 'oui') {
$set_new = tradlang_utf8(preg_replace(',^(< (MODIF|NEW|PLUS_UTILISE)>)+,US', '', $str_lang[$strings['id']]));
$set = array( 'str' => $set_new, 'statut' => (in_array($strings['id'], $keys_liste_trad) ? $liste_trad[$strings['id']] : 'OK')) ;
$set = [ 'str' => $set_new, 'statut' => (in_array($strings['id'], $keys_liste_trad) ? $liste_trad[$strings['id']] : 'OK')] ;
tradlang_set($strings['id_tradlang'], $set);
$count++;
unset($langues_base[$strings_id]);
@ -345,7 +348,7 @@ function formulaires_tradlang_importer_langue_traiter_dist($id_tradlang_module,
} else if (file_exists($dest = $dir_lang. $fichier_po)) {
lire_fichier($dest, $contenu_po);
preg_match_all(',(\#\, php-format|\#\, fuzzy\, php-format).*msgstr "(.*)\n(\n|\Z),Uims', $contenu_po, $matches);
$array_po = array() ;
$array_po = [] ;
foreach ($matches[0] as $match) {
$statut = 'OK';
preg_match(',msgstr \"(.*)\n(\n|\Z),Uims', $match, $matches_str);
@ -356,25 +359,25 @@ function formulaires_tradlang_importer_langue_traiter_dist($id_tradlang_module,
preg_match(',\nmsgid \"(.*)\nmsgstr,Uims', $match, $matches_str_orig);
$str_orig = rtrim(trim($matches_str_orig[1]), '"');
$str_orig = trim(str_replace("\"\n\"", '', $str_orig));
$matches[1] = sql_getfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) .' AND str = ' . sql_quote($str_orig));
$matches[1] = sql_getfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module .' AND str = ' . sql_quote($str_orig));
}
if (preg_match(',\#\, fuzzy\, php-format,', $match, $matches_statut)) {
$statut = 'MODIF';
}
if ($str != '') {
$array_po[$matches[1]] = array('str' => $str, 'statut' => $statut) ;
$array_po[$matches[1]] = ['str' => $str, 'statut' => $statut] ;
}
}
$langues_base = sql_allfetsel('id_tradlang,id,str,statut', 'spip_tradlangs', 'module = ' . sql_quote($module) . ' AND lang = ' . sql_quote($lang));
$modifs_po = array() ;
$modifs_po = [] ;
foreach ($langues_base as $strings_id => $strings) {
if (_request($strings['id']) == 'oui') {
$set=$instit=null;
if (isset($array_po[$strings['id']]['str']) and strlen(trim($array_po[$strings['id']]['str'])) > 0) {
$set = array('str' => $array_po[$strings['id']]['str']) ;
if (isset($array_po[$strings['id']]['str']) & & strlen(trim($array_po[$strings['id']]['str'])) > 0) {
$set = ['str' => $array_po[$strings['id']]['str']] ;
tradlang_set($strings['id_tradlang'], $set);
$instit = array('statut' => $array_po[$strings['id']]['statut']) ;
$instit = ['statut' => $array_po[$strings['id']]['statut']] ;
instituer_tradlang($strings['id_tradlang'], $instit);
$count++;
unset($langues_base[$strings_id]);
@ -385,9 +388,9 @@ function formulaires_tradlang_importer_langue_traiter_dist($id_tradlang_module,
}
$res['editable'] = false;
if ($count > 1) {
$res['message_ok'] = _T('tradlang:message_upload_nb_modifies', array('nb' => $count) );
$res['message_ok'] = _T('tradlang:message_upload_nb_modifies', ['nb' => $count] );
} else {
$res['message_ok'] = _T('tradlang:message_upload_nb_modifies', array('nb' => $count) );
$res['message_ok'] = _T('tradlang:message_upload_nb_modifies', ['nb' => $count] );
}
return $res;
}