source: trunk/export/index.php@ 304

Last change on this file since 304 was 304, checked in by george, 16 years ago
  • Opraveno: Řazení dle sloupce Pořadí u tabulky výběru překladatelů pro Export.
File size: 26.0 KB
Line 
1<?php
2
3include_once('../includes/global.php');
4include_once('export_output.php');
5
6function ExportList()
7{
8 global $Database;
9
10 echo('<a href="?Action=ViewList">Všechny</a>');
11 if(Licence(LICENCE_USER))
12 {
13 echo(' <a href="?Action=ViewList&amp;Filter=Others">Ostatních</a>');
14 echo(' <a href="?Action=ViewList&amp;Filter=My">Moje</a>');
15 }
16
17 $Filter = '';
18 if(array_key_exists('Filter', $_GET))
19 {
20 if($_GET['Filter'] == 'My') $Filter = ' WHERE `Export`.`User` = '.$_SESSION['UserID'];
21 if($_GET['Filter'] == 'Others') $Filter = ' WHERE `Export`.`User` != '.$_SESSION['UserID'];
22 }
23
24 $DbResult = $Database->SQLCommand('SELECT COUNT(*) FROM `Export` '.$Filter);
25 $DbRow = mysql_fetch_row($DbResult);
26 $PageList = GetPageList($DbRow[0]);
27
28 echo('<h3>Seznam exportů</h3>');
29 echo($PageList['Output']);
30
31 $TableColumns = array(
32 array('Name' => 'TimeCreate', 'Title' => 'Čas vytvoření'),
33 array('Name' => 'UserName', 'Title' => 'Překladatel'),
34 array('Name' => 'Title', 'Title' => 'Označení'),
35 array('Name' => 'UsedCount', 'Title' => 'Prohlédnutí výstupu'),
36 array('Name' => 'UserCount', 'Title' => 'Vybraných překladatelů'),
37 array('Name' => 'GroupCount', 'Title' => 'Překladových skupin'),
38 array('Name' => '', 'Title' => 'Akce'),
39 );
40 $Order = GetOrderTableHeader($TableColumns, 'TimeCreate', 1);
41 echo('<table class="BaseTable">');
42 echo($Order['Output']);
43
44 $DbResult = $Database->SQLCommand('SELECT `user`.`user` AS `UserName`, `Export`.*, (SELECT COUNT(*) FROM ExportGroup WHERE ExportGroup.Export=Export.Id) AS GroupCount, (SELECT COUNT(*) FROM ExportUser WHERE ExportUser.Export=Export.Id) AS UserCount FROM `Export` LEFT JOIN `user` ON `user`.`ID`=`Export`.`User` '.$Filter.$Order['SQL'].$PageList['SQLLimit']);
45 while($Export = mysql_fetch_assoc($DbResult))
46 {
47 $Action = '<a href="?Action=View&amp;ExportId='.$Export['Id'].'">Zobrazit</a>';
48 if($Export['User'] == $_SESSION['UserID']) $Action .= ' <a href="?Action=Delete&amp;ExportId='.$Export['Id'].'" onclick="return confirmAction(\'Opravdu smazat položku?\');">Smazat</a>';
49 echo('<tr><td>'.HumanDate($Export['TimeCreate']).'</td><td>'.$Export['UserName'].'</td><td>'.$Export['Title'].'</td><td>'.$Export['UsedCount'].'</td><td>'.$Export['UserCount'].'</td><td>'.$Export['GroupCount'].'</td><td>'.$Action.'</td></tr>');
50 }
51 echo('</table>');
52 echo($PageList['Output']);
53
54 if(Licence(LICENCE_USER)) echo('<br/><div style="text-align: center;"><a href="?Action=Create">Vytvořit nový export</a></div>');
55}
56
57function ExportCreate()
58{
59 global $Database, $Config;
60
61 if(Licence(LICENCE_USER))
62 {
63 $DbResult = $Database->SQLCommand('SELECT COUNT(*) FROM Export WHERE User='.$_SESSION['UserID']);
64 $DbRow = mysql_fetch_row($DbResult);
65 if($DbRow[0] < $Config['MaxExportPerUser'])
66 {
67 echo('<form action="?Action=CreateFinish" method="post">'.
68 '<fieldset><legend>Vytvoření nového exportu</legend>'.
69 '<table><tr><td>Označení:</td><td><input type="text" name="Title" /></td></tr>'.
70 '<tr><td>Popis:</td><td><textarea name="Description" cols="54" rows="10"></textarea></td></tr>'.
71 '<tr><td colspan="2"><input type="submit" value="Vytvořit" /></td></tr>'.
72 '</table></fieldset></form>');
73 } else echo('Nemůžete vytvářet další export. Max. počet na uživatele je '.$Config['MaxExportPerUser'].'.');
74 } else echo('Nemáte oprávnění');
75}
76
77function ExportCreateFinish()
78{
79 global $Database, $Config;
80
81 if(Licence(LICENCE_USER))
82 {
83 if(array_key_exists('Title', $_POST) and array_key_exists('Description', $_POST))
84 {
85 $DbResult = $Database->SQLCommand('SELECT COUNT(*) FROM `Export` WHERE `User`='.$_SESSION['UserID']);
86 $DbRow = mysql_fetch_row($DbResult);
87 if($DbRow[0] < $Config['MaxExportPerUser'])
88 {
89 $Database->SQLCommand('INSERT INTO `Export` (`Title`, `User`, `TimeCreate`, `WithDiacritic`, `Description`) VALUES ("'.$_POST['Title'].'", '.$_SESSION['UserID'].', NOW(), 1, "'.$_POST['Description'].'")');
90 $ExportId = mysql_insert_id();
91 echo('Nový export vytvořen.<br/>Přímý odkaz na tento export: <a href="?Action=View&amp;ExportId='.$ExportId.'">zde</a><br/><br/>');
92 WriteLog('Vytvořen nový export <a href="'.$Config['Web']['BaseURL'].'export/?Action=View&amp;ExportId='.$ExportId.'">'.$ExportId.'</a>.', 12);
93 $_GET['Filter'] = 'my';
94 ExportList();
95 } else echo('Nemůžete vytvářet další export. Max. počet na uživatele je '.$Config['MaxExportPerUser'].'.');
96 } else echo('Chybí údaje formuláře');
97 } else echo('Nemáte oprávnění');
98}
99
100function ExportDelete()
101{
102 global $Database;
103
104 if(Licence(LICENCE_USER))
105 {
106 if(array_key_exists('ExportId', $_GET))
107 {
108 $DbResult = $Database->SQLCommand('SELECT * FROM Export WHERE Id='.$_GET['ExportId'].' AND User='.$_SESSION['UserID']);
109 if(mysql_num_rows($DbResult) > 0)
110 {
111 $Database->SQLCommand('DELETE FROM Export WHERE Id='.$_GET['ExportId']);
112 DeleteDirectory('../tmp/Export/'.$_GET['ExportId'].'/');
113 echo('Export smazán.<br/><br/>');
114 $_GET['Filter'] = 'my';
115 WriteLog('Smazán export '.$_GET['ExportId'], 12);
116 ExportList();
117 } else echo('Export '.$_GET['ExportId'].' nelze smazat.<br/>');
118 } else echo('Nebylo zadáno Id');
119 } else echo('Nemáte oprávnění');
120}
121
122function ExportViewTranslators()
123{
124 global $Database, $TranslationTree, $Config;
125
126 $DisabledInput = array(false => ' disabled="disabled"', true => '');
127 if(array_key_exists('ExportId', $_GET))
128 {
129 $DbRows = $Database->SQLCommand('SELECT * FROM Export WHERE Id='.$_GET['ExportId']);
130 if(mysql_num_rows($DbRows) > 0)
131 {
132 $Export = mysql_fetch_assoc($DbRows);
133 if(Licence(LICENCE_USER) and ($_SESSION['UserID'] == $Export['User'])) $Editable = true;
134 else $Editable = false;
135
136
137 if(array_key_exists('Operation', $_GET))
138 {
139 if($_GET['Operation'] == 'Save')
140 {
141 //print_r($_POST);
142 // Update user selection page
143 foreach($_POST as $Index => $Value)
144 {
145 if(substr($Index, 0, 3) == 'seq')
146 {
147 $UserId = substr($Index, 3) * 1;
148 if(array_key_exists('sel'.$UserId, $_POST)) $Selected = true;
149 else $Selected = false;
150 $Condition = ' WHERE Export='.$_GET['ExportId'].' AND User='.$UserId;
151 $DbResult = $Database->SQLCommand('SELECT * FROM ExportUser '.$Condition);
152 if(mysql_num_rows($DbResult) > 0)
153 {
154 if(!$Selected) $Database->SQLCommand('DELETE FROM ExportUser '.$Condition);
155 else $Database->SQLCommand('UPDATE ExportUser SET Sequence='.$Value.$Condition);
156 } else
157 {
158 if($Selected) $Database->SQLCommand('INSERT INTO ExportUser (Export, User, Sequence) VALUES ('.$_GET['ExportId'].', '.$UserId.', '.$Value.')');
159 }
160 }
161 }
162
163 // Recalculate sequence number
164 $Database->SQLCommand('SET @I = 0');
165 $Database->SQLCommand('UPDATE ExportUser SET Sequence = (@I := @I + 1) WHERE Export='.$_GET['ExportId'].' ORDER BY Sequence;');
166 }
167 }
168
169 $TableColumns = array(
170 array('Name' => 'user', 'Title' => 'Jméno'),
171 array('Name' => 'TranslatedCount', 'Title' => 'Překladů'),
172 array('Name' => 'XP', 'Title' => 'Úroveň'),
173 array('Name' => '', 'Title' => 'Výběr'),
174 array('Name' => 'Sequence2', 'Title' => 'Pořadí'),
175 );
176 $Order = GetOrderTableHeader($TableColumns, 'TranslatedCount', 1);
177 if($Order['Column'] != 'Sequence2') $InitialOrder = ', '.substr($Order['SQL'], 10);
178 else $InitialOrder = '';
179
180 $Columns = '';
181 $Joins = '';
182 foreach($TranslationTree as $Group)
183 if($Group['TablePrefix'] != '')
184 {
185 $Columns .= 'COALESCE(T'.$Group['Id'].'.Count, 0) + ';
186 $Joins .= ' LEFT JOIN (SELECT User, COUNT(User) as Count FROM `'.$Group['TablePrefix'].'` WHERE (Complete = 1) AND (Language <> 0) GROUP BY User) as T'.$Group['Id'].' ON user.ID=T'.$Group['Id'].'.User';
187 }
188 $Query = 'SELECT (@I := @I + 1) AS Sequence2, TT.* FROM (SELECT ExportUser.Sequence, T.ID, T.TranslatedCount, T.user, T.XP FROM (SELECT user.ID, user.user, user.XP, ('.substr($Columns, 0, -3).') as TranslatedCount FROM `user`'.$Joins.') AS T';
189 $Query .=' LEFT JOIN ExportUser ON ExportUser.Export = '.$_GET['ExportId'].' AND ExportUser.User=T.ID';
190 $Query .=' WHERE T.TranslatedCount > 0 ORDER BY COALESCE(ExportUser.Sequence, 100000000)'.$InitialOrder.') AS TT';
191
192 $DbResult = $Database->SQLCommand('SELECT COUNT(*) FROM ('.$Query.') AS X');
193 $DbRow = mysql_fetch_row($DbResult);
194 $PageList = GetPageList($DbRow[0]);
195
196 echo('<form action="?Action=View&amp;ExportId='.$_GET['ExportId'].'&amp;Operation=Save" method="post">');
197 echo('<h3>Překladatelé</h3>');
198 echo('<input type="submit" value="Uložit" '.$DisabledInput[$Editable].'/><br />'.
199 'Zvolte ze seznamu uživatele, od kterých chcete načítat překlady a upravte jejich pořadí.<br />'.
200 'Pořadí řádků je dáno číselnou hodnotou, kterou lze změnit na požadované pořadí. Řádky se stejným pořadovým číslem budou přečíslovány vzestupně.');
201
202 echo($PageList['Output']);
203 echo('<table class="BaseTable">');
204 echo($Order['Output']);
205
206 $Query = 'SELECT * FROM ('.$Query.') AS TX '.$Order['SQL'].$PageList['SQLLimit'];
207 $Database->SQLCommand('SET @I = 0');
208 $DbResult = $Database->SQLCommand($Query);
209 while($User = mysql_fetch_assoc($DbResult))
210 {
211 $Checked = $User['Sequence'] != '';
212 $Selection = CheckBox('sel'.$User['ID'], $Checked, '', 'CheckBox', !$Editable);
213 $Sequence = '<input type="text" name="seq'.$User['ID'].'" style="text-align: center; width: 40px;" value="'.$User['Sequence2'].'"'.$DisabledInput[$Editable].'/>';
214 echo('<tr>
215 <td><a href="'.$Config['Web']['BaseURL'].'/TranslationList.php?user='.$User['ID'].'&amp;action=userall" title="Zobrazit všechny jeho přeložené texty">'.$User['user'].'</a></td>
216 <td>'.$User['TranslatedCount'].'</td>
217 <td><img src="'.$Config['Web']['TempFolder'].'/user/'.$User['user'].'/level.png" alt="Úroveň uživatele" /></td>
218 <td>'.$Selection.'</td><td>'.$Sequence.'</td></tr>');
219 }
220 echo('</table>');
221 echo('</form>');
222 echo($PageList['Output']);
223 } else echo('Položka nenalezena');
224 } else echo('Nebylo zadáno Id');
225}
226
227function ExportViewGeneral()
228{
229 global $Database;
230
231 $DisabledInput = array(false => ' disabled="disabled"', true => '');
232 $DisabledTextArea = array(false => ' readonly="yes"', true => '');
233 echo('<h3>Obecná nastavení</h3>');
234 if(array_key_exists('ExportId', $_GET))
235 {
236 $DbRows = $Database->SQLCommand('SELECT * FROM `Export` WHERE `Id`='.$_GET['ExportId']);
237 if(mysql_num_rows($DbRows) > 0)
238 {
239 $Export = mysql_fetch_assoc($DbRows);
240 if(Licence(LICENCE_USER) and ($_SESSION['UserID'] == $Export['User'])) $Editable = true;
241 else $Editable = false;
242 if($Editable and array_key_exists('Title', $_POST) and array_key_exists('Description', $_POST))
243 {
244 if(array_key_exists('WithDiacritic', $_POST)) $WithDiacritic = 1;
245 else $WithDiacritic = 0;
246 $Database->SQLCommand('UPDATE `Export` SET `Title`="'.$_POST['Title'].'", `Description`="'.$_POST['Description'].'", `WithDiacritic`='.$WithDiacritic.' WHERE Id='.$Export['Id']);
247 $Export['Title'] = $_POST['Title'];
248 $Export['Description'] = $_POST['Description'];
249 $Export['WithDiacritic'] = $WithDiacritic;
250 }
251
252 if($Export['WithDiacritic'] == 1) $WithDiacritic = ' checked="checked"'; else $WithDiacritic = '';
253 echo('<form action="?Action=View&amp;Tab=0&amp;ExportId='.$Export['Id'].'" method="post">'.
254 '<table>'.
255 '<tr><td colspan="2"><input type="submit" value="Uložit" '.$DisabledInput[$Editable].'/></td></tr>'.
256'<tr><td>Označení:</td><td><input type="text" style="width: 400px" name="Title" value="'.$Export['Title'].'"'.$DisabledInput[$Editable].'/></td></tr>'.
257 '<tr><td>Popis:</td><td><textarea name="Description" cols="54" rows="10"'.$DisabledTextArea[$Editable].'>'.$Export['Description'].'</textarea></td></tr>'.
258 '<tr><td>Včetně háčků a čárek</td><td><input type="checkbox" name="WithDiacritic" '.$WithDiacritic.''.$DisabledInput[$Editable].'/></td></tr>'.
259 '</table></fieldset></form>');
260 } else echo('Položka nenalezena');
261 } else echo('Nebylo zadáno Id');
262}
263
264function ExportViewLanguages()
265{
266 global $Database, $TranslationTree, $Config;
267
268 $DisabledInput = array(false => ' disabled="disabled"', true => '');
269 if(array_key_exists('ExportId', $_GET))
270 {
271 $DbRows = $Database->SQLCommand('SELECT * FROM Export WHERE Id='.$_GET['ExportId']);
272 if(mysql_num_rows($DbRows) > 0)
273 {
274 $Export = mysql_fetch_assoc($DbRows);
275 if(Licence(LICENCE_USER) and ($_SESSION['UserID'] == $Export['User'])) $Editable = true;
276 else $Editable = false;
277
278 if(array_key_exists('Operation', $_GET))
279 {
280 if($_GET['Operation'] == 'Save')
281 {
282 //print_r($_POST);
283 // Update user selection page
284 foreach($_POST as $Index => $Value)
285 {
286 if(substr($Index, 0, 3) == 'seq')
287 {
288 $LanguageId = substr($Index, 3) * 1;
289 if(array_key_exists('sel'.$LanguageId, $_POST)) $Selected = true;
290 else $Selected = false;
291 $Condition = ' WHERE Export='.$_GET['ExportId'].' AND Language='.$LanguageId;
292 $DbResult = $Database->SQLCommand('SELECT * FROM ExportLanguage '.$Condition);
293 if(mysql_num_rows($DbResult) > 0)
294 {
295 if(!$Selected) $Database->SQLCommand('DELETE FROM ExportLanguage '.$Condition);
296 else $Database->SQLCommand('UPDATE ExportLanguage SET Sequence='.$Value.$Condition);
297 } else
298 {
299 if($Selected) $Database->SQLCommand('INSERT INTO ExportLanguage (Export, Language, Sequence) VALUES ('.$_GET['ExportId'].', '.$LanguageId.', '.$Value.')');
300 }
301 }
302 }
303
304 // Recalculate sequence number
305 $Database->SQLCommand('SET @I = 0');
306 $Database->SQLCommand('UPDATE ExportLanguage SET Sequence = (@I := @I + 1) WHERE Export='.$_GET['ExportId'].' ORDER BY Sequence;');
307 }
308 }
309
310 $Query = 'SELECT (@I := @I + 1) AS Sequence2, Sequence, language.Id, Name FROM language';
311 $Query .=' LEFT JOIN ExportLanguage ON ExportLanguage.Export = '.$_GET['ExportId'].' AND ExportLanguage.Language=language.Id';
312 $Query .=' WHERE language.Enabled = 1 ORDER BY COALESCE(Sequence, 100)';
313
314 $DbResult = $Database->SQLCommand('SELECT COUNT(*) FROM ('.$Query.') AS X');
315 $DbRow = mysql_fetch_row($DbResult);
316 $PageList = GetPageList($DbRow[0]);
317
318 $TableColumns = array(
319 array('Name' => 'Name', 'Title' => 'Název'),
320 array('Name' => '', 'Title' => 'Výběr'),
321 array('Name' => 'Sequence2', 'Title' => 'Pořadí'),
322 );
323 $Order = GetOrderTableHeader($TableColumns, 'Sequence2');
324 echo('<form action="?Action=View&amp;ExportId='.$_GET['ExportId'].'&amp;Operation=Save" method="post">');
325 echo('<h3>Jazyky</h3>');
326 echo('<input type="submit" value="Uložit" '.$DisabledInput[$Editable].'/><br />'.
327 'Zvolte ze seznamu dostupných jazyků, ze kterých chcete sestavit překlady a upravte jejich pořadí.<br />'.
328 'Pořadí řádků je dáno číselnou hodnotou, kterou lze změnit na požadované pořadí. Řádky se stejným pořadovým číslem budou přečíslovány vzestupně.');
329
330 echo($PageList['Output']);
331 echo('<table class="BaseTable">');
332 echo($Order['Output']);
333
334 $Query = 'SELECT * FROM ('.$Query.') AS TX '.$Order['SQL'].$PageList['SQLLimit'];
335 $Database->SQLCommand('SET @I = 0');
336 $DbResult = $Database->SQLCommand($Query);
337 while($Langugage = mysql_fetch_assoc($DbResult))
338 {
339 $Checked = $Langugage['Sequence'] != '';
340 $Selection = CheckBox('sel'.$Langugage['Id'], $Checked, '', 'CheckBox', !$Editable);
341 $Sequence = '<input type="text" name="seq'.$Langugage['Id'].'" style="text-align: center; width: 40px;" value="'.$Langugage['Sequence2'].'"'.$DisabledInput[$Editable].'/>';
342 echo('<tr>
343 <td>'.$Langugage['Name'].'</a></td>
344 <td>'.$Selection.'</td><td>'.$Sequence.'</td></tr>');
345 }
346 echo('</table>');
347 echo('</form>');
348 echo($PageList['Output']);
349 } else echo('Položka nenalezena');
350 } else echo('Nebylo zadáno Id');
351}
352
353function ExportViewGroups()
354{
355 global $Database, $TranslationTree, $Config;
356
357 $DisabledInput = array(false => ' disabled="disabled"', true => '');
358 if(array_key_exists('ExportId', $_GET))
359 {
360 $DbRows = $Database->SQLCommand('SELECT * FROM Export WHERE Id='.$_GET['ExportId']);
361 if(mysql_num_rows($DbRows) > 0)
362 {
363 $Export = mysql_fetch_assoc($DbRows);
364 if(Licence(LICENCE_USER) and ($_SESSION['UserID'] == $Export['User'])) $Editable = true;
365 else $Editable = false;
366
367 if(array_key_exists('Operation', $_GET))
368 {
369 if($_GET['Operation'] == 'Save')
370 {
371 //print_r($_POST);
372 // Update user selection page
373 foreach($_POST as $Index => $Value)
374 {
375 if(substr($Index, 0, 3) == 'seq')
376 {
377 $GroupId = substr($Index, 3) * 1;
378 if(array_key_exists('sel'.$GroupId, $_POST)) $Selected = true;
379 else $Selected = false;
380 $Condition = ' WHERE `Export`='.$_GET['ExportId'].' AND `Group`='.$GroupId;
381 $DbResult = $Database->SQLCommand('SELECT * FROM `ExportGroup` '.$Condition);
382 if(mysql_num_rows($DbResult) > 0)
383 {
384 if(!$Selected) $Database->SQLCommand('DELETE FROM `ExportGroup` '.$Condition);
385 } else
386 {
387 if($Selected) $Database->SQLCommand('INSERT INTO `ExportGroup` (`Export`, `Group`) VALUES ('.$_GET['ExportId'].', '.$GroupId.')');
388 }
389 }
390 }
391 }
392 }
393
394 $Query = 'SELECT `group`.*, `ExportGroup`.`Id` AS `ExportGroupId` FROM `group` LEFT JOIN `ExportGroup` ON `ExportGroup`.`Export`='.$_GET['ExportId'].' AND `Group`=`group`.`Id`';
395
396 $DbResult = $Database->SQLCommand('SELECT COUNT(*) FROM ('.$Query.') AS X');
397 $DbRow = mysql_fetch_row($DbResult);
398 $PageList = GetPageList($DbRow[0]);
399
400 $TableColumns = array(
401 array('Name' => 'Name', 'Title' => 'Jméno'),
402 array('Name' => 'MangosTable', 'Title' => 'Tabulka MaNGOSu'),
403 array('Name' => 'DBCFileName', 'Title' => 'DBC soubor'),
404 array('Name' => 'LuaFileName', 'Title' => 'Lua soubor'),
405 array('Name' => '', 'Title' => 'Výběr'),
406 );
407 $Order = GetOrderTableHeader($TableColumns, 'Name');
408 echo('<form action="?Action=View&amp;ExportId='.$_GET['ExportId'].'&amp;Operation=Save" method="post">');
409 echo('<h3>Překladové skupiny</h3>');
410 echo('<input type="submit" value="Uložit" '.$DisabledInput[$Editable].'/><br />'.
411 'Zvolte ze překladových skupin, ze kterých chcete načítat překlady.<br />');
412
413 echo($PageList['Output']);
414 echo('<table class="BaseTable">');
415 echo($Order['Output']);
416
417 $Query = 'SELECT * FROM ('.$Query.') AS TX '.$Order['SQL'].$PageList['SQLLimit'];
418 $DbResult = $Database->SQLCommand($Query);
419 while($Group = mysql_fetch_assoc($DbResult))
420 {
421 $Checked = $Group['ExportGroupId'] != '';
422 $Selection = CheckBox('sel'.$Group['Id'], $Checked, '', 'CheckBox', !$Editable);
423 echo('<tr>'.
424 '<td>'.$Group['Name'].'</td>'.
425 '<td>'.$Group['MangosTable'].'</td>'.
426 '<td>'.$Group['DBCFileName'].'</td>'.
427 '<td>'.$Group['LuaFileName'].'</td>'.
428 '<td>'.$Selection.'<input type="hidden" name="seq'.$Group['Id'].'"/></td></tr>');
429 }
430 echo('</table>');
431 echo('</form>');
432 echo($PageList['Output']);
433 } else echo('Položka nenalezena');
434 } else echo('Nebylo zadáno Id');
435}
436
437function ExportViewOutputFormat()
438{
439 global $Database;
440
441 $DisabledInput = array(false => ' disabled="disabled"', true => '');
442 if(array_key_exists('ExportId', $_GET))
443 {
444 $DbRows = $Database->SQLCommand('SELECT * FROM Export WHERE Id='.$_GET['ExportId']);
445 if(mysql_num_rows($DbRows) > 0)
446 {
447 $Export = mysql_fetch_assoc($DbRows);
448 if(Licence(LICENCE_USER) and ($_SESSION['UserID'] == $Export['User'])) $Editable = true;
449 else $Editable = false;
450
451 if(array_key_exists('OutputType', $_POST))
452 {
453 $Database->SQLCommand('UPDATE Export SET OutputType='.$_POST['OutputType'].' WHERE Id='.$_GET['ExportId']);
454 }
455
456 $DbResult = $Database->SQLCommand('SELECT * FROM Export WHERE Id='.$_GET['ExportId']);
457 $Export = mysql_fetch_assoc($DbResult);
458
459 echo('<h3>Formát generovaného výstupu</h3>');
460 echo('<form action="?Action=View&amp;ExportId='.$_GET['ExportId'].'&amp;Operation=Save" method="post">');
461 echo('<input type="submit" value="Uložit" '.$DisabledInput[$Editable].'/><br/>');
462 $DbResult = $Database->SQLCommand('SELECT * FROM ExportOutputType ORDER BY Name');
463 while($ExportFormat = mysql_fetch_assoc($DbResult))
464 {
465 echo(RadioButton('OutputType', $ExportFormat['Id'], $Export['OutputType'] == $ExportFormat['Id'], '', !$Editable).' '.$ExportFormat['Name'].'<br/>');
466 }
467 echo('</form>');
468 } else echo('Položka nenalezena');
469 } else echo('Nebylo zadáno Id');
470}
471
472function ExportViewVersion()
473{
474 global $Database, $Config;
475
476 $DisabledInput = array(false => ' disabled="disabled"', true => '');
477 if(array_key_exists('ExportId', $_GET))
478 {
479 $DbRows = $Database->SQLCommand('SELECT * FROM Export WHERE Id='.$_GET['ExportId']);
480 if(mysql_num_rows($DbRows) > 0)
481 {
482 $Export = mysql_fetch_assoc($DbRows);
483 if(Licence(LICENCE_USER) and ($_SESSION['UserID'] == $Export['User'])) $Editable = true;
484 else $Editable = false;
485
486 if(array_key_exists('ClientVersion', $_POST))
487 {
488 $Database->SQLCommand('UPDATE Export SET ClientVersion='.$_POST['ClientVersion'].' WHERE Id='.$_GET['ExportId']);
489 }
490
491 $DbResult = $Database->SQLCommand('SELECT * FROM Export WHERE Id='.$_GET['ExportId']);
492 $Export = mysql_fetch_assoc($DbResult);
493
494 $Query = 'SELECT wow_client_version.* FROM ExportVersion LEFT JOIN wow_client_version ON wow_client_version.Id=ExportVersion.ClientVersion WHERE ExportType='.$Export['OutputType'];
495
496 $DbResult = $Database->SQLCommand('SELECT COUNT(*) FROM ('.$Query.') AS X');
497 $DbRow = mysql_fetch_row($DbResult);
498 $PageList = GetPageList($DbRow[0]);
499
500 $TableColumns = array(
501 array('Name' => 'Version', 'Title' => 'Verze'),
502 array('Name' => 'BuildNumber', 'Title' => 'Sestavení'),
503 array('Name' => 'ReleaseDate', 'Title' => 'Datum uvolnění'),
504 array('Name' => 'Title', 'Title' => 'Titutek'),
505 array('Name' => '', 'Title' => 'Výběr'),
506 );
507 $Order = GetOrderTableHeader($TableColumns, 'BuildNumber', 1);
508 echo('<form action="?Action=View&amp;ExportId='.$_GET['ExportId'].'" method="post">');
509 echo('<h3>Verze klienta</h3>');
510
511 echo('<input type="submit" value="Uložit" '.$DisabledInput[$Editable].'/><br />
512 Vyberte pro jakou verzi herního klienta se budou texty exportovat.<br />');
513 echo($PageList['Output']);
514 echo('<table class="BaseTable">');
515 echo($Order['Output']);
516
517 $Query = 'SELECT * FROM ('.$Query.') AS TX '.$Order['SQL'].$PageList['SQLLimit'];
518 $DbResult = $Database->SQLCommand($Query);
519 while($Version = mysql_fetch_assoc($DbResult))
520 {
521 echo('<tr><td><a href="http://www.wowwiki.com/Patch_'.$Version['Version'].'">'.$Version['Version'].'</a></td><td>'.$Version['BuildNumber'].'</td><td>'.HumanDate($Version['ReleaseDate']).'</td><td>'.$Version['Title'].'</td><td>'.RadioButton('ClientVersion', $Version['Id'], $Export['ClientVersion'] == $Version['Id'], '', !$Editable
522 ).'</td></tr>');
523
524 }
525 echo('</table>');
526 echo('</form>');
527 echo($PageList['Output']);
528 } else echo('Položka nenalezena');
529 } else echo('Nebylo zadáno Id');
530}
531
532function ExportViewOutput()
533{
534 global $Database;
535
536 $DbResult = $Database->SQLCommand('SELECT * FROM Export WHERE Id='.$_GET['ExportId']);
537 $Export = mysql_fetch_assoc($DbResult);
538 $DbResult = $Database->SQLCommand('SELECT * FROM ExportOutputType WHERE Id='.$Export['OutputType']);
539 if(mysql_num_rows($DbResult) > 0)
540 {
541 $DbResult = $Database->SQLCommand('SELECT * FROM ExportVersion WHERE ExportType='.$Export[ 'OutputType'].' AND ClientVersion='.$Export['ClientVersion']);
542 if(mysql_num_rows($DbResult) > 0)
543 {
544 $Database->SQLCommand('UPDATE Export SET UsedCount = UsedCount + 1 WHERE Id='.$Export['Id']);
545 ExportOutput($Export['Id'], $Export['OutputType']);
546 } else echo('Nebyla vybrána požadovaná verze klienta');
547 } else echo('Nebyl vybrán formát výstupu.');
548}
549
550function ExportView()
551{
552 global $Database;
553
554 $DbResult = $Database->SQLCommand('SELECT * FROM Export WHERE Id='.$_GET['ExportId']);
555 $Export = mysql_fetch_assoc($DbResult);
556 $DbResult = $Database->SQLCommand('SELECT * FROM user WHERE ID='.$Export['User']);
557 $User = mysql_fetch_assoc($DbResult);
558 echo('Export <strong><a href="?Action=View&amp;Tab=6&amp;ExportId='.$Export['Id'].'">'.$_GET['ExportId'].'</a></strong> překladatele <strong>'.$User['user'].'</strong> s označením <strong>'.$Export['Title'].'</strong>');
559 ShowTabs(array('Obecné', 'Překladatelé', 'Překlady', 'Jazyky', 'Formát', 'Verze', 'Výstup'));
560 echo('<div id="content">');
561 if($_SESSION['Tab'] == 0) ExportViewGeneral();
562 else if($_SESSION['Tab'] == 1) ExportViewTranslators();
563 else if($_SESSION['Tab'] == 2) ExportViewGroups();
564 else if($_SESSION['Tab'] == 3) ExportViewLanguages();
565 else if($_SESSION['Tab'] == 4) ExportViewOutputFormat();
566 else if($_SESSION['Tab'] == 5) ExportViewVersion();
567 else if($_SESSION['Tab'] == 6) ExportViewOutput();
568
569 echo('</div>');
570}
571
572ShowPage();
573
574if(array_key_exists('Action', $_GET))
575{
576 if($_GET['Action'] == 'Create') ExportCreate();
577 else if($_GET['Action'] == 'CreateFinish') ExportCreateFinish();
578 else if($_GET['Action'] == 'View') ExportView();
579 else if($_GET['Action'] == 'Delete') ExportDelete();
580 else ExportList();
581} else ExportList();
582
583ShowFooter();
584
585?>
Note: See TracBrowser for help on using the repository browser.