source: trunk/includes/global.php@ 75

Last change on this file since 75 was 75, checked in by maron, 16 years ago

Grafika webu upravující, vzhled: odkazů, inputů, textu, pozadí, celkový vzhled pomocí obrázků na pozadí, barvy

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