Changeset 658


Ignore:
Timestamp:
Dec 19, 2013, 11:23:12 PM (11 years ago)
Author:
maron
Message:
  • Fixed: Export dbc text only, if varible ($s1,$t1..) is keep
  • Added: Filter translation where varibles are bad translated
Location:
trunk
Files:
4 edited

Legend:

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

    r646 r658  
    278278  "</document>";
    279279    return($Buffer);
    280   }     
     280  }   
     281 
     282  function HaveVarible($String1, $String2)
     283  {
     284          //Export only if translate have same varible %
     285            if (strpos($String1,'$')) {
     286              while (strpos($String1,'$')) {
     287                $String1 = substr($String1,strpos($String1,'$'));
     288                $varible = $String1;
     289                if (strpos($varible,' ')) $varible = substr($varible,0,strpos($varible,' '));
     290                if (strpos($varible,'.')) $varible = substr($varible,0,strpos($varible,'.'));
     291                if (strpos($varible,'%')) $varible = substr($varible,0,strpos($varible,'%'));
     292                if (strpos($varible,chr(10))) $varible = substr($varible,0,strpos($varible,chr(10)));
     293                if (false == strpos($String2,$varible)) {
     294
     295                 return(false);
     296                }
     297              }
     298            }
     299          return (true);
     300  } 
    281301
    282302  function ExportToDBC()
     
    309329        $LookupTable = array();
    310330        $DbResult2 = $this->Database->query($this->BuildQuery($Group));
    311         while($DbRow = $DbResult2->fetch_assoc())
    312           $LookupTable[$DbRow[$Group['PrimaryKeyItem']]] = $DbRow;
     331        while($DbRow = $DbResult2->fetch_assoc()) {
     332          //Export only if translate have same varible %
     333          $CanExport = true;
     334          foreach($TranslationTree[$Group['Id']]['Items'] as $Column)  {
     335            $DbRow[$Column['Column']] = str_replace ( '$ ','$',$DbRow[$Column['Column']]);
     336            if (!$this->HaveVarible($DbRow['En'.$Column['Column']],$DbRow[$Column['Column']])) {
     337              $CanExport = false;
     338            } 
     339            if (!$this->HaveVarible($DbRow[$Column['Column']],$DbRow['En'.$Column['Column']])) {
     340              $CanExport = false;
     341            } 
     342          }
     343
     344          if ($CanExport)
     345            $LookupTable[$DbRow[$Group['PrimaryKeyItem']]] = $DbRow;
     346          else echo 'NE='.$DbRow[$Column['ID']].',';
     347        }
    313348     
    314349        // Open original DBC file
     
    348383            $LookupTableItem = $LookupTable[$PrimaryKeyItem];         
    349384            foreach($TranslationTree[$Group['Id']]['Items'] as $GroupItem)
    350             {
     385            { 
    351386              if(array_key_exists($GroupItem['Id'], $ColumnIndexes))
    352387                $Line[$ColumnIndexes[$GroupItem['Id']]] = $LookupTableItem[$GroupItem['Column']];
  • trunk/Modules/Export/cmdmpqexport.php

    r657 r658  
    3636  }
    3737}
    38 
     38if(!array_key_exists('ExportId', $_GET) and !array_key_exists('dbc', $_GET) and !array_key_exists('lua', $_GET) and !array_key_exists('addon', $_GET)) {
     39  $Output .= 'Usage type_export=id_export -for export<br />';
     40  $Output .= 'Usage ExportId=id_export - for write export info<br />';
     41 
     42  $Output .= 'type_export={lua,dbc,addon} <br />';
     43  $Output = str_replace('<br />','
     44',$Output);
     45}
    3946                     //37
    4047if(array_key_exists('lua', $_GET)) {
  • trunk/Modules/Translation/TranslationList.php

    r656 r658  
    4141                else $Selected = '';
    4242                $Output .= '<option value="5"'.$Selected.'>Rozpracované-Nepřeložené</option>';
     43                if($Filter['State'] == 6) $Selected = ' selected="selected"';
     44                else $Selected = '';
     45                $Output .= '<option value="6"'.$Selected.'>S chybějícím $N,$S..</option>';
    4346                $Output .= '</select></td>';
    4447       
     
    171174                                        ' AND (`Sub`.`Entry` = `T`.`Entry`) AND (`Sub`.`Complete` = 1) AND '.
    172175                                        '(`Sub`.`VersionStart` = `T`.`VersionStart`) AND (`Sub`.`VersionEnd` = `T`.`VersionEnd`))';
     176                        else if($Filter['State'] == 6) {
     177                       
     178                        if($Filter['Group'] != 0)
     179                                foreach($TranslationTree[$Filter['Group']]['Items'] as $GroupItem)
     180                                if($GroupItem['Visible'] == 1) {
     181                                $Items[] = ''. 
     182                           '`T`.`'.$GroupItem['Column'].'` NOT LIKE "%$%" '.
     183                           ' AND EXISTS ('.
     184                                          'SELECT 1 FROM `'.$Table.'` AS `Sub` WHERE `Sub`.`'.$GroupItem['Column'].'` LIKE "%$%"'.
     185                                                                        ' AND `Sub`.`Entry` = `T`.`Entry` AND `Sub`.`Language` = '.$this->System->Config['OriginalLanguage'].' AND '.
     186                                                                        '`Sub`.`VersionStart` = `T`.`VersionStart` AND `Sub`.`VersionEnd` = `T`.`VersionEnd`'.
     187                                        ')'.
     188                        '';
     189                      }
     190        $Filter['SQL'] .= $UserFilter.$VersionFilter.' AND (`T`.`Complete` = 1) AND `T`.`Language` != '.$this->System->Config['OriginalLanguage'];
     191
     192        $Filter['SQL'] .= ' AND ('.implode(' OR ', $Items).') ';
     193
     194       
     195       
     196                    }
    173197                }
    174198       
  • trunk/includes/Version.php

    r657 r658  
    66// and system will need database update.
    77
    8 $Revision = 657; // Subversion revision
     8$Revision = 658; // Subversion revision
    99$DatabaseRevision = 646; // Database structure revision
    10 $ReleaseTime = '2013-12-16';
     10$ReleaseTime = '2013-12-19';
Note: See TracChangeset for help on using the changeset viewer.