Changeset 17
- Timestamp:
- Jul 27, 2016, 11:20:41 PM (8 years ago)
- Location:
- web
- Files:
-
- 21 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
web
-
Property svn:ignore
set to
config.php
.buildpath
.project
.settings
-
Property svn:ignore
set to
-
web/config.sample.php
r16 r17 3 3 $Options = array( 4 4 'DB_Host' => 'localhost', 5 'DB_Database' => ' www',6 'DB_User' => ' www',5 'DB_Database' => 'sunrisechat', 6 'DB_User' => 'sunrisechat', 7 7 'DB_Password' => '', 8 'RootPath' => 'http:// www.zdechov.net/sunrisechat/',8 'RootPath' => 'http://localhost/sunrisechat/', 9 9 'ShowErrors' => 0, 10 10 'Title' => 'Sunrisechat', … … 12 12 ); 13 13 14 $DB_Prefix = 'sunrisechat_'; 15 16 ?> 14 $DB_Prefix = ''; -
web/database.sql
r16 r17 4 4 `name` varchar(255) NOT NULL default '', 5 5 `hits` int(11) NOT NULL default '0', 6 `date` date NOT NULL default '0000-00-00',6 `date` date NOT NULL, 7 7 PRIMARY KEY (`id`) 8 8 ) ENGINE=InnoDB DEFAULT CHARSET=utf8; … … 12 12 CREATE TABLE IF NOT EXISTS `user_notes` ( 13 13 `id` int(11) NOT NULL auto_increment, 14 `time` datetime NOT NULL default '0000-00-00 00:00:00',14 `time` datetime NOT NULL, 15 15 `nick` varchar(32) NOT NULL default '', 16 16 `title` varchar(64) NOT NULL default '', -
web/index.php
r16 r17 1 1 <?php 2 include_once('db.php'); 3 include_once('stat.php'); 4 StatProcess(); 2 3 include_once('Packages/Common/Common.php'); 4 include_once('stat.php'); 5 include_once('config.php'); 6 7 $Database = new Database(); 8 $Database->Connect($Options['DB_Host'],$Options['DB_User'],$Options['DB_Password'], $Options['DB_Database']); 9 $Database->charset('utf8'); 10 11 StatProcess(); 5 12 6 13 function HumanDate($Date) … … 9 16 if($Date != '0000-00-00') return(($Parts[2]*1).'.'.($Parts[1]*1).'.'.$Parts[0]); 10 17 else return(' '); 11 } 12 13 ?> 14 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 18 } 19 20 $Output = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 15 21 <html> 16 22 <head> 17 23 <title>SunriseChat</title> 18 <meta http-equiv="Content-Type" content="text/html; charset= iso-8859-2">19 <meta name="keywords" content="sunrisechat, sunrise, chat, lan, komunikace, program, zdrojov é kody, source code, free, open source, zdarma, network, sí», zděchov">20 <meta name="description" content="Textov ý komunikační program pro lokální sítě">24 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 25 <meta name="keywords" content="sunrisechat, sunrise, chat, lan, komunikace, program, zdrojovĂ© kody, source code, free, open source, zdarma, network, sĂ», zdÄ›chov"> 26 <meta name="description" content="TextovĂ˝ komunikaÄŤnĂ program pro lokálnĂ sĂtÄ›"> 21 27 <link rel="StyleSheet" href="style.css" type="text/css" media="all"> 22 28 </head> … … 24 30 <table cellspacing="0" cellpadding="5"><tr><td colspan="4"> 25 31 <img align="left" src="images/SunriseChat%20Logo.png" alt="Logo aplikace"> 26 <h2>Textov ý komunikační program pro lokální sítě</h2>32 <h2>TextovĂ˝ komunikaÄŤnĂ program pro lokálnĂ sĂtÄ›</h2> 27 33 </td></tr><tr><td colspan="4"> 28 34 <hr> 29 35 <img align="right" src="images/SunriseChat-MainWindow.png" alt="Okno aplikace"> 30 36 <strong>Popis</strong><br> 31 <div>SunriseChat je program ur čený k textové komunikaci po lokální počítačové síti.32 Vznikl pro pot řeby komunitní sítě <a href="http://www.zdechov.net/">ZděchovNET</a> jako náhrada programu <a href="http://lanchat.republika.pl/">LANChat</a>.33 Program LANChat byl p řílią uzavřený a v mnoha ohledech omezený. Proto vznikl program SunriseChat, který předčí LANChat v mnoha ohledech a díky tomu, ľe je tvořen jako open source, s ním lze flexibilně reagovat na potřeby uľivatelů.</div>37 <div>SunriseChat je program urÄŤenĂ˝ k textovĂ© komunikaci po lokálnĂ poÄŤĂtaÄŤovĂ© sĂti. 38 Vznikl pro potĹ™eby komunitnĂ sĂtÄ› <a href="http://www.zdechov.net/">ZdÄ›chovNET</a> jako náhrada programu <a href="http://lanchat.republika.pl/">LANChat</a>. 39 Program LANChat byl pĹ™Ăliš uzavĹ™enĂ˝ a v mnoha ohledech omezenĂ˝. Proto vznikl program SunriseChat, kterĂ˝ pĹ™edÄŤĂ LANChat v mnoha ohledech a dĂky tomu, Ĺľe je tvoĹ™en jako open source, s nĂm lze flexibilnÄ› reagovat na potĹ™eby uĹľivatelĹŻ.</div> 34 40 <ul style="font-size: small;"> 35 <li>naprogramov áno v Delphi 2005</li>36 <li>dostupn é zdrojové kódy</li>37 <li>dopln ění plného jména uľivatele v textovém řádku klávesou vpravo ze seznamu uľivatelů</li>38 <li>mo ľnost měnit velikost okna od miniaturního aľ k maximalizovanému</li>39 <li>umo ľnit spuątění více instancí na jednom počítači</li>40 <li>vyu ľití průhlednosti a bublinkové nápovědy pod Windows 2000/XP</li>41 <li>konfigurovateln ývzhled</li>42 <li>mo ľnost naprogramovat si vlastnífrontend</li>43 <li>podpora m ístností</li>44 <li>zas ílání výzvy</li>41 <li>naprogramováno v Delphi 2005</li> 42 <li>dostupnĂ© zdrojovĂ© kĂłdy</li> 43 <li>doplnÄ›nĂ plnĂ©ho jmĂ©na uĹľivatele v textovĂ©m řádku klávesou vpravo ze seznamu uĹľivatelĹŻ</li> 44 <li>moĹľnost mÄ›nit velikost okna od miniaturnĂho aĹľ k maximalizovanĂ©mu</li> 45 <li>umoĹľnit spuÄ…tÄ›nĂ vĂce instancĂ na jednom poÄŤĂtaÄŤi</li> 46 <li>vyuĹľitĂ prĹŻhlednosti a bublinkovĂ© nápovÄ›dy pod Windows 2000/XP</li> 47 <li>konfigurovatelnĂ˝ vzhled</li> 48 <li>moĹľnost naprogramovat si vlastnĂ frontend</li> 49 <li>podpora mĂstnostĂ</li> 50 <li>zasĂlánĂ vĂ˝zvy</li> 45 51 <li>test odezvy (ping)</li> 46 <li>detailn í informace o připojených uľivatelých</li>47 <li>blokov ání uľivatelů</li>48 <li>stavy P řítomen, Nepřítomen, Neviditelný</li>49 <li>automatick é odcházení po určité době</li>50 <li>mo ľnost přiřazení akcí k systémovým a uřivatelským událostem</li>51 <li>testov ání aktivních prvků v síti</li>52 <li>jednoduch ý textový komunikační protokol</li>53 <li>p ředávač UDP paketů mezi podsítěmi pro Linux</li>54 <li>z áznam zpráv do databáze MySQL na Linuxovém serveru</li>55 <li>jednouch á verze aplikace pro internetový prohlíľeč</li>56 <li>podpora smajl íků a obrázků pomocí uľivatelských událostí</li>57 <li>zobrazov ání aktivních internetových odkazů</li>58 <li>mo ľnost spouątět program s vlastními pojmenovanými nastaveními</li>52 <li>detailnĂ informace o pĹ™ipojenĂ˝ch uĹľivatelĂ˝ch</li> 53 <li>blokovánĂ uĹľivatelĹŻ</li> 54 <li>stavy PĹ™Ătomen, NepĹ™Ătomen, NeviditelnĂ˝</li> 55 <li>automatickĂ© odcházenĂ po urÄŤitĂ© dobÄ›</li> 56 <li>moĹľnost pĹ™iĹ™azenĂ akcĂ k systĂ©movĂ˝m a uĹľivatelskĂ˝m událostem</li> 57 <li>testovánĂ aktivnĂch prvkĹŻ v sĂti</li> 58 <li>jednoduchĂ˝ textovĂ˝ komunikaÄŤnĂ protokol</li> 59 <li>pĹ™edávaÄŤ UDP paketĹŻ mezi podsĂtÄ›mi pro Linux</li> 60 <li>záznam zpráv do databáze MySQL na LinuxovĂ©m serveru</li> 61 <li>jednouchá verze aplikace pro internetovĂ˝ prohlĂĹľeÄŤ</li> 62 <li>podpora smajlĂkĹŻ a obrázkĹŻ pomocĂ uĹľivatelskĂ˝ch událostĂ</li> 63 <li>zobrazovánĂ aktivnĂch internetovĂ˝ch odkazĹŻ</li> 64 <li>moĹľnost spouštÄ›t program s vlastnĂmi pojmenovanĂ˝mi nastavenĂmi</li> 59 65 </ul> 60 66 <hr> 61 67 </td></tr> 62 68 <tr class="Downloads"><td valign="top"> 63 <strong>Posledn íverze 2.9:</strong><br>69 <strong>PoslednĂ verze 2.9:</strong><br> 64 70 <a href="InstalaceSunriseChat-2.9.exe">[ Windows binary ]</a><br> 65 71 <a href="SunriseChat-2.9-source.zip">[ Delphi source ]</a><br> … … 69 75 <a href="WebSunriseChat-source.zip">[ C+PHP source ]</a><br> 70 76 </td><td valign="top"> 71 <strong>Dal ąíscreenshoty:</strong><br>72 <a href="images/SunriseChat-Nastaveni-Ruzne.png">[ Okno Nastaven í - Různé]</a><br>73 <a href="images/SunriseChat-Nastaveni-Vzhled.png">[ Okno Nastaven í- Vzhled ]</a><br>74 <a href="images/SunriseChat-Nastaveni-Systemove_udalosti.png">[ Okno Nastaven í - Systémové události ]</a><br>75 <a href="images/SunriseChat-Nastaveni-Uzivatelske_udalosti.png">[ Okno Nastaven í - Uľivatelské události ]</a><br>77 <strong>DalÄ…Ă screenshoty:</strong><br> 78 <a href="images/SunriseChat-Nastaveni-Ruzne.png">[ Okno NastavenĂ - RĹŻznĂ© ]</a><br> 79 <a href="images/SunriseChat-Nastaveni-Vzhled.png">[ Okno NastavenĂ - Vzhled ]</a><br> 80 <a href="images/SunriseChat-Nastaveni-Systemove_udalosti.png">[ Okno NastavenĂ - SystĂ©movĂ© události ]</a><br> 81 <a href="images/SunriseChat-Nastaveni-Uzivatelske_udalosti.png">[ Okno NastavenĂ - UĹľivatelskĂ© události ]</a><br> 76 82 <a href="images/Screenshot6.png">[ Okno Informace ]</a><br> 77 83 </td><td valign="top"> 78 <strong>Pou ľité součásti:</strong><br>79 <a href="fndSck327.zip">[ Sockets 3.27 source ]</a> <a href="http://fundementals.sourceforge.net/">Domovsk á stránka</a><br>80 <a href="nsis20.exe">[ NSIS 2.0 Installer ]</a> <a href="http://nsis.sourceforge.net/">Domovsk á stránka</a><br>81 <a href="CoolTrayIcon.zip">[ CoolTrayIcon source ]</a> <a href="http://subsimple.com/delphi.asp">Domovsk á stránka</a><br>84 <strong>PouĹľitĂ© součásti:</strong><br> 85 <a href="fndSck327.zip">[ Sockets 3.27 source ]</a> <a href="http://fundementals.sourceforge.net/">Domovská stránka</a><br> 86 <a href="nsis20.exe">[ NSIS 2.0 Installer ]</a> <a href="http://nsis.sourceforge.net/">Domovská stránka</a><br> 87 <a href="CoolTrayIcon.zip">[ CoolTrayIcon source ]</a> <a href="http://subsimple.com/delphi.asp">Domovská stránka</a><br> 82 88 <a href="GIFImage-modified.zip">[ GIFImage modified source ]</a> <a href="http://home20.inet.tele.dk/tolderlund/delphi/">Zdroj souboru</a><br> 83 <a href="RichView_modified.zip">[ RichView modified source ]</a> <a href="http://www.trichview.com/download/">Domovsk á stránka</a><br>89 <a href="RichView_modified.zip">[ RichView modified source ]</a> <a href="http://www.trichview.com/download/">Domovská stránka</a><br> 84 90 </td></tr></table> 85 <hr> 86 <?php 91 <hr>'; 92 87 93 /* 88 <img src="images/notes.png" alt="Notes"> <strong>Pozn ámky uľivatelů:</strong><div class="UserNotes">94 <img src="images/notes.png" alt="Notes"> <strong>Poznámky uĹľivatelĹŻ:</strong><div class="UserNotes"> 89 95 <? 90 96 if(array_key_exists('nick', $_POST) and array_key_exists('title', $_POST) and array_key_exists('content', $_POST)) 91 97 { 92 98 DB_Insert('user_notes', array('content' => addslashes($_POST['content']), 'nick' => addslashes($_POST['nick']), 'title' => addslashes($_POST['title']), 'time' => 'NOW()', 'remote_addr' => gethostbyaddr($_SERVER['REMOTE_ADDR']))); 93 echo('<br>Va ąe poznámka uloľena!<br>');99 echo('<br>VaÄ…e poznámka uloĹľena!<br>'); 94 100 } 95 101 echo('<br>'); … … 97 103 DB_Select('user_notes', '*', '1 ORDER BY time DESC'); 98 104 while($Row = DB_Row()) 99 { 105 { 100 106 echo('<div class="UserNotesItem"><div class="UserNotesTitle"><span>'.HumanDate($Row['time']).'</span><strong>'.$Row['title'].' ('.$Row['nick'].')</strong></div>'); 101 107 echo('<div class="UserNotesContent">'.$Row['content'].'</div></div>'); 102 108 } 103 109 echo('<div class="UserNotesForm"><form action="index.php" method="post"><table align="center" cellspacing="0" class="UserNotesTable">'. 104 '<tr><th colspan="2">P řidat novou poznámku</th></tr>'.105 '<tr><td>Jm éno:</td><td><input size="80" name="nick" type="text"></td></tr>'.110 '<tr><th colspan="2">PĹ™idat novou poznámku</th></tr>'. 111 '<tr><td>JmĂ©no:</td><td><input size="80" name="nick" type="text"></td></tr>'. 106 112 '<tr><td>Titulek:</td><td><input size="80" name="title" type="text"></td></tr>'. 107 113 '<tr><td>Text:</td><td><textarea rows="4" cols="60" name="content"></textarea></td></tr>'. … … 110 116 echo('</div></div>'); 111 117 */ 112 ?>113 <br>114 <div id="AdminInfo">| Web mistr: Jiří Hajda | e-mail: robie@centrum.cz | ICQ: 277158770 | <a href="http://validator.w3.org/check?uri=http://zdechov.net/sunrisechat/">HTML</a> | Naposledy aktualizováno: 3.2.2006 |</div>115 118 116 </body></html> 119 $Output .= '<br> 120 <div id="AdminInfo">| Web mistr: Jiřà Hajda | e-mail: robie@centrum.cz | ICQ: 277158770 | <a href="http://validator.w3.org/check?uri='.$Options['RootPath'].'">HTML</a> | Naposledy aktualizováno: 3.2.2006 |</div> 121 122 </body></html>'; 123 124 echo($Output); -
web/stat.php
r16 r17 1 1 <?php 2 2 3 // Pojmenov ání statistických kategorií4 $StatCategory = array( 5 'browser' => 'Prohl íľeče',6 'referer' => 'Odkud p řiąli',3 // Pojmenovánà statistických kategorià 4 $StatCategory = array( 5 'browser' => 'ProhlÞeÄe', 6 'referer' => 'Odkud pÅiÅ¡li', 7 7 'module' => 'Sekce webu', 8 'host' => 'Adresy n ávątěvníků',9 'word' => 'Hledan áslova',10 'user' => 'U ľivatelé',8 'host' => 'Adresy návÅ¡tÄvnÃků', 9 'word' => 'Hledaná slova', 10 'user' => 'Uživatelé', 11 11 'action' => 'Akce', 12 12 ); 13 13 14 $StatMonths = array('Leden',' Únor','Březen','Duben','Květen','Červen','Červenec','Srpen','Září','Říjen','Listopad','Prosinec');14 $StatMonths = array('Leden','Ãnor','BÅezen','Duben','KvÄten','Äerven','Äervenec','Srpen','ZáÅÃ','ÅÃjen','Listopad','Prosinec'); 15 15 16 16 /* … … 32 32 function StatUpdate($Cat, $Name) 33 33 { 34 global $DB_Prefix; 34 global $DB_Prefix, $Database; 35 35 36 $Date = System_Date(); 36 DB_Select('stat', '*', "category='$Cat' AND name='$Name' AND date='$Date'");37 if( DB_NumRows()>0) DB_Query("UPDATE ".$DB_Prefix."stat SET hits=hits+1 WHERE category='$Cat' AND name='$Name' AND date='$Date'");38 else 37 $DbResult = $Database->select('stat', '*', "category='$Cat' AND name='$Name' AND date='$Date'"); 38 if($DbResult->num_rows > 0) $Database->query("UPDATE ".$DB_Prefix."stat SET hits=hits+1 WHERE category='$Cat' AND name='$Name' AND date='$Date'"); 39 else 39 40 { 40 41 $Data = array( … … 44 45 'hits' => 1, 45 46 ); 46 DB_Insert('stat',$Data);47 $Database->insert('stat', $Data); 47 48 } 48 49 } … … 51 52 { 52 53 global $Options; 53 // Zjist í zobrazenýmodul54 // Zjistà zobrazený modul 54 55 StatUpdate('module', substr($_SERVER['SCRIPT_NAME'], $Options['StatPathCut'])); 55 56 // Zjist í stránku odkud uzivatel přisel56 57 // Zjistà stránku odkud uzivatel pÅisel 57 58 if(array_key_exists('HTTP_REFERER', $_SERVER)) 58 59 { 59 60 $Url = explode('/',$_SERVER['HTTP_REFERER']); 60 if(strpos($Url[2],':')) 61 if(strpos($Url[2],':')) 61 62 { 62 63 $Hostname = explode(':',$Url[2]); … … 64 65 } else $ServerIP = gethostbyname($Url[2]); 65 66 //echo($ServerIP.'-'.$_SERVER["SERVER_ADDR"]); 66 if(($ServerIP != $_SERVER["SERVER_ADDR"]) && ($ServerIP!='127.0.0.1')) 67 StatUpdate('referer', $_SERVER['HTTP_REFERER']); 67 if(($ServerIP != $_SERVER["SERVER_ADDR"]) && ($ServerIP!='127.0.0.1')) 68 StatUpdate('referer', $_SERVER['HTTP_REFERER']); 68 69 } else StatUpdate('referer', 'direct'); 69 70 // Zjist í typ prohlíµeče70 71 // Zjistà typ prohlÃľeÄe 71 72 StatUpdate('browser', $_SERVER['HTTP_USER_AGENT']); 72 // Zjist íDNS a IP adresu klienta73 // Zjistà DNS a IP adresu klienta 73 74 StatUpdate('host', $_SERVER['REMOTE_ADDR']); 74 75 } … … 97 98 function StatShowYears() 98 99 { 99 global $Options; 100 global $Options, $Database; 101 100 102 if(array_key_exists('name', $_GET) and array_key_exists('category', $_GET)) 101 103 { 102 $Output = '<div class="StatList"><strong>Ro čnístatistika</strong><br><br>'.103 '<table class="StatTable"><tr><th>Rok</th><th>Prohl édnutých stránek</th></tr>';104 105 // Zjisti rozmez í roků106 DB_Select('stat', 'DISTINCT date', 'name="'.$_GET['name'].'" AND category="'.$_GET['category'].'"');107 while($Row = DB_Row())104 $Output = '<div class="StatList"><strong>RoÄnà statistika</strong><br><br>'. 105 '<table class="StatTable"><tr><th>Rok</th><th>Prohlédnutých stránek</th></tr>'; 106 107 // Zjisti rozmezà roků 108 $DbResult = $Database->select('stat', 'DISTINCT date', 'name="'.$_GET['name'].'" AND category="'.$_GET['category'].'"'); 109 while($Row = $DbResult->fetch_assoc()) 108 110 { 109 111 $Year = substr($Row['date'],0,4); … … 113 115 if($Year > $Max) $Max = $Year; 114 116 } 115 // Na čti body rokůa body celkem117 // NaÄti body roků a body celkem 116 118 for($I=$Min;$I<=$Max;$I++) 117 119 { … … 119 121 $DateTo = $DateFrom.'-12-31'; 120 122 $DateFrom .= '-01-01'; 121 122 DB_Select('stat', 'SUM(hits)', 'name="'.$_GET['name'].'" AND category="'.$_GET['category'].'"');123 $Row = DB_Row();123 124 $DbResult = $Database->select('stat', 'SUM(hits)', 'name="'.$_GET['name'].'" AND category="'.$_GET['category'].'"'); 125 $Row = $DbResult->fetch_row(); 124 126 $Total = $Row[0]; 125 126 DB_Select('stat', 'hits', 'name="'.$_GET['name'].'" AND date>="'.$DateFrom.'" AND date<="'.$DateTo.'" AND category="'.$_GET['category'].'"');127 $Row = DB_Row();127 128 $DbResult = $Database->select('stat', 'hits', 'name="'.$_GET['name'].'" AND date>="'.$DateFrom.'" AND date<="'.$DateTo.'" AND category="'.$_GET['category'].'"'); 129 $Row = $DbResult->fetch_row(); 128 130 $Percent = round($Row[0]/$Total*100,2); 129 131 if($Percent==0) $Percent = '0'; 130 132 $Output .= '<tr><td><a href="?module=stat&category='.$_GET['category'].'&name='.$_GET['name'].'&period=months&year='.$I.'">'.$I.'</a></td>'. 131 '<td><img src="images/leftbar.gif" width="7" height="15"><img src="images/mainbar.gif" width="'.round($Percent*2).'" height="15"><img src="images/rightbar.gif" width="7" height="15"> '.$Percent.'% ('.$Row[0].')</td></tr>'; 132 } 133 $Output .= '</table><a href="?module=stat&category='.$_GET['category'].'">Zp átky přehled statistiky</a></div>';133 '<td><img src="images/leftbar.gif" width="7" height="15"><img src="images/mainbar.gif" width="'.round($Percent*2).'" height="15"><img src="images/rightbar.gif" width="7" height="15"> '.$Percent.'% ('.$Row[0].')</td></tr>'; 134 } 135 $Output .= '</table><a href="?module=stat&category='.$_GET['category'].'">Zpátky pÅehled statistiky</a></div>'; 134 136 } 135 137 return($Output); 136 138 } 137 139 138 // Zobraz í statistiku měsícu //140 // Zobrazà statistiku mÄsÃcu // 139 141 function StatShowMonths() 140 142 { 141 global $StatMonths ;143 global $StatMonths, $Database; 142 144 if(array_key_exists('name', $_GET) and array_key_exists('category', $_GET) and array_key_exists('year', $_GET)) 143 145 { 144 145 $Output = '<div class="StatList"><strong>M ěsíčnístatistika pro rok '.$_GET['year'].'</strong><br><br>'.146 '<table class="StatTable" cellspacing="0"><tr><th>M ěsíc</th><th>Prohlédnutých stránek</th></tr>';147 148 // Spo čítej počty pro měsíce146 147 $Output = '<div class="StatList"><strong>MÄsÃÄnà statistika pro rok '.$_GET['year'].'</strong><br><br>'. 148 '<table class="StatTable" cellspacing="0"><tr><th>MÄsÃc</th><th>Prohlédnutých stránek</th></tr>'; 149 150 // SpoÄÃtej poÄty pro mÄsÃce 149 151 for($I=1;$I<13;$I++) 150 152 { … … 152 154 $DateTo = $DateFrom.'31'; 153 155 $DateFrom .= '01'; 154 155 DB_Select('stat', 'SUM(hits)', 'name="'.$_GET['name'].'" AND category="'.$_GET['category'].'"');156 $Row = DB_Row();156 157 $DbResult = $Database('stat', 'SUM(hits)', 'name="'.$_GET['name'].'" AND category="'.$_GET['category'].'"'); 158 $Row = $DbResult->fetch_row(); 157 159 $Total = $Row[0]; 158 160 159 DB_Select('stat', 'hits', 'name="'.$_GET['name'].'" AND date>="'.$DateFrom.'" AND date<="'.$DateTo.'" AND category="'.$_GET['category'].'"');160 $Row = DB_Row();161 $DbResult = $Datbase->select('stat', 'hits', 'name="'.$_GET['name'].'" AND date>="'.$DateFrom.'" AND date<="'.$DateTo.'" AND category="'.$_GET['category'].'"'); 162 $Row = $DbResult->fetch_row(); 161 163 $Percent = round($Row[0]/$Total*100,2); 162 164 if($Percent==0) $Percent = '0'; 163 165 $Output .= '<tr><td><a href="?module=stat&category='.$_GET['category'].'&name='.$_GET['name'].'&period=days&year='.$_GET['year'].'&month='.$I.'">'.$StatMonths[$I-1].'</a></td>'. 164 '<td><img src="images/leftbar.gif" width="7" height="15"><img src="images/mainbar.gif" width="'.round($Percent*2).'" height="15"><img src="images/rightbar.gif" width="7" height="15">  '.$Percent.'% ('.$Row[0].')</td></tr>'; 165 } 166 $Output .= '</table><a href="?module=stat&period=years&category='.$_GET['category'].'&name='.$_GET['name'].'">Zp átky na statistiku roků</a></div>';166 '<td><img src="images/leftbar.gif" width="7" height="15"><img src="images/mainbar.gif" width="'.round($Percent*2).'" height="15"><img src="images/rightbar.gif" width="7" height="15">  '.$Percent.'% ('.$Row[0].')</td></tr>'; 167 } 168 $Output .= '</table><a href="?module=stat&period=years&category='.$_GET['category'].'&name='.$_GET['name'].'">Zpátky na statistiku roků</a></div>'; 167 169 return($Output); 168 170 } … … 171 173 function StatShowDays() 172 174 { 173 global $StatMonths; 175 global $StatMonths, $Database; 176 174 177 if(array_key_exists('name', $_GET) and array_key_exists('category', $_GET) and array_key_exists('year', $_GET) and array_key_exists('month', $_GET)) 175 178 { 176 $Output = '<div class="StatList"><strong>Denn í statistika pro měsic '.$StatMonths[$_GET['month']].'</strong><br><br>'.177 '<table class="StatTable" cellspacing="0"><tr><th>Den</th><th>Prohl édnutých stránek</th></tr>';179 $Output = '<div class="StatList"><strong>Dennà statistika pro mÄsic '.$StatMonths[$_GET['month']].'</strong><br><br>'. 180 '<table class="StatTable" cellspacing="0"><tr><th>Den</th><th>Prohlédnutých stránek</th></tr>'; 178 181 for($I=1;$I<32;$I++) 179 182 { 180 DB_Select('stat', 'SUM(hits)', 'name="'.$_GET['name'].'" AND category="'.$_GET['category'].'"');181 $Row = DB_Row();183 $DbResult = $Database->select('stat', 'SUM(hits)', 'name="'.$_GET['name'].'" AND category="'.$_GET['category'].'"'); 184 $Row = $DbResult->fetch_row(); 182 185 $Total = $Row[0]; 183 186 184 187 $Date = $_GET['year'].'-'.$_GET['month'].'-'.$I; 185 DB_Select('stat', 'hits', 'name="'.$_GET['name'].'" AND date="'.$Date.'" AND category="'.$_GET['category'].'"');186 $Row = DB_Row();187 188 $DbResult = $Database->select('stat', 'hits', 'name="'.$_GET['name'].'" AND date="'.$Date.'" AND category="'.$_GET['category'].'"'); 189 $Row = $DbResult->fetch_row(); 190 188 191 $Percent = round($Row[0]/$Total*100,2); 189 192 if($Percent==0) $Percent = '0'; 190 193 $Output .= '<tr><td>'.$I.'</td>'. 191 '<td><img src="images/leftbar.gif" width="7" height="15"><img src="images/mainbar.gif" width="'.round($Percent*2).'" height="15"><img src="images/rightbar.gif" width="7" height="15">  '.$Percent.'% ('.$Row[0].')</td></tr>'; 192 } 193 $Output .= '</table><a href="?module=stat&period=months&name='.$_GET['name'].'&category='.$_GET['category'].'&year='.$_GET['year'].'">Zp átky na statistiku měsíců</a></div>';194 '<td><img src="images/leftbar.gif" width="7" height="15"><img src="images/mainbar.gif" width="'.round($Percent*2).'" height="15"><img src="images/rightbar.gif" width="7" height="15">  '.$Percent.'% ('.$Row[0].')</td></tr>'; 195 } 196 $Output .= '</table><a href="?module=stat&period=months&name='.$_GET['name'].'&category='.$_GET['category'].'&year='.$_GET['year'].'">Zpátky na statistiku mÄsÃců</a></div>'; 194 197 } 195 198 return($Output); … … 198 201 function StatShowMain() 199 202 { 200 global $StatCategory; 201 DB_Select('stat', 'DISTINCT category'); 202 $Output = '<div class="StatList"><strong>Seznam kategorií:</strong><br><br><table class="StatTable" cellspacing="0"><tr><th>Název</t></tr>'; 203 while($Row = DB_Row()) 203 global $StatCategory, $Database; 204 205 $DbResult = $Database->select('stat', 'DISTINCT category'); 206 $Output = '<div class="StatList"><strong>Seznam kategoriÃ:</strong><br><br><table class="StatTable" cellspacing="0"><tr><th>Název</t></tr>'; 207 while($Row = $DbResult->fetch_assoc()) 204 208 { 205 209 $Output .= '<tr><td><a href="?module=stat&category='.$Row['category'].'">'.$StatCategory[$Row['category']].'</a></td></tr>'; … … 208 212 if(array_key_exists('category', $_GET)) 209 213 { 210 DB_Select('stat', 'SUM(hits)', 'category="'.$_GET['category'].'"');211 $Row = DB_Row();214 $DbResult = $Database->select('stat', 'SUM(hits)', 'category="'.$_GET['category'].'"'); 215 $Row = $DbResult->fetch_row(); 212 216 $All = $Row[0]; 213 $Output .= '<br><strong>V ýpis kategorie:</strong><br><br><table class="StatTable" cellspacing="0"><tr><th>Název</th><th>Stránek</th></tr>';214 DB_Select('stat', 'DISTINCT name', "category='".$_GET['category']."' ORDER BY 'name'");215 while($Row = DB_Row())217 $Output .= '<br><strong>Výpis kategorie:</strong><br><br><table class="StatTable" cellspacing="0"><tr><th>Název</th><th>Stránek</th></tr>'; 218 $DbResult = $Database->select('stat', 'DISTINCT name', "category='".$_GET['category']."' ORDER BY 'name'"); 219 while($Row = $DbResult->fetch_assoc()) 216 220 { 217 DB_Save(); 218 DB_Select('stat', 'SUM(hits)', "name='".$Row['name']."' AND category='".$_GET['category']."'"); 219 $Row2 = DB_Row(); 220 if($Row['name'] == 'direct') $Nazev = 'Zadáno přímo'; else $Nazev = $Row['name']; 221 if($_GET['category'] == 'host') $Nazev = gethostbyaddr($Nazev); 221 $DbResult2 = $Datbase->select('stat', 'SUM(hits)', "name='".$Row['name']."' AND category='".$_GET['category']."'"); 222 $Row2 = $DbResult2->fetch_array(); 223 if($Row['name'] == 'direct') $Nazev = 'Zadáno pÅÃmo'; else $Nazev = $Row['name']; 224 if($_GET['category'] == 'host') $Nazev = gethostbyaddr($Nazev); 222 225 $Output .= '<tr><td><a href="?module=stat&category='.$_GET['category'].'&period=years&name='.$Row['name'].'">'.$Nazev.'</a></td>'. 223 226 '<td><img src="images/leftbar.gif" width="7" height="15"><img src="images/mainbar.gif" width="'.(round($Row2[0]/$All*100,2)).'" height="15"><img src="images/rightbar.gif" width="7" height="15">'.$Row2[0].'</td></tr>'; 224 DB_Load();225 227 } 226 228 $Output .= '</table></div>'; -
web/statistic.php
r16 r17 1 1 <?php 2 2 include_once('style.php'); 3 ShowHeader('<strong style="font-size: 26pt;">Zd ěchovNET</strong> - komunitní počítačová sí»<br>','Statistika');3 ShowHeader('<strong style="font-size: 26pt;">ZdÄ›chovNET</strong> - komunitnĂ poÄŤĂtaÄŤová sĂ»<br>','Statistika'); 4 4 5 5 echo(StatShow()); -
web/style.php
r16 r17 31 31 { 32 32 global $Time_Start, $refresh, $Charset, $Description, $Keywords; 33 $Time_Start = GetMicrotime(); // Zjisti po čáteční čas33 $Time_Start = GetMicrotime(); // Zjisti počáteÄŤnĂ ÄŤas 34 34 $Cesty = array( 35 '/www/index.php' => '<a href="/index.php">Rozcestn ík</a>',36 '/www/vyzva.php' => '<a href="/index.php">Rozcestn ík</a> > <a href="/www/vyzva.php">Výzva k připojení</a>',37 '/www/statistic.php' => '<a href="/index.php">Rozcestn ík</a> > <a href="/www/statistic.php">Statistika</a>',35 '/www/index.php' => '<a href="/index.php">RozcestnĂk</a>', 36 '/www/vyzva.php' => '<a href="/index.php">RozcestnĂk</a> > <a href="/www/vyzva.php">VĂ˝zva k pĹ™ipojenĂ</a>', 37 '/www/statistic.php' => '<a href="/index.php">RozcestnĂk</a> > <a href="/www/statistic.php">Statistika</a>', 38 38 ); 39 39 echo('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> … … 64 64 global $Time_Start; 65 65 $Time = floor((GetMicrotime() - $Time_Start)*100)/100; 66 echo('</div><div style="border-width: 1 0 0 0; border-color: gray; border-style: solid;" align="center"><i style="font-size: x-small;">| Posledn í aktualizace: '.date('j.n.Y',filemtime($_SERVER['SCRIPT_FILENAME'])).' | Doba generování stránky: '.$Time.' s | Webmistr: robie@centrum.cz |</i></div>');66 echo('</div><div style="border-width: 1 0 0 0; border-color: gray; border-style: solid;" align="center"><i style="font-size: x-small;">| PoslednĂ aktualizace: '.date('j.n.Y',filemtime($_SERVER['SCRIPT_FILENAME'])).' | Doba generovánĂ stránky: '.$Time.' s | Webmistr: robie@centrum.cz |</i></div>'); 67 67 //ShowArray($GLOBALS); 68 68 echo('</body></html>'); 69 69 } 70 70 71 ?>
Note:
See TracChangeset
for help on using the changeset viewer.