Changeset 366 for trunk/import


Ignore:
Timestamp:
Mar 9, 2010, 1:01:14 PM (15 years ago)
Author:
george
Message:
  • Upraveno: Přejmenovány všechny tabulky textů na názvy s prvními velkými písmeny ve slovech plus pro odlišení s prefixem Text.
  • Upraveno: Další SQL dotazy doplněny o SQL uvozovky.
Location:
trunk/import
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/cmd.php

    r357 r366  
    2020  if(strpos($parameter, '=') !== false)
    2121  {
    22     $index = substr($parameter,0,strpos($parameter, '='));
    23   $parameter = substr($parameter,strpos($parameter, '=')+1);
    24   //echo ($index.'  ----  '.$parameter);
     22    $index = substr($parameter, 0, strpos($parameter, '='));
     23    $parameter = substr($parameter, strpos($parameter, '=') + 1);
     24    //echo ($index.'  ----  '.$parameter);
    2525    $_GET[$index] = $parameter;
    2626  }
  • trunk/import/import_dbc.php

    r365 r366  
    11<?php
    2 /*
    3 DELETE FROM `gametips` WHERE ID > 266;
    4 DELETE FROM `spell` WHERE ID > 43672;
    5 UPDATE `gametips` SET VersionStart = 8606,VersionEnd = 8606;
    6 UPDATE `spell` SET VersionStart = 8606,VersionEnd = 8606;
    7 DELETE FROM `Log` WHERE Type = 11;
    8 */ 
    9  
    102
    11 
    12 function ImportDBC($import_version,$GroupId)
     3function ImportDBC($import_version, $GroupId)
    134{
    145  global $Database, $TranslationTree, $Config;
     6 
    157  $BuildNumber = GetBuildNumber($import_version);
    168
    179  echo('Načítání textů z DBC souborů...');
    1810  $Group = $TranslationTree[$GroupId];
    19     if(($Group['DBCFileName'] != '') and ($Group['TablePrefix'] != ''))
    20     {
    21       echo('<br />'.$Group['Name'].'<br />');
     11  if(($Group['DBCFileName'] != '') and ($Group['TablePrefix'] != ''))
     12  {
     13    echo('<br />'.$Group['Name'].'<br />');
    2214    $DBCFile = new DBCFile();
    2315    $DBCFile->OpenFile('../source/'.$import_version.'/dbc/'.$Group['DBCFileName'].'.dbc', GetDBCColumns($import_version,$Group['DBCFileName']));
     
    2618    $Count = 0;
    2719    for($i = 0; $i < $ItemCount; $i++)
     20    {
     21      foreach($Group['Items'] as $GroupItem)
    2822      {
    29         foreach($Group['Items'] as $GroupItem)
    30         {
    31           $Value[$GroupItem['Column']] = addslashes($DBCFile->GetString($i, GetDBCColumnIndex($import_version,$Group['DBCFileName'],$GroupItem['Column'])));
    32         }
     23        $Value[$GroupItem['Column']] = addslashes($DBCFile->GetString($i, GetDBCColumnIndex($import_version,$Group['DBCFileName'],$GroupItem['Column'])));
     24      }
    3325   
    34         $Columns = '';
    35         foreach($Group['Items'] as $GroupItem)
    36         {
    37           $Columns .= ', '.$GroupItem['Column'].' ';
    38         }
    39           $Columns = substr($Columns, 1);
     26      $Columns = '';
     27      foreach($Group['Items'] as $GroupItem)
     28      {
     29        $Columns .= ', '.$GroupItem['Column'].' ';
     30      }
     31      $Columns = substr($Columns, 1);
    4032   
    41         $ItemId = $DBCFile->GetUint($i, 0); 
    42         $DbResult2 = $Database->SQLCommand('SELECT VersionEnd, ID, entry, '.$Columns.' FROM '.$Group['TablePrefix'].' WHERE entry='.$ItemId.' AND Language=0 ORDER BY VersionStart DESC LIMIT 1');
    43         if(isset($DbResult2) and (mysql_num_rows($DbResult2) > 0))
     33      $ItemId = $DBCFile->GetUint($i, 0); 
     34      $DbResult2 = $Database->SQLCommand('SELECT `VersionEnd`, `ID`, `Entry`, '.$Columns.' FROM `'.$Group['TablePrefix'].'` WHERE `Entry`='.$ItemId.' AND `Language`=0 ORDER BY `VersionStart` DESC LIMIT 1');
     35      if(isset($DbResult2) and (mysql_num_rows($DbResult2) > 0))
    4436      {
    45             // Update existed text
    46             $DbRow2 = mysql_fetch_assoc($DbResult2);
    47             if(HaveSameText($Group, $DbRow2, $Value))
    48             {
    49         if ($DbRow2['VersionEnd'] <> $BuildNumber) {
    50                 $Database->SQLCommand('UPDATE `'.$Group['TablePrefix'].'` SET VersionEnd = "'.$BuildNumber.'" WHERE ID='.$DbRow2['ID']);
    51           echo(', ');
    52         } else
    53           echo('. ');
    54             } else
    55             {       
    56               $Columns = 'entry, language, VersionStart, VersionEnd';
    57               $Values = $DbRow2['entry'].', 0, '.$BuildNumber.', '.$BuildNumber;
    58               foreach($Group['Items'] as $GroupItem)
    59               {
    60                 $Columns .= ', `'.$GroupItem['Column'].'`';
    61                 $Values .= ', "'.$Value[$GroupItem['Column']].'"';
    62               }
    63               $Database->SQLCommand('INSERT `'.$Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
    64               echo('# ');
    65               WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['entry'].') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' změněn.', LOG_TYPE_IMPORT);
    66             }       
    67      
     37        // Update existed text
     38        $DbRow2 = mysql_fetch_assoc($DbResult2);
     39        if(HaveSameText($Group, $DbRow2, $Value))
     40        {
     41          if ($DbRow2['VersionEnd'] <> $BuildNumber)
     42          {
     43            $Database->SQLCommand('UPDATE `'.$Group['TablePrefix'].'` SET `VersionEnd` = "'.$BuildNumber.'" WHERE `ID`='.$DbRow2['ID']);
     44            echo(', ');
     45          } else echo('. ');
     46        } else
     47        {       
     48          $Columns = '`Entry`, `Language`, `VersionStart`, `VersionEnd`';
     49          $Values = $DbRow2['entry'].', 0, '.$BuildNumber.', '.$BuildNumber;
     50          foreach($Group['Items'] as $GroupItem)
     51          {
     52            $Columns .= ', `'.$GroupItem['Column'].'`';
     53            $Values .= ', "'.$Value[$GroupItem['Column']].'"';
     54          }
     55          $Database->SQLCommand('INSERT `'.$Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
     56          echo('# ');
     57          WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['entry'].') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' změněn.', LOG_TYPE_IMPORT);
     58        }             
    6859      } else
    6960      {   
    70             // Insert new text
    71             $Columns = 'entry, language, VersionStart, VersionEnd';
    72             $Values = $ItemId.', 0, '.$BuildNumber.', '.$BuildNumber;
    73             foreach($Group['Items'] as $GroupItem)
    74             {
    75               $Columns .= ', `'.$GroupItem['Column'].'`';
    76               $Values .= ', "'.$Value[$GroupItem['Column']].'"';
    77             }
    78             $Database->SQLCommand('INSERT `'.$Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
    79             echo('+ ');
    80             $NewCount++;
    81             WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$ItemId.') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' přidán.', LOG_TYPE_IMPORT);
     61        // Insert new text
     62        $Columns = '`Entry`, `Language`, `VersionStart`, `VersionEnd`';
     63        $Values = $ItemId.', 0, '.$BuildNumber.', '.$BuildNumber;
     64        foreach($Group['Items'] as $GroupItem)
     65        {
     66          $Columns .= ', `'.$GroupItem['Column'].'`';
     67          $Values .= ', "'.$Value[$GroupItem['Column']].'"';
     68        }
     69        $Database->SQLCommand('INSERT `'.$Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
     70        echo('+ ');
     71        $NewCount++;
     72        WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$ItemId.') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' přidán.', LOG_TYPE_IMPORT);
    8273   
    8374      }
    84         $Count++;
    85       }   
     75      $Count++;
     76    }   
    8677    echo('<br />Celkem: '.$Count.'  Nových: '.$NewCount.'<br />');
    87       $Database->SQLCommand('UPDATE `group` SET LastVersion = "'.$BuildNumber.'", LastImport = NOW() WHERE Id='.$GroupId);
     78    $Database->SQLCommand('UPDATE `Group` SET `LastVersion` = "'.$BuildNumber.'", `LastImport` = NOW() WHERE `Id`='.$GroupId);
    8879  }
    8980  echo('<strong>Dokončeno.</strong>');
  • trunk/import/import_lua.php

    r363 r366  
    3535          $Columns = substr($Columns, 1);
    3636
    37           $DbResult2 = $Database->SQLCommand('SELECT `VersionEnd`, `ID`, `entry`, '.$Columns.' FROM '.$Group['TablePrefix'].' WHERE `ShortCut`="'.$Value['ShortCut'].'" AND (`Language`=0) ORDER BY `VersionStart` DESC LIMIT 1');
     37          $DbResult2 = $Database->SQLCommand('SELECT `VersionEnd`, `ID`, `Entry`, '.$Columns.' FROM `'.$Group['TablePrefix'].'` WHERE `ShortCut`="'.$Value['ShortCut'].'" AND (`Language`=0) ORDER BY `VersionStart` DESC LIMIT 1');
    3838          if(isset($DbResult2) and (mysql_num_rows($DbResult2) > 0))
    3939          {
     
    5050            } else
    5151            {       
    52               $Columns = '`entry`, `language`, `VersionStart`, `VersionEnd`';
    53               $Values = $DbRow2['entry'].', 0, '.$BuildNumber.', '.$BuildNumber;
     52              $Columns = '`Entry`, `Language`, `VersionStart`, `VersionEnd`';
     53              $Values = $DbRow2['Entry'].', 0, '.$BuildNumber.', '.$BuildNumber;
    5454              foreach($Group['Items'] as $GroupItem)
    5555              {
     
    5959              $Database->SQLCommand('INSERT `'.$Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
    6060              echo('# ');
    61               WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['entry'].') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' změněn.', LOG_TYPE_IMPORT);
     61              WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['Entry'].') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' změněn.', LOG_TYPE_IMPORT);
    6262            }       
    6363          } else
     
    6565            // Insert new text
    6666            $Entry = 1;
    67             $DbResult = $Database->SQLCommand('SELECT MAX(`entry`) FROM `'.$Group['TablePrefix'].'`');
     67            $DbResult = $Database->SQLCommand('SELECT MAX(`Entry`) FROM `'.$Group['TablePrefix'].'`');
    6868            if(mysql_num_rows($DbResult) > 0)
    6969            {
     
    7171              $Entry += $DbRow[0];
    7272            }           
    73             $Columns = '`entry`, `language`, `VersionStart`, `VersionEnd`';
     73            $Columns = '`Entry`, `Language`, `VersionStart`, `VersionEnd`';
    7474            $Values = $Entry.', 0, '.$BuildNumber.', '.$BuildNumber;
    7575            foreach($Group['Items'] as $GroupItem)
     
    8787      }
    8888      echo('<br />Celkem: '.$Count.'  Nových: '.$NewCount.'<br />');
    89       $Database->SQLCommand('UPDATE `group` SET LastVersion = "'.$BuildNumber.'", LastImport = NOW() WHERE Id='.$Group['Id']);
     89      $Database->SQLCommand('UPDATE `Group` SET `LastVersion` = "'.$BuildNumber.'", `LastImport` = NOW() WHERE `Id`='.$Group['Id']);
    9090    }   
    9191  }
  • trunk/import/import_sql_mangos.php

    r357 r366  
    104104        $Columns = substr($Columns, 1);
    105105
    106         if($Group['Id'] == 8)$DbResult2 = $Database->SQLCommand('SELECT VersionEnd, ID, entry, '.$Columns.' FROM '.$Group['TablePrefix'].' WHERE Name="'.$Value['name'].'" AND (Language=0) ORDER BY VersionStart DESC LIMIT 1');
    107         else $DbResult2 = $Database->SQLCommand('SELECT VersionEnd, ID, entry, '.$Columns.' FROM '.$Group['TablePrefix'].' WHERE entry='.$Value[$Group['MangosTableIndex']].' AND (Language=0) ORDER BY VersionStart DESC LIMIT 1');
     106        if($Group['Id'] == 8)$DbResult2 = $Database->SQLCommand('SELECT `VersionEnd`, `ID`, `Entry`, '.$Columns.' FROM `'.$Group['TablePrefix'].'` WHERE `Name`="'.$Value['name'].'" AND (`Language`=0) ORDER BY `VersionStart` DESC LIMIT 1');
     107        else $DbResult2 = $Database->SQLCommand('SELECT `VersionEnd`, `ID`, `Entry`, '.$Columns.' FROM `'.$Group['TablePrefix'].'` WHERE `Entry`='.$Value[$Group['MangosTableIndex']].' AND (`Language`=0) ORDER BY `VersionStart` DESC LIMIT 1');
    108108        if(isset($DbResult2) and (mysql_num_rows($DbResult2) > 0))
    109109        {
     
    114114            if ($DbRow2['VersionEnd'] <> $BuildNumber)
    115115            {
    116               $Database->SQLCommand('UPDATE `'.$Group['TablePrefix'].'` SET VersionEnd = "'.$BuildNumber.'" WHERE ID='.$DbRow2['ID']);
     116              $Database->SQLCommand('UPDATE `'.$Group['TablePrefix'].'` SET `VersionEnd` = "'.$BuildNumber.'" WHERE `ID`='.$DbRow2['ID']);
    117117              echo(', ');
    118118            } else echo('. ');
    119119          } else
    120120          {       
    121             $Columns = 'entry, language, VersionStart, VersionEnd';
    122             $Values = $DbRow2['entry'].', 0, '.$BuildNumber.', '.$BuildNumber;
     121            $Columns = '`Entry`, `Language`, `VersionStart`, `VersionEnd`';
     122            $Values = $DbRow2['Entry'].', 0, '.$BuildNumber.', '.$BuildNumber;
    123123            foreach($Group['Items'] as $GroupItem)
    124124            {
     
    131131              $Database->SQLCommand('INSERT `'.$Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
    132132              echo('# ');
    133               WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['entry'].') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' změněn.', LOG_TYPE_IMPORT);
     133              WriteLog('Text <a href="form.php?group='.$Group['Id'].'&amp;ID='.mysql_insert_id().'">'.mysql_insert_id().'</a> ('.$DbRow2['Entry'].') ze skupiny '.$Group['Name'].' byl v nové verzi '.$import_version.' změněn.', LOG_TYPE_IMPORT);
    134134            } else echo('. ');       
    135135          }       
     
    141141          {
    142142            $Entry = 1;
    143             $DbResult = $Database->SQLCommand('SELECT MAX(`entry`) FROM `'.$Group['TablePrefix'].'`');
     143            $DbResult = $Database->SQLCommand('SELECT MAX(`Entry`) FROM `'.$Group['TablePrefix'].'`');
    144144            if(mysql_num_rows($DbResult) > 0)
    145145            {
     
    151151          }
    152152
    153           $Columns = 'entry, language, VersionStart, VersionEnd';
     153          $Columns = '`Entry`, `Language`, `VersionStart`, `VersionEnd`';
    154154          $Values = $Entry.', 0, '.$BuildNumber.', '.$BuildNumber;
    155155          foreach($Group['Items'] as $GroupItem)
     
    168168  }
    169169  echo('<br />Celkem: '.$Count.'  Nových: '.$NewCount.'<br />');
    170   $Database->SQLCommand('UPDATE `group` SET LastVersion = "'.$BuildNumber.'", LastImport = NOW() WHERE Id='.$GroupId);
     170  $Database->SQLCommand('UPDATE `Group` SET `LastVersion` = "'.$BuildNumber.'", `LastImport` = NOW() WHERE `Id`='.$GroupId);
    171171}
    172172
  • trunk/import/update_version.php

    r215 r366  
    99  {
    1010    echo('<br />'.$Group['Name'].' ');     
    11     $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');
     11    $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`');
    1212    while($DbRow = mysql_fetch_assoc($DbResult))
    1313    {
    14       $Database->SQLCommand('UPDATE '.$Group['TablePrefix'].' SET VersionEnd = '.$DbRow['VersionEnd_orig'].' WHERE ID = '.$DbRow['ID']);
     14      $Database->SQLCommand('UPDATE `'.$Group['TablePrefix'].'` SET `VersionEnd` = '.$DbRow['VersionEnd_orig'].' WHERE `ID` = '.$DbRow['ID']);
    1515      echo('. ');
    1616    } 
Note: See TracChangeset for help on using the changeset viewer.