1 | <?php
|
---|
2 |
|
---|
3 | session_start();
|
---|
4 |
|
---|
5 | // SQL injection hack protection
|
---|
6 | foreach($_POST as $Index => $Item)
|
---|
7 | {
|
---|
8 | if(is_array($_POST[$Index]))
|
---|
9 | foreach($_POST[$Index] as $Index2 => $Item2) $_POST[$Index][$Index2] = addslashes($Item2);
|
---|
10 | else $_POST[$Index] = addslashes($_POST[$Index]);
|
---|
11 | }
|
---|
12 | foreach($_GET as $Index => $Item) $_GET[$Index] = addslashes($_GET[$Index]);
|
---|
13 |
|
---|
14 | include('config.php');
|
---|
15 | include('databaseconection.php');
|
---|
16 | include('global_function.php');
|
---|
17 |
|
---|
18 | $Database = new Database($Config['Database']['Host'], $Config['Database']['User'], $Config['Database']['Password']);
|
---|
19 | $Database->SQLCommand('SET NAMES '.$Config['Database']['Charset']);
|
---|
20 | $Database->SelectDatabase($Config['Database']['Database']);
|
---|
21 |
|
---|
22 | $TranslationTree = GetTranslationTree();
|
---|
23 |
|
---|
24 | function ShowShoutbox()
|
---|
25 | {
|
---|
26 | global $Database;
|
---|
27 |
|
---|
28 | echo('<strong>Shoutbox: </strong><a href="action.php?action=shoutbox">Vložit</a>
|
---|
29 | <div class="box">
|
---|
30 | <table>');
|
---|
31 | $ID = $Database->SQLCommand("SELECT * FROM shoutbox ORDER BY ID DESC LIMIT 10");
|
---|
32 | while($Line = mysql_fetch_assoc($ID))
|
---|
33 | echo('<tr><td><strong>'.$Line['user'].'</strong>: '.$Line['text'].'</td></tr>');
|
---|
34 | echo('</table></div>');
|
---|
35 | }
|
---|
36 |
|
---|
37 | function ShowLoginBox()
|
---|
38 | {
|
---|
39 | if(Licence(LICENCE_USER))
|
---|
40 | {
|
---|
41 | // echo 'Jste přihlášen jako: <b>'.$_SESSION['User'].'</b> <a href="index.php?Logout">Odhlásit</a>';
|
---|
42 | } else
|
---|
43 | {
|
---|
44 | echo('<strong>Přihlášení:</strong><br />
|
---|
45 | <form action="index.php" method="post">
|
---|
46 | <table>
|
---|
47 | <tr>
|
---|
48 | <td><input type="text" name="LoginUser" size="13" /></td>
|
---|
49 | </tr>
|
---|
50 | <tr>
|
---|
51 | <td><input type="password" name="LoginPass" size="13" /></td>
|
---|
52 | </tr>
|
---|
53 | <tr>
|
---|
54 | <th><input type="submit" value="Přihlásit" /></th>
|
---|
55 | </tr>
|
---|
56 | </table>
|
---|
57 | </form>');
|
---|
58 | }
|
---|
59 | }
|
---|
60 |
|
---|
61 | function ShowMainMenu()
|
---|
62 | {
|
---|
63 | global $TranslationTree;
|
---|
64 |
|
---|
65 | $Menu = array
|
---|
66 | (
|
---|
67 | 'index.php' => array(LICENCE_ANONYMOUS, 'Hlavní stránka', 'Domů'),
|
---|
68 | 'http://wow.zdechov.net/forum/viewforum.php?f=22' => array(LICENCE_ANONYMOUS, 'Diskuze na téma překládání', 'Fórum projektu'),
|
---|
69 | 'banners.php' => array(LICENCE_ANONYMOUS, 'Weby odkazující na tento projekt bennerem', 'Odkazují na nás'),
|
---|
70 | 'javascript:void(0)' => array(LICENCE_ANONYMOUS, 'Slovník wow výrazů', 'Slovníček', 'javascript:window.open(\'dictionary.php\', \'Slovník\', \'width=400, height=412\'); return false;'),
|
---|
71 | 'statistic.php' => array(LICENCE_ANONYMOUS, 'Stav dokončení překládů', 'Stav dokončení'),
|
---|
72 | 'userlist.php' => array(LICENCE_ANONYMOUS, 'Seznam registrovaných uživatelů', 'Seznam uživatelů'),
|
---|
73 | 'download.php' => array(LICENCE_ANONYMOUS, 'Zde si můžete stáhnout přeložené texty', 'Stahování'),
|
---|
74 | 'registrace.php' => array(LICENCE_ANONYMOUS, 'Registrace uživatele pro překládání', 'Registrace'),
|
---|
75 | 'Options.php' => array(LICENCE_USER, 'Nastavení uživatele', 'Nastavení'),
|
---|
76 | 'index.php?Logout' => array(LICENCE_USER, 'Odhlášení ze systému', 'Odhlásit'),
|
---|
77 | 'log.php' => array(LICENCE_MODERATOR, 'Log dění (Pouze moderátor)', 'Záznamy'),
|
---|
78 | 'fill_database.php' => array(LICENCE_ADMIN, 'Načtení questů do database (pouze admin)', 'Import textů z MaNGOSu'),
|
---|
79 | //'client_files/generate_SQL.php' => array(LICENCE_ADMIN, 'Generování clientských souborů (pouze admin)', 'Generování C.S.'),
|
---|
80 | 'https://wow.zdechov.net/mysql/' => array(LICENCE_ADMIN, 'phpMyAdmin(pouze admin)', 'Správa databáze'),
|
---|
81 | );
|
---|
82 | //echo('Jste přihlášen jako: <strong>'.$_SESSION['User'].'</strong>
|
---|
83 |
|
---|
84 |
|
---|
85 | echo('<table class="page"><tr><td class="menu"><strong>Hlavní menu:</strong><br />');
|
---|
86 | foreach($Menu as $MenuTarget => $MenuItem)
|
---|
87 | {
|
---|
88 | if(isset($MenuItem[3])) $OnClick = ' onclick="'.$MenuItem[3].'"'; else $OnClick = '';
|
---|
89 | if(Licence($MenuItem[0])) echo('<a title="'.$MenuItem[1].'" href="'.$MenuTarget.'"'.$OnClick.'>'.$MenuItem[2].'</a><br />');
|
---|
90 | }
|
---|
91 | echo('<br />');
|
---|
92 |
|
---|
93 | echo('<strong>Překladové skupiny:</strong><br />');
|
---|
94 | foreach($TranslationTree as $Group)
|
---|
95 | {
|
---|
96 | echo('<div id="menuitem-group'.$Group['Id'].'" onmousemove="show(\'group'.$Group['Id'].'\')" onmouseout="hide(\'group'.$Group['Id'].'\')">
|
---|
97 | <a href="TranslationList.php?group='.$Group['Id'].'&action=filter">'.$Group['Name'].'</a></div>
|
---|
98 | <div id="group'.$Group['Id'].'" class="hidden-menu-item" onmousemove="show(\'group'.$Group['Id'].'\')" onmouseout="hide(\'group'.$Group['Id'].'\')">');
|
---|
99 | echo(' <a title="Zde můžete začít překládat" href="TranslationList.php?group='.$Group['Id'].'&action=notran">Nepřeložené</a><br />
|
---|
100 | <a title="Přeložené texty, můžete zde hlasovat, nebo opravovat překlady" href="TranslationList.php?group='.$Group['Id'].'&action=Translate">Přeložené</a><br />');
|
---|
101 | if(Licence(LICENCE_USER))
|
---|
102 | {
|
---|
103 | echo(' <a title="Nedokončené překlady" href="TranslationList.php?group='.$Group['Id'].'&action=mydevelop">Rozepsané</a><br />
|
---|
104 | <a title="Všechny překlady, které jste přeložil" href="TranslationList.php?group='.$Group['Id'].'&action=my">Vlastní</a><br />
|
---|
105 | <a title="Překlad, které bych měl oznámkovat" href="TranslationList.php?group='.$Group['Id'].'&action=notvote">Neznámkované</a><br />');
|
---|
106 | }
|
---|
107 | if(Licence(LICENCE_ADMIN))
|
---|
108 | {
|
---|
109 | echo(' <a title="Nezkontrolované překlady" href="TranslationList.php?group='.$Group['Id'].'&action=nocheck">Nezkontrolované</a><br />');
|
---|
110 | echo(' <a title="Zkontrolované překlady" href="TranslationList.php?group='.$Group['Id'].'&action=check">Zkontrolované</a><br />');
|
---|
111 | }
|
---|
112 | echo(' <a title="Sestavit speciální filtr" href="TranslationList.php?group='.$Group['Id'].'&action=filter">Filtr</a><br />');
|
---|
113 | echo('</div>');
|
---|
114 | }
|
---|
115 | }
|
---|
116 |
|
---|
117 | function ShowOnlineUserList()
|
---|
118 | {
|
---|
119 | global $Database, $Moderators;
|
---|
120 |
|
---|
121 | echo('Online uživatelé:<br />');
|
---|
122 | $ID = $Database->SQLCommand("SELECT user, GM, ID FROM `user` WHERE LastLogin >= Now() - 300");
|
---|
123 | while ($Line = mysql_fetch_assoc($ID))
|
---|
124 | {
|
---|
125 | if(Licence(LICENCE_MODERATOR)) $Name = '<a href="user.php?user='.$Line['ID'].'">'.$Line['user'].'</a>';
|
---|
126 | else $Name = $Line['user'];
|
---|
127 | if($Line['GM'] <> 0) $TextGM = ' ('.$Moderators[$Line['GM']].')';
|
---|
128 | else $TextGM = '';
|
---|
129 | echo('<strong>'.$Name.'</strong>'.$TextGM.'<br />');
|
---|
130 | }
|
---|
131 | }
|
---|
132 |
|
---|
133 | function ShowPage()
|
---|
134 | {
|
---|
135 | global $Config, $Database;
|
---|
136 |
|
---|
137 | echo('<?xml version="1.0" encoding="'.$Config['Web']['Charset'].'"?>
|
---|
138 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
---|
139 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
---|
140 | <head>
|
---|
141 | <meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
---|
142 | <link rel="stylesheet" href="'.$Config['Web']['BaseURL'].'style.css" type="text/css" media="all" />
|
---|
143 | <script type="text/javascript" src="'.$Config['Web']['BaseURL'].'global.js"></script>
|
---|
144 | <link rel="SHORTCUT ICON" href="'.$Config['Web']['BaseURL'].'images/favicon.ico" />
|
---|
145 | <title>Projekt překládání textů WoW</title>
|
---|
146 | </head>
|
---|
147 | <body>');
|
---|
148 |
|
---|
149 | // přihlášení
|
---|
150 | if(array_key_exists('LoginUser', $_POST))
|
---|
151 | {
|
---|
152 | $_SESSION['User'] = $_POST['LoginUser'];
|
---|
153 | $_SESSION['Pass'] = $_POST['LoginPass'];
|
---|
154 |
|
---|
155 | $Line = mysql_fetch_array($Database->SQLCommand("SELECT * FROM user WHERE LOWER(user) = LOWER('".$_SESSION['User']."') AND pass = '".$_SESSION['Pass']."'"));
|
---|
156 | if(!$Line)
|
---|
157 | {
|
---|
158 | echo('<script> alert("Jméno nebo heslo bylo zadáno špatně!"); </script>');
|
---|
159 | $_SESSION['UserID'] = '';
|
---|
160 | $_SESSION['User'] = '';
|
---|
161 | $_SESSION['Pass'] = '';
|
---|
162 | } else
|
---|
163 | {
|
---|
164 | $_SESSION['UserID'] = $Line['ID'];
|
---|
165 | $_SESSION['User'] = $Line['user'];
|
---|
166 | WriteLog('Login: '.$_SESSION['User'], 3);
|
---|
167 | }
|
---|
168 | }
|
---|
169 |
|
---|
170 | //odhlášení
|
---|
171 | if(array_key_exists('Logout', $_GET))
|
---|
172 | {
|
---|
173 | WriteLog('Odhlášení', 3);
|
---|
174 | $_SESSION['User'] = '';
|
---|
175 | $_SESSION['Pass'] = '';
|
---|
176 | $_SESSION['UserID'] = '';
|
---|
177 | }
|
---|
178 |
|
---|
179 | //záznam o aktivitě
|
---|
180 | if(Licence(0)) $Database->SQLCommand("UPDATE user SET LastIP = '".$_SERVER['REMOTE_ADDR']."', LastLogin = now() WHERE ID = ".$_SESSION['UserID']);
|
---|
181 |
|
---|
182 | ShowMainMenu();
|
---|
183 |
|
---|
184 | echo('<br />');
|
---|
185 | ShowLoginBox();
|
---|
186 | echo('<br />');
|
---|
187 | ShowOnlineUserList();
|
---|
188 | echo('<br />');
|
---|
189 | ShowShoutBox();
|
---|
190 | echo('</td><td class="content">');
|
---|
191 | }
|
---|
192 |
|
---|
193 | ShowPage();
|
---|
194 |
|
---|
195 | function ShowFooter()
|
---|
196 | {
|
---|
197 | global $Database;
|
---|
198 |
|
---|
199 | echo('</td>
|
---|
200 | </tr>
|
---|
201 | <tr>
|
---|
202 | <td colspan="2" class="page-bottom">Autoři: maron (maron2@centrum.cz), chronos');
|
---|
203 | echo(' </td></tr>
|
---|
204 | </table>
|
---|
205 | </body>
|
---|
206 | </html>');
|
---|
207 | $Database->Disconnect();
|
---|
208 | }
|
---|
209 |
|
---|
210 | ?>
|
---|