Changeset 476 for trunk/import


Ignore:
Timestamp:
Apr 25, 2010, 1:12:04 PM (15 years ago)
Author:
george
Message:
  • Přidáno: Podpora pro DBC soubory s vícesloupcovým indexem (konktérně ItemSubClass.dbc). V databázi u skupin nově sloupce DBCIndex, který může obsahovat více indexů oddělených čárkou. Z nich se vygeneruje pak při importu hodnota do speciálně vytvořeného sloupce PrimaryKeyItem kombinace hodnot zadaných sloupců. Klasicky je PrimaryKeyItem nastaven na Entry, zde speciálně na textový sloupce Index v tabulce TextItemSubClass, kde jsou ukládány hodnoty ve tvaru 1_2. Tento mechanizmus je již využíván u SQL tabulek NPCOption a Command MaNGOSu.
  • Upraveno: Při ukládání nastavení záložek exportu zobrazovat informační zprávu o uložení.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/import.php

    r475 r476  
    3131    $Where = ' (`'.$this->Group['PrimaryKeyItem'].'` = "'.$Value[$this->Group['PrimaryKeyItem']].'")';
    3232    //print_r($Value);
    33  
     33   
    3434    $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');
    3535    //echo('SELECT `VersionEnd`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND (`Language`=0) ORDER BY `VersionStart` DESC LIMIT 1');
     
    233233      {
    234234        foreach($this->Group['Items'] as $GroupItem)
     235        if(array_key_exists($GroupItem['Id'], $ColumnIndexes))
    235236        {
    236237          $Value[$GroupItem['Column']] = addslashes($DBCFile->GetString($I, $ColumnIndexes[$GroupItem['Id']]));
    237238        }
    238         $Value['Entry'] = $DBCFile->GetUint($I, 0); 
     239       
     240        // Get multicolumn value
     241        $Columns = explode(',', $this->Group['DBCIndex']);
     242        $ColumnValue = '';
     243        foreach($Columns as $Column)
     244          $ColumnValue .= '_'.$DBCFile->GetUint($I, $Column);
     245        $ColumnValue = substr($ColumnValue, 1);         
     246        $Value[$this->Group['PrimaryKeyItem']] = $ColumnValue;         
    239247        $this->InsertItem($Value);
    240248        $Count++;
Note: See TracChangeset for help on using the changeset viewer.