#!/usr/bin/php . */ require(__DIR__.'/../include/mb_ucfirst.php'); define('N',"\n"); use function mysqli_real_escape_string as myesc; $inifp=__DIR__.'/../sec/mustard.ini'; $iniarr=@parse_ini_file($inifp) or mexit('Impossibile aprire il file di configurazione «'.$inifp.'»'.N,1); $link=@mysqli_connect($iniarr['db_host'],$iniarr['db_admin_name'],$iniarr['db_admin_password'],$iniarr['db_name'],$iniarr['db_port'],$iniarr['db_socket']) or mexit('Impossibile connettersi al server MySQL: '.mysqli_connect_error().N,1); mysqli_set_charset($link,'utf8mb4') or mexit(mysqli_error($link).N,1); require(__DIR__.'/../include/tables.php'); $tables=tables($link); $localesfp='locales.json'; $locales=@file_get_contents($localesfp); if ($locales===false) mexit('Non ho potuto aprire il file «'.$localesfp.'».'.N,1); $locales=json_decode($locales,true); print_r($locales); foreach ($locales as $key=>$val) { $code=myesc($link,$key); $NameOrig=myesc($link,mb_ucfirst(locale_get_display_name($key,$key))); $NameCa=myesc($link,mb_ucfirst(locale_get_display_name($key,'ca'))); $NameEn=myesc($link,mb_ucfirst(locale_get_display_name($key,'en'))); $NameEs=myesc($link,mb_ucfirst(locale_get_display_name($key,'es'))); $NameFr=myesc($link,mb_ucfirst(locale_get_display_name($key,'fr'))); $NameIt=myesc($link,mb_ucfirst(locale_get_display_name($key,'it'))); $que='INSERT INTO Languages (ID, Code, NameOrig, NameCA, NameEN, NameES, NameFR, NameIT) VALUES (NULL, \''.$code.'\', \''.$NameOrig.'\', \''.$NameCa.'\', \''.$NameEn.'\', \''.$NameEs.'\', \''.$NameFr.'\', \''.$NameIt.'\')'; echo($que.N); mysqli_query($link,$que) or mexit(mysqli_error($link).N,2); } mysqli_close($link); exit(0); function mexit($msg,$rv) { global $link; if ($link) mysqli_close($link); echo($msg); exit($rv); } function truncs($str,$tab,$col,$ctx) { global $tables, $tronconi, $iswin; if ($iswin) $tab=strtolower($tab); $size=$tables[$tab][$col]; $len=mb_strlen($str,'UTF-8'); if ($len>$size) { $tronconi[]=array('id'=>null,'tab'=>$tab,'col'=>$col,'ctx'=>$ctx,'len'=>$len,'size'=>$size); $str=mb_substr($str,0,$size-1,'UTF-8').'…'; } return($str); } function truncn($num,$tab,$col,$ctx) { global $tables, $iswin; if ($iswin) $tab=strtolower($tab); if (is_numeric($num)) { if ($num>$tables[$tab][$col]['max']) { notify($ctx.': ho dovuto troncare «'.$num.'» al valore massimo «'.$tables[$tab][$col]['max'].'» che può avere nella colonna «'.$col.'» della tabella «'.$tab.'»).',2); $num=$tables[$tab][$col]['max']; } elseif ($num<$tables[$tab][$col]['min']) { notify($ctx.': ho dovuto troncare «'.$num.'» al valore minimo «'.$tables[$tab][$col]['min'].'» che può avere nella colonna «'.$col.'» della tabella «'.$tab.'»).',2); $num=$tables[$tab][$col]['min']; } } else { notify($ctx.': truncn(): mi aspettavo un numero, invece non lo era; ritorno «0».',3); $num=0; } return($num); } ?>