resetlangs.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/usr/bin/php
  2. <?php
  3. const N="\n";
  4. use function mysqli_real_escape_string as myesc;
  5. function mexit($msg,$code) {
  6. echo($msg);
  7. exit($code);
  8. }
  9. $iniarr=@parse_ini_file(__DIR__.'/../../conf/mustard.ini')
  10. or mexit('Impossibile aprire il file di configurazione.'.N,1);
  11. $link=mysqli_connect($iniarr['db_host'],$iniarr['db_admin_name'],$iniarr['db_admin_password'],$iniarr['db_name'],$iniarr['db_port'],$iniarr['db_socket'])
  12. or mexit('Impossibile connettersi al database: '.mysqli_connect_error().' ['.mysqli_connect_errno().']'.N,1);
  13. mysqli_set_charset($link,'utf8mb4');
  14. $res=mysqli_query($link,'SELECT * FROM Languages WHERE Code LIKE "%-%"');
  15. $dashlangs=[];
  16. while ($row=mysqli_fetch_assoc($res)) $dashlangs[]=$row;
  17. print_r($dashlangs);
  18. foreach ($dashlangs as $dashlang) {
  19. $normcode=str_replace('-','_',$dashlang['Code']);
  20. $res=mysqli_query($link,'SELECT * FROM Languages WHERE Code=\''.$normcode.'\'');
  21. $nr=mysqli_num_rows($res);
  22. if ($nr==1) {
  23. $row=mysqli_fetch_assoc($res);
  24. echo('Di «'.$normcode.'» ce n’è una: ');
  25. print_r($row);
  26. $res=mysqli_query($link,'SELECT * FROM InstLangs WHERE LangID='.$row['ID']);
  27. echo('...linkata '.mysqli_num_rows($res).' volte in InstLangs'.N);
  28. $res=mysqli_query($link,'SELECT * FROM InstOurLangs WHERE OurLangID='.$row['ID']);
  29. echo('...e '.mysqli_num_rows($res).' volte in InstOurLangs'.N);
  30. mysqli_query($link,'UPDATE InstLangs SET LangID='.$row['ID'].' WHERE LangID='.$dashlang['ID']);
  31. mysqli_query($link,'UPDATE InstOurLangs SET OurLangID='.$row['ID'].' WHERE OurLangID='.$dashlang['ID']);
  32. mysqli_query($link,'DELETE FROM Languages WHERE Code=\''.$dashlang['Code'].'\'');
  33. } elseif ($nr>1) {
  34. echo('MANNAGGIA, di «'.$normcode.'» ce ne sono '.$nr.'!'.N);
  35. } else {
  36. echo('Di «'.$normcode.'» non ce ne sono.'.N);
  37. mysqli_query($link,'UPDATE Languages SET Code=\''.$normcode.'\' WHERE Code=\''.$dashlang['Code'].'\'');
  38. }
  39. echo(N);
  40. }
  41. mysqli_close($link);
  42. exit(0);
  43. ?>