Changeset 816 for trunk/admin/index.php
- Timestamp:
- Feb 22, 2015, 11:20:50 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/admin/index.php
r734 r816 10 10 { 11 11 global $System, $Config; 12 13 14 $Output = '<h3>Volby pro správu</h3>'; 15 12 13 14 $Output = '<h3>Volby pro správu</h3>'; 15 16 16 $Output .= '<br />'. 17 17 '<a href="https://'.$Config['Web']['Host'].'/phpmyadmin/">Správa databáze</a><br/>'. … … 22 22 '<small>Procházení všech systémových záznamů akcí a událostí</small><br/><br/>'. 23 23 '<a href="'.$System->Link('/admin/?action=img_level').'">Generování obrázků úrovní překladatelů</a><br/>'. 24 '<small>Ihned provede přegenerování všech obrázků úrovní překladatelů</small><br/><br/>'. 24 '<small>Ihned provede přegenerování všech obrázků úrovní překladatelů</small><br/><br/>'. 25 25 '<a href="'.$System->Link('/news/?a=add').'">Přidání aktuality</a><br/>'. 26 '<small>Přidá aktualitu na hlavní stranu projektu</small><br/><br/>'. 26 '<small>Přidá aktualitu na hlavní stranu projektu</small><br/><br/>'. 27 27 '<a href="'.$System->Link('/admin/?action=testing').'">Testování</a><br/>'. 28 '<small>Testovací funkce</small><br/><br/>'. 28 '<small>Testovací funkce</small><br/><br/>'. 29 29 '<a href="'.$System->Link('/admin/?action=locale').'">Exportovat překlad rozhraní</a><br/>'. 30 30 '<small>Exportovat texty z PHP souborů pro překlad rozhraní</small><br/><br/>'. 31 31 '<a href="'.$System->Link('/admin/?action=uncomplete').'">Nastavit nekompletní texty</a><br/>'. 32 '<small>Nastaví questy, které jsou v popisu nebo objektu stejné jako nedokončené</small><br/><br/>'. 32 '<small>Nastaví questy, které jsou v popisu nebo objektu stejné jako nedokončené</small><br/><br/>'. 33 33 '<a href="'.$System->Link('/admin/?action=repairversion').'">Opravit špatně nastavené VersionEnd</a><br/>'. 34 '<small>Nastaví špatné version end a Take na originální text, které vzniklo v důsledku importu a špatně indexovaného indexu Take</small><br/><br/>'. 34 '<small>Nastaví špatné version end a Take na originální text, které vzniklo v důsledku importu a špatně indexovaného indexu Take</small><br/><br/>'. 35 35 '<a href="'.$System->Link('/admin/?action=dbcstructure').'">Připravit dbc strukturu</a><br/>'. 36 '<small>Otevře dbc soubory převedené do textové formy pro přípravu struktury pro import</small><br/><br/>'. 36 '<small>Otevře dbc soubory převedené do textové formy pro přípravu struktury pro import</small><br/><br/>'. 37 37 '<a href="'.$System->Link('/admin/?action=merge').'">Sjednocení textů</a><br/>'. 38 '<small>Sjednotí stejné originální texty v databázi</small><br/><br/>'; 38 '<small>Sjednotí stejné originální texty v databázi</small><br/><br/>'; 39 39 return($Output); 40 40 } … … 53 53 { 54 54 global $System; 55 56 $DbResult = $System->Database->query($Query); 55 56 $DbResult = $System->Database->query($Query); 57 57 } 58 58 59 59 function ShowPHPInfo() 60 60 { 61 return(phpinfo()); 61 return(phpinfo()); 62 62 } 63 63 … … 65 65 { 66 66 global $System; 67 67 68 68 $this->Title = T('Testing'); 69 69 $Output = '<a href="'.$System->Link('/admin/?action=phpinfo').'">PHP info</a><br/>'. … … 81 81 { 82 82 global $System; 83 84 85 .'`TextQuest` AS `gs_tran` ' 86 .'JOIN `TextQuest` AS `gs_orig` ON `gs_orig`.`Entry` = `gs_tran`.`Entry` ' 83 84 $DbResult = $System->Database->query('SELECT `gs_tran`.`ID`,`gs_tran`.`Details`,`gs_tran`.`Objectives` FROM ' 85 .'`TextQuest` AS `gs_tran` ' 86 .'JOIN `TextQuest` AS `gs_orig` ON `gs_orig`.`Entry` = `gs_tran`.`Entry` ' 87 87 .'AND `gs_orig`.`Language` =0 ' 88 88 .'WHERE `gs_tran`.`Language` !=0 ' … … 92 92 .' OR ( `gs_tran`.`Details` != `gs_orig`.`Details` AND "" = `gs_tran`.`Details` )' 93 93 .' OR (`gs_tran`.`Objectives` = `gs_orig`.`Objectives` AND "" != `gs_orig`.`Objectives` ))' 94 ); 94 ); 95 95 $Output = 'Questy: <br />'; 96 97 98 $Output .= $quest['ID'].', '; 99 100 96 while($quest = $DbResult->fetch_assoc()) 97 { 98 $Output .= $quest['ID'].', '; 99 $System->Database->query('UPDATE `TextQuest` SET `complete` = 0 WHERE ID='.$quest['ID']); 100 } 101 101 $Output .= '<br / ><br / >Questy nastaveny jako nedokončené!'; 102 102 return($Output); 103 } 103 } 104 104 105 105 function RepairVersionEnd() … … 107 107 global $System,$TranslationTree; 108 108 $Output = ''; 109 foreach($TranslationTree as $Group) 109 foreach($TranslationTree as $Group) 110 110 // $Group = $TranslationTree[1]; 111 111 { 112 112 113 113 $sql = 'SELECT `T`.`ID`,`T`.`Take`,`sub1`.`ID` as `origID`,T.`VersionStart`,T.`VersionEnd`,`sub1`.`VersionStart` as OrigStart,sub1.`VersionEnd` as `OrigEnd` FROM `'.$Group['TablePrefix'] .'` as `T` '. 114 114 ' JOIN `'.$Group['TablePrefix'].'` as `sub1` ON `sub1`.`Language` = 0 AND `T`.`Entry` = `sub1`.`Entry` AND `T`.`VersionStart` = `sub1`.`VersionStart` '. 115 ' WHERE `T`.`Take` != `sub1`.`ID` AND `T`.`Language` != 0'. 116 // ' WHERE `T`.`Language` != 0 AND `T`.`VersionEnd` != `sub1`.`VersionEnd` AND `T`.`Take` NOT IN'. 115 ' WHERE `T`.`Take` != `sub1`.`ID` AND `T`.`Language` != 0'. 116 // ' WHERE `T`.`Language` != 0 AND `T`.`VersionEnd` != `sub1`.`VersionEnd` AND `T`.`Take` NOT IN'. 117 117 // '(Select `ID` FROM `'.$Group['TablePrefix'].'` as `sub2` WHERE `sub2`.`Language` = 0 AND `T`.`Entry` = `sub2`.`Entry` AND `T`.`VersionStart` = `sub2`.`VersionStart`)'. 118 ' '; //LIMIT 1000 118 ' '; //LIMIT 1000 119 119 //echo $sql; 120 120 $DbResult = $System->Database->query($sql); 121 121 echo ': <br />'.$Group['TablePrefix'].': <br />'; 122 123 124 echo ($line['ID'].', '); 125 126 122 while($line = $DbResult->fetch_assoc()) 123 { 124 echo ($line['ID'].', '); 125 $System->Database->query('UPDATE `'.$Group['TablePrefix'].'` SET `VersionEnd` = '.$line['OrigEnd'].', `Take` = '.$line['origID'].' WHERE ID='.$line['ID']); 126 } 127 127 echo '<br / >Verze '.$Group['TablePrefix'].' opraveny!'; 128 128 } 129 129 return('Hotovo!'); 130 } 130 } 131 131 132 132 function StripText($Text) { … … 134 134 $Text = str_replace(' ', '', $Text); 135 135 return ($Text); 136 } 136 } 137 137 138 138 function MergeSameText() … … 140 140 global $System,$TranslationTree; 141 141 $Output = ''; 142 foreach($TranslationTree as $Group) 142 foreach($TranslationTree as $Group) 143 143 // $Group = $TranslationTree[1]; 144 144 { 145 145 146 146 $sql = 'SELECT * FROM `'.$Group['TablePrefix'] .'` as `T` '. 147 147 // ' JOIN `'.$Group['TablePrefix'].'` as `sub1` ON `sub1`.`Language` = 0 AND `T`.`Entry` = `sub1`.`Entry` AND `T`.`VersionStart` < `sub1`.`VersionStart` '. 148 ' WHERE `T`.`Language` = 0 '. 149 ' ORDER BY `T`.`VersionStart`'; //LIMIT 1000 148 ' WHERE `T`.`Language` = 0 '. 149 ' ORDER BY `T`.`VersionStart`'; //LIMIT 1000 150 150 //echo $sql; 151 151 $DbResult = $System->Database->query($sql); 152 152 echo ': <br />'.$Group['TablePrefix'].': '; 153 154 153 while($line = $DbResult->fetch_assoc()) 154 { 155 155 $sql = 'SELECT * FROM `'.$Group['TablePrefix'] .'` as `T` '. 156 ' WHERE `T`.`Language` = 0 AND `T`.`VersionStart` > '.$line['VersionEnd'].' AND `T`.`Entry` = '.$line['Entry']. 157 ' ORDER BY `T`.`VersionStart` LIMIT 1'; //LIMIT 1000 156 ' WHERE `T`.`Language` = 0 AND `T`.`VersionStart` > '.$line['VersionEnd'].' AND `T`.`Entry` = '.$line['Entry']. 157 ' ORDER BY `T`.`VersionStart` LIMIT 1'; //LIMIT 1000 158 158 // echo $sql; 159 160 159 $DbResult2 = $System->Database->query($sql); 160 if($DbResult2->num_rows > 0) { 161 161 $line2 = $DbResult2->fetch_assoc(); 162 163 $Same = true; 162 163 $Same = true; 164 164 foreach($TranslationTree[$Group['Id']]['Items'] as $Column) { 165 if ($this->StripText($line[$Column['Column']]) <> $this->StripText($line2[$Column['Column']])) 165 if ($this->StripText($line[$Column['Column']]) <> $this->StripText($line2[$Column['Column']])) 166 166 $Same = false; 167 } 167 } 168 168 if ($Same) { 169 169 echo $line['ID'].'='.$line2['ID'].' ('; 170 //$System->Database->query('UPDATE `'.$Group['TablePrefix'].'` SET `Take` = NULL WHERE ID='.$line2['ID']);170 // $System->Database->query('UPDATE `'.$Group['TablePrefix'].'` SET `Take` = NULL WHERE ID='.$line2['ID']); 171 171 172 172 $sql = 'SELECT * FROM `'.$Group['TablePrefix'] .'` as `T` '. 173 ' WHERE `T`.`Entry` = '.$line['Entry'].' AND (`T`.`Take` = '.$line['ID'].' OR `T`.`Take` = '.$line2['ID'].') '; 174 175 173 ' WHERE `T`.`Entry` = '.$line['Entry'].' AND (`T`.`Take` = '.$line['ID'].' OR `T`.`Take` = '.$line2['ID'].') '; 174 $DbResult3 = $System->Database->query($sql); 175 while($line3 = $DbResult3->fetch_assoc()) { 176 176 echo $line3['ID'].' '; 177 177 $System->Database->query('UPDATE `'.$Group['TablePrefix'].'` SET `VersionEnd` = '.$line2['VersionEnd'].', `VersionStart` = '.$line['VersionStart'].', `Take` = '.$line['ID'].' WHERE ID='.$line3['ID']); 178 178 } 179 179 180 181 180 $System->Database->query('DELETE FROM`'.$Group['TablePrefix'].'` WHERE ID='.$line2['ID']); 181 $System->Database->query('UPDATE `'.$Group['TablePrefix'].'` SET `VersionEnd` = '.$line2['VersionEnd'].' WHERE ID='.$line['ID']); 182 182 echo '), '; 183 183 } 184 } 185 184 } 185 } 186 186 echo 'Texty '.$Group['TablePrefix'].' sjednoceny!'; 187 187 } 188 188 return('Hotovo!'); 189 } 189 } 190 190 191 191 function DbcStructure() { … … 193 193 $Output = ''; 194 194 if (array_key_exists('GameVersion', $_GET)) { 195 $_SESSION['GameVersion'] = $_GET['GameVersion']; 196 } 197 if (!array_key_exists('GameVersion', $_SESSION)) 198 $_SESSION['GameVersion'] = $System->Config['Web']['GameVersion']; 199 195 $_SESSION['GameVersion'] = $_GET['GameVersion']; 196 } 197 if (!array_key_exists('GameVersion', $_SESSION)) 198 $_SESSION['GameVersion'] = $System->Config['Web']['GameVersion']; 199 200 200 $Output .= '<br />Nastavená verze: '.$_SESSION['GameVersion'].'<br />'; 201 201 202 202 if (array_key_exists('GroupItem', $_GET)) { 203 203 $DbResult = $System->Database->query('SELECT * FROM `ClientVersion` WHERE `Version` = "'.$_SESSION['GameVersion'].'"'); 204 $Version = $DbResult->fetch_assoc(); 204 $Version = $DbResult->fetch_assoc(); 205 205 $System->Database->query('INSERT INTO `GroupItemDBC` (`Id` ,`ClientVersion` ,`GroupItem` ,`ColumnIndex`)VALUES (NULL , \''.$Version['Id'].'\', \''.$_GET['GroupItem'].'\', \''.$_GET['ColumnIndex'].'\')'); 206 206 $Output .= 'vloženo <br />'; 207 } 207 } 208 208 if (array_key_exists('id', $_GET)) { 209 209 $Group = $TranslationTree[$_GET['id']]; … … 214 214 // } 215 215 // $Output .= '<input type="submit" value="uložit"></form>'; 216 217 216 217 218 218 $File = new FileStream(); 219 219 220 220 $File->OpenFile(dirname(__FILE__).'/../source/'.$_SESSION['GameVersion'].'/dbc/'.$Group['DBCFileName'].'.dbc.csv'); 221 221 222 222 //while(!$File->EOF()) 223 223 224 224 $Output .= '<table class="BaseTable">'; 225 225 $Output .= '<tr><td>'; 226 226 $Line = $File->ReadLine(); 227 227 228 228 for ($i=0;$i<substr_count($Line,',');$i++) { 229 229 $Output .= $i; … … 236 236 $Output .= '</td><td>'; 237 237 } 238 238 239 239 $Output .= '</td></tr><tr><td>'; 240 240 … … 251 251 } else { 252 252 253 $DbResult = $System->Database->query('SELECT * FROM `ClientVersion`'); 254 while($Version = $DbResult->fetch_assoc()) 253 $DbResult = $System->Database->query('SELECT * FROM `ClientVersion`'); 254 while($Version = $DbResult->fetch_assoc()) 255 255 { 256 256 $Output .= '<a href="'.$System->Link('/admin/?action=dbcstructure&GameVersion='.$Version['Version']).'">'.$Version['Version'].'</a> '; 257 257 258 } 258 } 259 259 $Output .= '<br /><br />'; 260 260 261 foreach($TranslationTree as $Group) 261 foreach($TranslationTree as $Group) 262 262 { 263 263 if ($Group['DBCFileName'] <> '') 264 264 $Output .= '<a href="'.$System->Link('/admin/?action=dbcstructure&id='.$Group['Id']).'">'.$Group['DBCFileName'].'</a><br/>'; 265 265 266 } 267 } 268 269 270 return($Output); 271 } 266 } 267 } 268 269 270 return($Output); 271 } 272 272 273 273 function ShowLocale() 274 274 { 275 276 277 278 279 280 281 282 283 284 275 global $LocaleManager, $System; 276 277 $LocaleManager->UpdateAll(dirname(dirname(__FILE__))); 278 $Output = 'Překlad rozhraní přegenerován'; 279 $Output .= '<table class="BaseTable"><tr><th>Originál</th><th>Překlad</th></tr>'; 280 foreach($LocaleManager->CurrentLocale->Texts->Data as $Index => $Item) 281 $Output .= '<tr><td>'.$Index.'</td><td>'.$Item.'</td></tr>'; 282 $Output .= '</table>'; 283 $Output .= 'Překladové soubory zaktualizovány'; 284 return($Output); 285 285 } 286 286 287 287 function Show() 288 288 { 289 289 $this->Title = T('Administration'); 290 290 $Output = ''; 291 291 if($this->System->User->Licence(LICENCE_ADMIN)) … … 305 305 else if($_GET['action'] == 'merge') $Output .= $this->MergeSameText(); 306 306 else $Output .= $this->ShowMenu(); 307 } else $Output .= $this->ShowMenu(); 307 } else $Output .= $this->ShowMenu(); 308 308 } else $Output .= ShowMessage(T('Access denied'), MESSAGE_CRITICAL); 309 309 return($Output); 310 310 } 311 } 311 } 312 312 $Page = new PageAdmin($System); 313 313 ShowPageClass($Page);
Note:
See TracChangeset
for help on using the changeset viewer.