Changeset 681 for trunk/Modules/Import


Ignore:
Timestamp:
Jan 1, 2014, 2:40:05 PM (11 years ago)
Author:
maron
Message:
  • Added: Setting for generation in cmd
  • Fixed: import old Version
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Modules/Import/Import.php

    r680 r681  
    4646  function InsertItem($Value)
    4747  {   
    48  
     48    $insert = true;
    4949    $Columns = '';
    5050    //$Values = '';
     
    5959    //print_r($Value);
    6060   
    61     $DbResultBefore = $this->System->Database->query('SELECT `VersionEnd`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND `VersionEnd` >'. $this->Version['BuildNumber'].' ORDER BY `VersionEnd` DESC LIMIT 1');
    62     $DbResultAfter  = $this->System->Database->query('SELECT `VersionEnd`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND `VersionStart` <'. $this->Version['BuildNumber'].' ORDER BY `VersionStart` LIMIT 1');
     61    $DbResultMiddle = $this->System->Database->query('SELECT `VersionEnd`,`VersionStart`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND `VersionStart` <= '.$this->Version['BuildNumber'].' AND `VersionEnd` >= '.$this->Version['BuildNumber'].' ORDER BY `VersionEnd` DESC LIMIT 1');
     62    $DbResultBefore = $this->System->Database->query('SELECT `VersionEnd`,`VersionStart`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND `VersionEnd` <= '.$this->Version['BuildNumber'].' ORDER BY `VersionEnd` DESC LIMIT 1');
     63    $DbResultAfter  = $this->System->Database->query('SELECT `VersionEnd`,`VersionStart`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND `VersionStart` >= '.$this->Version['BuildNumber'].' ORDER BY `VersionStart` LIMIT 1');
    6364    //echo('SELECT `VersionEnd`, `ID`, `Entry`, '.$Columns.' FROM `'.$this->Group['TablePrefix'].'` WHERE '.$Where.' AND (`Language`=0) ORDER BY `VersionStart` DESC LIMIT 1');
    64     if(($DbResultBefore->num_rows > 0) or ($DbResultAfter->num_rows > 0))
     65    if(($DbResultMiddle->num_rows > 0) or ($DbResultBefore->num_rows > 0) or ($DbResultAfter->num_rows > 0))
    6566    {
    6667      // Update existed text
     68      $DbRowMiddle = $DbResultMiddle->fetch_assoc();
    6769      $DbRowAfter = $DbResultAfter->fetch_assoc();
    6870      $DbRowBefore = $DbResultBefore->fetch_assoc();
    69       if ($DbRowAfter['ID'] == $DbRowBefore['ID']) echo('` ');
    70       else
     71     
    7172      if($this->HaveSameText($this->Group, $DbRowBefore, $Value) and ($DbResultBefore->num_rows > 0) )
    7273      {
    73         if($DbRowBefore['VersionEnd'] <> $this->Version['BuildNumber'])
    74         {
     74        $insert = false;
     75          //echo ();
    7576          $this->System->Database->query('UPDATE `'.$this->Group['TablePrefix'].'` SET `VersionEnd` = "'.$this->Version['BuildNumber'].'" WHERE `ID`='.$DbRowBefore['ID']);
    76           echo(', ');
    77         } else echo('. ');
     77          echo('b ');
     78       
    7879      } else
    7980      if($this->HaveSameText($this->Group, $DbRowAfter, $Value) and ($DbResultAfter->num_rows > 0))
    8081      {
    81         if($DbRowAfter['VersionEnd'] <> $this->Version['BuildNumber'])
    82         {
     82        $insert = false;
    8383          $this->System->Database->query('UPDATE `'.$this->Group['TablePrefix'].'` SET `VersionStart` = "'.$this->Version['BuildNumber'].'" WHERE `ID`='.$DbRowAfter['ID']);
    84           echo(', ');
    85         } else echo('. ');
     84          echo('a ');
     85       
    8686      } else
    8787      {
    88         $inserted = false;
    89         if (isset($DbRowAfter['VersionStart']))
    90           if ($DbRowAfter['VersionStart'] == $this->Version['BuildNumber']) {
     88       
     89        if (isset($DbRowAfter['VersionStart'])) {
     90          if ($DbRowAfter['VersionStart'] <= $this->Version['BuildNumber']) {
    9191            echo('Allready imported '.$DbRowBefore['Entry'].' ');
    92             $inserted = true;
    93           }
    94  
    95         if (isset($DbRowBefore['VersionEnd']))
    96           if ($DbRowBefore['VersionEnd'] == $this->Version['BuildNumber']) {
     92            $insert = false;
     93          }
     94        }
     95        if (isset($DbRowBefore['VersionEnd'])) {
     96          if ($DbRowBefore['VersionEnd'] >= $this->Version['BuildNumber']) {
    9797            echo('Allready imported '.$DbRowBefore['Entry'].' ');
    98             $inserted = true;
    99           }
    100        
    101         if (!$inserted)
     98            $inserted = false;
     99          }
     100        }       
     101       
     102            //if [DEPRECATED] do not import
     103        foreach($this->Group['Items'] as $GroupItem) {
     104          if (false !== strpos($Value[$GroupItem['Column']],'[DEPRECATED'))   
     105            $insert = false;
     106        }   
     107
     108       
     109        if (isset($DbRowMiddle['Entry'])) $insert = false;
     110        if (isset($DbRowAfter['Entry'])) $Value['Entry'] = $DbRowAfter['Entry'];
     111        if (isset($DbRowBefore['Entry'])) $Value['Entry'] = $DbRowBefore['Entry'];
     112
     113        if ($insert)
    102114        {     
     115         
    103116          $Columns = '`Entry`, `Language`, `VersionStart`, `VersionEnd`';
    104117          $Values = $Value['Entry'].', 0, '.$this->Version['BuildNumber'].', '.$this->Version['BuildNumber'];
     
    109122          }
    110123          $this->System->Database->query('INSERT `'.$this->Group['TablePrefix'].'` ('.$Columns.') VALUES ('.$Values.')');
     124     
     125      echo '
     126      '.$Value['Entry'].' = '.$DbRowBefore['VersionStart'].'.'.$DbRowBefore['VersionEnd'].'< '.$this->Version['BuildNumber'].' <'.$DbRowAfter['VersionStart'].'.'.$DbRowAfter['VersionEnd'].'... '.$DbRowMiddle['VersionStart'].' '.$DbRowMiddle['VersionEnd'].'
     127      ';
     128     
     129      if (false !== strpos($Values,'[DEPRECATED'))   
     130      echo $Values;
     131     
    111132          echo('# ');
    112133          $InsertId = $this->System->Database->insert_id;
     
    153174
    154175        $Output .= '<br />'.$this->Group['Name'].'<br />';
    155         if($this->Group['LastVersion'] < $this->Version['BuildNumber'] + 1)
     176      //  if($this->Group['LastVersion'] < $this->Version['BuildNumber'] + 1)
    156177        {
    157178          $File = new FileStream();
     
    192213          $Output .= '<br />Celkem: '.$Count.'  Nových: '.$this->NewItemCount.'<br />';
    193214          $this->System->Database->query('UPDATE `Group` SET `LastVersion` = "'.$this->Version['BuildNumber'].'", `LastImport` = NOW() WHERE `Id`='.$this->Group['Id']);
    194         } else $Output .= ShowMessage('Již importován pro verzi '.$this->Version['Version'], MESSAGE_CRITICAL);
     215        }
     216        // else $Output .= ShowMessage('Již importován pro verzi '.$this->Version['Version'], MESSAGE_CRITICAL);
    195217      } else $Output .= ShowMessage('Není definováno jméno zdrojového souboru', MESSAGE_CRITICAL);
    196218    $Output .= ShowMessage('Dokončeno.');
     
    247269      $old = str_replace("Â", "", $old);
    248270      $old = str_replace("�", "", $old);
    249       $old = str_replace(" ", "", $old);
     271      $old = str_replace('-', '', $old);
     272      $old = str_replace(' ', '', $old);
    250273      $old = strtolower($old);
     274      $old = str_replace('$b', '', $old);
    251275 
    252276 
     
    266290      $new = str_replace("Â", "", $new);
    267291      $new = str_replace("�", "", $new);
    268       $new = str_replace(" ", "", $new);
     292      $new = str_replace('-', '', $new);
     293      $new = str_replace(' ', '', $new);
    269294      $new = strtolower($new);
     295      $new = str_replace('$b', '', $new);
    270296     
    271297      if(($old == 'null') or ($old == 'NULL')) $old = '';
    272298      if(($new == 'null') or ($new == 'NULL')) $new = '';
    273299 
    274       if(($old <> $new) and ($GroupItem['Column'] <> 'Comment'))
     300      if(($new <> '') and ($old <> $new) and ($GroupItem['Column'] <> 'Comment'))
    275301      {
    276302        //  echo $old.'X'.$new;
     
    278304      }
    279305    }
     306       
    280307    return($result);
    281308  }
Note: See TracChangeset for help on using the changeset viewer.