source: trunk/log.php@ 507

Last change on this file since 507 was 507, checked in by chronos, 12 years ago
  • Upraveno: Použita novější databázová třída Database, která běží přes PDO.
  • Přidáno: Pokud databáze nesouhlasí k verzi systému, je zobrazeno chybové hlášení.
  • Přidáno: Instalační skript admin/install.php, přes který je možno nainstalovat čistou databázi a provádět automatickou aktualizaci databáze.
  • Upraveno: Konkrétní rozdílové SQL aktualizace jsou nyní zapsány přímo v kódu v souboru UpdateTrace namísto textových SQL skriptů. To umožňuje provádět také dynamickou aktualizaci dle obsahu dat v tabulkách. Zde pro získání seznamu překladových tabulek.
  • Opraveno: Některé části kódu nepodporovaly nulový počet překladových skupin nebo jazyků.
  • Property svn:executable set to *
File size: 4.0 KB
Line 
1<?php
2
3include_once('includes/global.php');
4
5$Output = '';
6if(array_key_exists('rss', $_GET))
7{
8 $Items = array();
9 if(array_key_exists('type', $_GET)) $Where = ' WHERE `Type` = "'.($_GET['type'] * 1).'"';
10 else $Where = '';
11 $sql = 'SELECT *, UNIX_TIMESTAMP(`Date`) AS `TimeCreate`, (SELECT `User`.`Name` FROM `User` WHERE `User`.`ID` = `Log`.`User`) AS `UserName` FROM `Log`'.$Where.' ORDER BY `Date` DESC LIMIT 100';
12 $DbResult = $System->Database->query($sql);
13 while($Line = $DbResult->fetch_assoc())
14 {
15 $DbResult2 = $System->Database->query('SELECT * FROM `LogType` WHERE `Id`='.$Line['Type']);
16 $LogType = $DbResult2->fetch_assoc();
17
18 $Items[] = array
19 (
20 'Title' => strip_tags($LogType['Name'].': '.$Line['Text'].' ('.$Line['UserName'].', '.$Line['IP'].')'),
21 'Link' => 'http://'.$Config['Web']['Host'].$System->Link('/log.php'),
22 'Description' => $LogType['Name'].': '.$Line['Text'].' ('.$Line['UserName'].', '.$Line['IP'].')',
23 'Time' => $Line['TimeCreate'],
24 );
25 }
26
27 $Output .= GenerateRSS(array
28 (
29 'Title' => $Config['Web']['Title'],
30 'Link' => 'http://'.$Config['Web']['Host'].$System->Link('/'),
31 'Description' => $Config['Web']['Title'],
32 'WebmasterEmail' => $Config['Web']['AdminEmail'],
33 'Items' => $Items,
34 ));
35 echo($Output);
36} else
37{
38 if(array_key_exists('type', $_GET)) $_SESSION['type'] = $_GET['type'] * 1;
39 else if(!array_key_exists('type', $_SESSION)) $_SESSION['type'] = '';
40
41 if(array_key_exists('group', $_GET)) $_SESSION['group'] = $_GET['group'];
42
43 if($_SESSION['type'] != '') $WhereType = ' `Type`='.$_SESSION['type'];
44 else $WhereType = '1=1';
45
46 $RSSChannels = array(
47 array('Title' => 'Záznamy změn', 'Channel' => 'log&amp;type='.$_SESSION['type'])
48 );
49
50 if($User->Licence(LICENCE_MODERATOR))
51 {
52 $Output = '<strong>Filtr: </strong>'.
53 '<span style="color:black"><a href="log.php?type=" title="Bez filtrování">Všechny</a></span> ';
54 $DbResult = $System->Database->query('SELECT * FROM `LogType`');
55 while($LogType = $DbResult->fetch_assoc())
56 {
57 $Output .= '<a href="log.php?type='.$LogType['Id'].'" style="color:'.$LogType['Color'].'" title="'.$LogType['Name'].'">'.$LogType['Name'].'</a> ';
58 }
59 }
60 // echo ' Formát: datum: text zprávy (uživatel, IP)<br /><br />';
61 $Output .= '<br /><br />';
62
63 if(array_key_exists('type', $_SESSION)) $Where = ' WHERE '.$WhereType;
64 else
65 {
66 if(array_key_exists('group', $_SESSION)) $Where = ' WHERE `Text` LIKE "%'.$TranslationTree[$_SESSION['group']]['Name'].'%"';
67 else $Where = '';
68 }
69 //if(($Where != '') and (array_key_exists('group', $_SESSION))) $Where .= ' AND text LIKE "%'.$TranslationTree[$_SESSION['group']]['Name'].'%"';
70
71 $DbResult = $System->Database->query('SELECT COUNT(*) FROM `Log` '.$Where);
72 $DbRow = $DbResult->fetch_row();
73 $PageList = GetPageList($DbRow[0]);
74
75 $Output .= $PageList['Output'];
76
77 $TableColumns = array(
78 array('Name' => 'Date', 'Title' => 'Čas'),
79 array('Name' => 'Text', 'Title' => 'Text'),
80 array('Name' => 'UserName', 'Title' => 'Uživatel'),
81 array('Name' => 'IP', 'Title' => 'Adresa'),
82 );
83 $Order = GetOrderTableHeader($TableColumns, 'date', 1);
84 $Output .= '<table width="98%" class="BaseTable">'.
85 $Order['Output'];
86
87 $sql = 'SELECT *, `LogType`.`Color` AS `LogColor`, (SELECT `User`.`Name` FROM `User` WHERE `User`.`ID` = `Log`.`User`) AS `UserName` FROM `Log` LEFT JOIN `LogType` ON `LogType`.`Id`=`Log`.`Type` '.$Where.$Order['SQL'].$PageList['SQLLimit'];
88 //echo($sql);
89 $DbResult = $System->Database->query($sql);
90 while($Line = $DbResult->fetch_assoc())
91 {
92 //$Output .= '<tr><td>'.$Line['Date'].'</td><td><span style="color: '.$Line['LogColor'].'">'.$Line['Text'].'</span></td><td>'.$Line['UserName'].'</td><td>'.$Line['IP'].'</td></tr>';
93 }
94 $Output .= '</table>'.
95 $PageList['Output'];
96
97 ShowPage($Output);
98}
99
100?>
Note: See TracBrowser for help on using the repository browser.