source: trunk/index.php@ 427

Last change on this file since 427 was 427, checked in by george, 15 years ago
  • Upraveno: Automatický překlad nyní vytváří automaticky i částečné nedokončené překlady s přeloženými dílčími sloupci u překladů v dané skupině. Pro uchování informace o částečných překladech se využívá sloupce CompleteParts a v něm obsažené bitové masky.
  • Upraveno: Zobrazení několika nejnovějších překladů na hlavní stránce se nyní vyčítá přímo z tabulek překladů dle údaje ModifyTime.
File size: 6.5 KB
Line 
1<?php
2
3include_once('includes/global.php');
4
5function ShowNews()
6{
7 global $Database;
8
9 $Output = '<strong>Změny systému:</strong><div class="NewsBox">';
10 $DbResult = $Database->SQLCommand('SELECT `News`.`Time`, `User`.`Name`, `News`.`Text` FROM `News` JOIN `User` ON `User`.`ID` = `News`.`User` ORDER BY `Time` DESC LIMIT 10');
11 while($DbRow = mysql_fetch_assoc($DbResult))
12 $Output .= '<div><strong>'.$DbRow['Name'].' ('.date('d.m.Y', MysqlDateTimeToTime($DbRow['Time'])).')</strong> <br />'.$DbRow['Text'].'</div>';
13 $Output .= '<a href="action.php?action=news">Všechny zprávy</a>';
14 $Output .= '</div>';
15 return($Output);
16}
17
18function ShowLastTranslated()
19{
20 global $System;
21
22 $Count = 40;
23 $Output = '<strong>Poslední překlady:</strong><div class="NewsBox">';
24
25 $GroupListQuery = 'SELECT `Group`.* FROM `Group`';
26 $Query = '';
27 $UnionItems = array();
28 $DbResult = $System->Database->query($GroupListQuery);
29 while($DbRow = $DbResult->fetch_assoc())
30 {
31 //echo($DbRow['Name'].', ');
32 $UnionItems[] = 'SELECT `T`.`User`, `T`.`ID`, `T`.`ModifyTime`, '.$DbRow['Id'].' AS `Group`, "'.addslashes($DbRow['Name']).'" AS `GroupName`, `T`.`Take` FROM `'.$DbRow['TablePrefix'].'` AS `T`'.
33 ' WHERE (`T`.`Complete` = 1) AND (`T`.`Language` != 0) LIMIT '.$Count;
34 }
35 $Query = 'SELECT `TT`.*, `User`.`Name` AS `UserName` FROM ('.implode(' UNION ', $UnionItems).') AS `TT`'.
36 ' JOIN `User` ON `User`.`Id` = `TT`.`User`'.
37 ' ORDER BY `ModifyTime` DESC LIMIT '.$Count;
38 $DbResult = $System->Database->query($Query);
39 //echo($System->Database->error);
40 //echo($Query);
41 while($DbRow = $DbResult->fetch_assoc())
42 {
43 $Output .= '<strong>'.HumanDate($DbRow['ModifyTime']).' '.$DbRow['UserName'].'</strong> přeložil text <a href="form.php?group='.$DbRow['Group'].'&amp;ID='.$DbRow['ID'].'">'.$DbRow['ID'].'</a> převzatý z textu <a href="form.php?group='.$DbRow['Group'].'&amp;ID='.$DbRow['Take'].'">'.$DbRow['Take'].'</a> ve skupině <a href="TanslationList.php?group='.$DbRow['Group'].'&amp;action=filter">'.$DbRow['GroupName'].'</a><br />';
44 }
45 return($Output);
46}
47
48function ShowRSSChannel()
49{
50 global $Database, $Config, $System;
51
52 $Items = array();
53 if($_GET['rss'] == 'news')
54 {
55 $DbResult = $Database->SQLCommand('SELECT UNIX_TIMESTAMP(`News`.`Time`) AS `UnixTime`, `News`.`Time`, `User`.`Name`, `News`.`Text` FROM `News` JOIN `User` ON `User`.`ID` = `News`.`User` ORDER BY `Time` DESC LIMIT 10');
56 while($DbRow = mysql_fetch_assoc($DbResult))
57 {
58 $Items[] = array
59 (
60 'Title' => $DbRow['Name'].'('.date('d.m.Y', MysqlDateTimeToTime($DbRow['Time'])).')',
61 'Link' => 'http://'.$Config['Web']['Host'].$System->Link('/'),
62 'Description' => $DbRow['Text'],
63 'Time' => $DbRow['UnixTime'],
64 );
65 }
66 echo(GenerateRSS(array
67 (
68 'Title' => 'WoW překlad - Změny systému',
69 'Link' => 'http://'.$Config['Web']['Host'].$System->Link('/'),
70 'Description' => 'Překlad textů WoW',
71 'WebmasterEmail' => $Config['Web']['AdminEmail'],
72 'Items' => $Items,
73 )));
74 } else
75 if($_GET['rss'] == 'translation')
76 {
77 $DbResult = $Database->SQLCommand('SELECT UNIX_TIMESTAMP(`Date`) AS `Date`, `User`.`Name` AS `UserName`, `Text` FROM `Log` JOIN `User` ON `User`.`ID` = `Log`.`User` WHERE `Type` = 1 ORDER BY `Date` DESC LIMIT 100');
78 while($DbRow = mysql_fetch_assoc($DbResult))
79 {
80 $Items[] = array
81 (
82 'Title' => strip_tags($DbRow['Text'].' ('.$DbRow['UserName'].')'),
83 'Link' => 'http://'.$Config['Web']['Host'].$System->Link('/'),
84 'Description' => $DbRow['Text'],
85 'Time' => $DbRow['Date'],
86 );
87 }
88 echo(GenerateRSS(array
89 (
90 'Title' => 'WoW překlad - Poslední překlady',
91 'Link' => 'http://'.$Config['Web']['Host'].$System->Link('/'),
92 'Description' => 'Překlad textů WoW',
93 'WebmasterEmail' => $Config['Web']['AdminEmail'],
94 'Items' => $Items,
95 )));
96 } else
97 if($_GET['rss'] == 'shoutbox')
98 {
99 $TitleLength = 50;
100 mb_internal_encoding('utf-8');
101 $DbResult = $Database->SQLCommand('SELECT UNIX_TIMESTAMP(`Date`) AS `UnixDate`, `User`, `Text` FROM `ShoutBox` ORDER BY `ID` DESC LIMIT 20');
102 while($DbRow = mysql_fetch_assoc($DbResult))
103 {
104 $Title = mb_substr($DbRow['Text'], 0, $TitleLength);
105 if(mb_strlen($Title) == $TitleLength) $Title .= '...';
106 $Items[] = array
107 (
108 'Title' => $DbRow['User'].': '.$Title,
109 'Link' => 'http://'.$Config['Web']['Host'].$System->Link('/'),
110 'Description' => $DbRow['Text'],
111 'Time' => $DbRow['UnixDate'],
112 );
113 }
114 echo(GenerateRSS(array
115 (
116 'Title' => 'WoW překlad - Shoutbox',
117 'Link' => 'http://'.$Config['Web']['Host'].$System->Link('/'),
118 'Description' => 'Překlad textů WoW',
119 'WebmasterEmail' => $Config['Web']['AdminEmail'],
120 'Items' => $Items,
121 )));
122 }
123}
124
125if(array_key_exists('rss', $_GET))
126{
127 ShowRSSChannel();
128} else
129{
130 $RSSChannels = array(
131 array('Title' => 'Změny systému', 'URL' => '?rss=news'),
132 array('Title' => 'Poslední překlady', 'URL' => '?rss=translation'),
133 array('Title' => 'Shoutbox', 'URL' => '?rss=shoutbox'),
134 );
135 ShowPage();
136
137 echo('<br />'.
138 '<table class="Home"><tr><td colspan="2">'.
139 'Nacházíte se na stránce projektu překládání textů ze hry World of Warcraft (WoW).<br />'.
140 '<ul>'.
141 '<li>Projekt je provozován jako otevřený vyznává principy volnosti a otevřenosti. Proto jsou texty volně ke stažení.</li>'.
142 '<li>Projekt slouží k týmovému překladu. Kdokoliv může přispět přeložením textů a uveřejněním odkazu popř. banneru na svých stránkách.</li>'.
143 '<li>Projekt není zaměřen pouze na jeden server a umožňuje společné překládání lidem z různých serverů. Překladatelé mohou překládat v týmech podle jména svého serveru a exportovat texty pouze od vybraných překladatelů.</li>'.
144 '<li>Přeložené texty lze volně stahovat v různých tvarech jako XML, SQL, Addon a Lua. Přeložené texty lze tedy snadno importovat do svého free serveru nebo použít v jiných projektech.</li>'.
145 '<li>Cílem projektu je přeložit všechny texty ze hry. Nikoliv pouze texty výprav (questů).</li>'.
146 '<li>Texty lze překládat do dvou jazyků, češtiny a slovenštiny.</li>'.
147 '</ul></td></tr><tr><td>'.ShowLastTranslated().'</td><td class="news-box">'.ShowNews().'</td></tr></table>');
148
149
150 ShowFooter();
151}
152
153?>
Note: See TracBrowser for help on using the repository browser.