Changeset 455 for trunk/import


Ignore:
Timestamp:
Apr 13, 2010, 10:03:12 AM (15 years ago)
Author:
george
Message:
  • Upraveno: Přístup k databázi převeden na objektový pomocí rozšířené PHP třídy mysqli. Při práci s databází použít globální objekt $System a jeho prvek $Database ($System->Database->query("SELECT ...");.
  • Upraveno: Při vkládání nové zprávy do Kecátka neprovádět přesměrování, ale rovnou zobrazit výpis. U některých překladatelů toto způsobovalo opakované vložení zprávy.
Location:
trunk/import
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/import.php

    r443 r455  
    66  var $Group;
    77  var $NewItemCount;
     8  var $System;
     9 
     10  function __construct($System)
     11  {
     12    $this->System = &$System;
     13  }
    814 
    915  function SetVersion($Version)
     
    1622 
    1723  function InsertItem($Value)
    18   {
    19     global $Database;
    20  
     24  {   
    2125    $Columns = '';
    2226    foreach($this->Group['Items'] as $GroupItem)
     
    2832    //print_r($Value);
    2933 
    30     $DbResult2 = $Database->SQLCommand('SELECT `VersionEnd`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND (`Language`=0) ORDER BY `VersionStart` DESC LIMIT 1');
     34    $DbResult2 = $this->System->Database->query('SELECT `VersionEnd`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND (`Language`=0) ORDER BY `VersionStart` DESC LIMIT 1');
    3135    //echo('SELECT `VersionEnd`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND (`Language`=0) ORDER BY `VersionStart` DESC LIMIT 1');
    32     if(isset($DbResult2) and (mysql_num_rows($DbResult2) > 0))
     36    if(isset($DbResult2) and ($DbResult2->num_rows > 0))
    3337    {
    3438      // Update existed text
    35       $DbRow2 = mysql_fetch_assoc($DbResult2);
     39      $DbRow2 = $DbResult2->fetch_assoc();
    3640      if($this->HaveSameText($this->Group, $DbRow2, $Value))
    3741      {
    3842        if($DbRow2['VersionEnd'] <> $this->Version['BuildNumber'])
    3943        {
    40           $Database->SQLCommand('UPDATE `'.$this->Group['TablePrefix'].'` SET `VersionEnd` = "'.$this->Version['BuildNumber'].'" WHERE `ID`='.$DbRow2['ID']);
     44          $this->System->Database->query('UPDATE `'.$this->Group['TablePrefix'].'` SET `VersionEnd` = "'.$this->Version['BuildNumber'].'" WHERE `ID`='.$DbRow2['ID']);
    4145          echo(', ');
    4246        } else echo('. ');
     
    5054          $Values .= ', "'.$Value[$GroupItem['Column']].'"';
    5155        }
    52         $Database->SQLCommand('INSERT `'.$this->Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
     56        $this->System->Database->query('INSERT `'.$this->Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
    5357        echo('# ');
    54         WriteLog('Text <a href="form.php?group='.$this->Group['Id'].'&amp;ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['Entry'].') ze skupiny '.$this->Group['Name'].' byl v nové verzi '.$this->Version['Version'].' změněn.', LOG_TYPE_IMPORT);
     58        $InsertId = $this->System->Database->insert_id;
     59        WriteLog('Text <a href="form.php?group='.$this->Group['Id'].'&amp;ID='.$InsertId.'">'.$InsertId.'</a> ('.$DbRow2['Entry'].') ze skupiny '.$this->Group['Name'].' byl v nové verzi '.$this->Version['Version'].' změněn.', LOG_TYPE_IMPORT);
    5560      }       
    5661    } else
     
    6267        // Get new unused Entry for tables without numeric id
    6368        $Value['Entry'] = 1;
    64         $DbResult = $Database->SQLCommand('SELECT MAX(`Entry`) FROM `'.$this->Group['TablePrefix'].'`');
    65         if(mysql_num_rows($DbResult) > 0)
    66         {
    67           $DbRow = mysql_fetch_row($DbResult);
     69        $DbResult = $this->System->Database->query('SELECT MAX(`Entry`) FROM `'.$this->Group['TablePrefix'].'`');
     70        if($DbResult->num_rows > 0)
     71        {
     72          $DbRow = $DbResult->fetch_row();
    6873          $Value['Entry'] += $DbRow[0];
    6974        }           
     
    7681        $Values .= ', "'.$Value[$GroupItem['Column']].'"';
    7782      }
    78       $Database->SQLCommand('INSERT `'.$this->Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
     83      $this->System->Database->query('INSERT `'.$this->Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
     84      $InsertId = $this->System->Database->insert_id;
    7985      echo('+ ');
    8086      $this->NewItemCount++;
    81       WriteLog('Text <a href="form.php?group='.$this->Group['Id'].'&amp;ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$Value['Entry'].') ze skupiny '.$this->Group['Name'].' byl v nové verzi '.$this->Version['Version'].' přidán.', LOG_TYPE_IMPORT);
     87      WriteLog('Text <a href="form.php?group='.$this->Group['Id'].'&amp;ID='.$InsertId.'">'.$InsertId.'</a> ('.$Value['Entry'].') ze skupiny '.$this->Group['Name'].' byl v nové verzi '.$this->Version['Version'].' přidán.', LOG_TYPE_IMPORT);
    8288    }
    8389  }
     
    8591  function ImportLUA()
    8692  {
    87     global $Database, $TranslationTree, $PatchVersion, $Config;
     93    global $TranslationTree, $PatchVersion;
    8894       
    8995    echo('Načítání textů z LUA souboru...');
     
    126132          }
    127133          echo('<br />Celkem: '.$Count.'  Nových: '.$this->NewItemCount.'<br />');
    128           $Database->SQLCommand('UPDATE `Group` SET `LastVersion` = "'.$this->Version['BuildNumber'].'", `LastImport` = NOW() WHERE `Id`='.$this->Group['Id']);
     134          $this->System->Database->query('UPDATE `Group` SET `LastVersion` = "'.$this->Version['BuildNumber'].'", `LastImport` = NOW() WHERE `Id`='.$this->Group['Id']);
    129135        } else echo('Již importován pro verzi '.$this->Version['Version']);
    130136      } else echo('Není definováno jméno zdrojového souboru');
     
    134140  function UpdateTranslated()
    135141  {
    136     global $Database, $TranslationTree, $PatchVersion, $Config;
     142    global $TranslationTree, $PatchVersion, $Config;
    137143 
    138144    echo('<br /><br />Začínám se synchronizací VersionEnd u přeložených textů<br />');
     
    140146    {
    141147      echo('<br />'.$Group['Name'].' ');     
    142       $DbResult = $Database->SQLCommand('SELECT `gs_tran`.`ID`, `gs_tran`.`VersionEnd` AS `VersionEnd_tran`, `gs_orig`.`VersionEnd` AS `VersionEnd_orig` FROM `'.$Group['TablePrefix'].'` AS `gs_tran` JOIN `'.$Group['TablePrefix'].'` AS `gs_orig` ON `gs_orig`.`ID` = `gs_tran`.`Take` WHERE `gs_tran`.`VersionEnd` <> `gs_orig`.`VersionEnd`');
    143       while($DbRow = mysql_fetch_assoc($DbResult))
     148      $DbResult = $this->System->Database->query('SELECT `gs_tran`.`ID`, `gs_tran`.`VersionEnd` AS `VersionEnd_tran`, `gs_orig`.`VersionEnd` AS `VersionEnd_orig` FROM `'.$Group['TablePrefix'].'` AS `gs_tran` JOIN `'.$Group['TablePrefix'].'` AS `gs_orig` ON `gs_orig`.`ID` = `gs_tran`.`Take` WHERE `gs_tran`.`VersionEnd` <> `gs_orig`.`VersionEnd`');
     149      while($DbRow = $DbResult->fetch_assoc())
    144150      {
    145         $Database->SQLCommand('UPDATE `'.$Group['TablePrefix'].'` SET `VersionEnd` = '.$DbRow['VersionEnd_orig'].' WHERE `ID` = '.$DbRow['ID']);
     151        $this->System->Database->query('UPDATE `'.$Group['TablePrefix'].'` SET `VersionEnd` = '.$DbRow['VersionEnd_orig'].' WHERE `ID` = '.$DbRow['ID']);
    146152        echo('. ');
    147153      } 
     
    253259  function ImportSQL()
    254260  {
    255     global $Database, $TranslationTree, $PatchVersion, $Config;
     261    global $TranslationTree, $PatchVersion;
    256262 
    257263    $File = new FileStream();
     
    357363    }
    358364    echo('<br />Celkem: '.$Count.'  Nových: '.$this->NewItemCount.'<br />');
    359   $Database->SQLCommand('UPDATE `Group` SET `LastVersion` = "'.$this->Version['BuildNumber'].'", `LastImport` = NOW() WHERE `Id`='.$this->Group['Id']);
     365  $this->System->Database->query('UPDATE `Group` SET `LastVersion` = "'.$this->Version['BuildNumber'].'", `LastImport` = NOW() WHERE `Id`='.$this->Group['Id']);
    360366  }
    361367}
  • trunk/import/index.php

    r443 r455  
    3434function ShowImportGroup()
    3535{
    36   global $Config;
     36  global $System;
    3737 
    3838  if(array_key_exists('id', $_GET))
     
    4141   
    4242    $GroupId = (int)$_GET['id'];
    43     $Import = new Import();
    44     $Import->SetVersion($Config['Web']['GameVersion']);
     43    $Import = new Import($System);
     44    $Import->SetVersion($System->Config['Web']['GameVersion']);
    4545    $Import->ImportGroup($GroupId);
    4646 
     
    5252function ShowMenu()
    5353{
    54   global $TranslationTree, $Database, $Config;
     54  global $TranslationTree, $System;
    5555 
    5656  echo('</div><div><strong>Import zdrojů:</strong></div>');
     
    5858  echo('<div><a href="?action=instructions">Instrukce pro přípravu zdrojových souborů</a></div>');
    5959  echo('<div><a href="?action=update_translated">Zaktualizovat verze přeložených</a></div><br/>');
    60   echo('Verze klienta použitá pro import: <strong>'.$Config['Web']['GameVersion'].'</strong>');
    61   $DbResult = $Database->SQLCommand('SELECT COUNT(*) FROM `Group`');
    62   $DbRow = mysql_fetch_row($DbResult);
     60  echo('Verze klienta použitá pro import: <strong>'.$System->Config['Web']['GameVersion'].'</strong>');
     61  $DbResult = $System->Database->query('SELECT COUNT(*) FROM `Group`');
     62  $DbRow = $DbResult->fetch_row();
    6363  $PageList = GetPageList($DbRow[0]); 
    6464  echo('<h3>Seznam překladových skupin</h3>');
     
    7878  echo($Order['Output']);
    7979
    80   $ID = $Database->SQLCommand('SELECT * FROM `Group`'.$Order['SQL'].$PageList['SQLLimit']);
    81   while($Group = mysql_fetch_assoc($ID))
     80  $DbResult = $System->Database->query('SELECT * FROM `Group`'.$Order['SQL'].$PageList['SQLLimit']);
     81  while($Group = $DbResult->fetch_assoc())
    8282  {
    8383    echo('<tr><td>'.$Group['Name'].'</td><td>'.$Group['SourceType'].'</td><td>');
     
    9292function UpdateTranslated()
    9393{
     94  global $System;
     95 
    9496  echo('<div style="font-size: xx-small;">');
    95   $Import = new Import();
     97  $Import = new Import($System);
    9698  $Import->UpdateTranslated();
    9799  echo('</div>');
Note: See TracChangeset for help on using the changeset viewer.