Changeset 100
- Timestamp:
- Aug 1, 2008, 2:47:59 PM (16 years ago)
- Location:
- devel/www
- Files:
-
- 1 added
- 1 deleted
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/www/aktuality/index.php
r96 r100 172 172 173 173 //echo(GetRemoteAddress().','.$_SERVER['HTTP_X_FORWARDED_FOR'].'<br />'); 174 $DbResult = $this->Database->query('SELECT `news`.*, `User`.`Name` FROM `news` LEFT JOIN `User` ON `User`.`Id`=`news`.`User` WHERE `category`='.$Category.' ORDER BY `news`.`id` DESC LIMIT '. $Page*$PerPage.','.$PerPage);174 $DbResult = $this->Database->query('SELECT `news`.*, `User`.`Name` FROM `news` LEFT JOIN `User` ON `User`.`Id`=`news`.`User` WHERE `category`='.$Category.' ORDER BY `news`.`id` DESC LIMIT '.($Page * $PerPage).','.$PerPage); 175 175 while($Row = $DbResult->fetch_array()) 176 176 { … … 193 193 $Output .= '</div>'; 194 194 } 195 $Output .= PagesList('?category='.$Category.'&page=', $Page,$PageMax,$PerPage);195 $Output .= PagesList('?category='.$Category.'&page=', $Page, $PageMax, $PerPage); 196 196 $Output .= '</div>'; 197 197 } else $Output .= 'Nemáte oprávnění.'; -
devel/www/farnost/index.php
r89 r100 1 1 <?php 2 include_once('../style.php');3 2 include_once('../global.php'); 4 ShowHeader('Rozpis mší svatých v našem kostele', 'Rozpis mší');5 3 6 $Filename = 'Rozpis_msi_2006_Listopad'; 4 class ChurchServiceSchedule extends Page 5 { 6 var $FullTitle = 'Rozpis mší svatých v místním kostele'; 7 var $ShortTitle = 'Rozpis mší'; 8 var $Filename = 'Rozpis_msi_2006_Listopad'; 7 9 8 echo('Rozpis je pouze orientační, přesné údaje najdete na nástěnce před kostelem<br> 9 <div align="center"><a href="images/'.$Filename.'.jpg"><img src="images/'.$Filename.'_resize.jpg" alt="Listopad 2006"></a></div>'); 10 ShowFooter(); 10 function Show() 11 { 12 $Output = 'Rozpis je pouze orientační, přesné údaje najdete na nástěnce před kostelem<br /> 13 <div align="center"><a href="images/'.$this->Filename.'.jpg"><img src="images/'.$this->Filename.'_resize.jpg" alt="Listopad 2006"></a></div>'; 14 return($Output); 15 } 16 } 17 18 $System->AddModule(new ChurchServiceSchedule()); 19 $System->Modules['ChurchServiceSchedule']->GetOutput(); 20 11 21 ?> -
devel/www/finance/index.php
r87 r100 23 23 $Output .= '<a href="tarify.php">Tarify</a><br />'; 24 24 $Output .= '<a href="inventory.php">Výpis skladových zásob</a><br />'; 25 $Output .= '<a href="srovnani.php">Porovnání tarifů s konkurencí</a><br />';26 25 $Output .= '</td><td width="50%">'; 27 26 -
devel/www/finance/spotreba.php
r87 r100 1 1 <?php 2 2 include_once('../global.php'); 3 include('../style.php'); 4 include('include.php'); 3 include_once('include.php'); 5 4 6 ShowHeader('Spotřeba energie','Spotřeba'); 5 class FinanceConsumption extends Page 6 { 7 var $FullTitle = 'Spotřeba energie'; 8 var $ShortTitle = 'Spotřeba'; 7 9 8 // Seznam segmentů a zařízení 9 echo('Spotřeba zařízení jednotlivých segmentů:<br><table border="1" cellspacing="0" cellpadding="3"><tr><th>Jméno segmentu</th><th>Spotřeba [W]</th><th>Cena [Kč/měsíc]</th></tr>'); 10 $CelkovaSpotreba = 0; 11 $DbResult = $Database->query("SELECT * FROM network_segments"); 12 while($Row = $DbResult->fetch_array()) 13 { 14 $DbResult2 = $Database->query("SELECT SUM(consumption) FROM network_devices WHERE segment=".$Row['id']." AND used=1"); 15 $Row2 = $DbResult2->fetch_array(); 16 $CelkovaSpotreba = $CelkovaSpotreba + $Row2[0]; 17 echo('<tr><td>'.$Row['name'].'</td><td align="right">'.$Row2[0].'</td><td align="right">'.W2Kc($Row2[0]).'</td></tr>'); 10 function Show() 11 { 12 global $kWh; 13 14 // Seznam segmentů a zařízení 15 $Output = 'Spotřeba zařízení jednotlivých segmentů:<br /><table border="1" cellspacing="0" cellpadding="3"><tr><th>Jméno segmentu</th><th>Spotřeba [W]</th><th>Cena [Kč/měsíc]</th></tr>'; 16 $CelkovaSpotreba = 0; 17 $DbResult = $this->Database->query("SELECT * FROM network_segments"); 18 while($Row = $DbResult->fetch_array()) 19 { 20 $DbResult2 = $this->Database->query("SELECT SUM(consumption) FROM network_devices WHERE segment=".$Row['id']." AND used=1"); 21 $Row2 = $DbResult2->fetch_array(); 22 $CelkovaSpotreba = $CelkovaSpotreba + $Row2[0]; 23 $Output .= '<tr><td>'.$Row['name'].'</td><td align="right">'.$Row2[0].'</td><td align="right">'.W2Kc($Row2[0]).'</td></tr>'; 24 } 25 $Output .= '<tr style="font-weight: Bold;"><td><strong>Celkem</strong></td><td align="right">'.$CelkovaSpotreba.'</td><td align="right">'.W2Kc($CelkovaSpotreba).'</td></tr>'; 26 $Output .= '</table><br />'; 27 $Output .= 'Dohodnutá cena za jednu kWh: <strong>'.$kWh.' Kč</strong><br />'; 28 return($Output); 29 } 18 30 } 19 echo('<tr style="font-weight: Bold;"><td><strong>Celkem</strong></td><td align="right">'.$CelkovaSpotreba.'</td><td align="right">'.W2Kc($CelkovaSpotreba).'</td></tr>');20 echo('</table><br>');21 echo('Dohodnutá cena za jednu kWh: <strong>'.$kWh.' Kč</strong><br>');22 31 23 /* 24 echo('<strong>Jak se rozpočítávají finance</strong><br>Internet i zařízení sítě se platí za domácnost. Systém výpočtu vychází z topologie sítě. Síť má stromovou topologii přičemž listy stromu jsou jednotliví uživatelé a kořen stromu je linka do internetu. Dosavadní systém je uzpůsoben tak, aby linky, které jsou nejvíce zatíženy, byly nejlépe zaplaceny a mohlo na nich tak být dražší a výkonější zařízení. Nejvytíženější linky se nazývají páteřní. Proto platí každý uživatel podílově zařízení, které vede od něj až ke kořenu stromu, což je v našem případě server Centrála s trvalým internetovým připojením. Pro jednoduchost je síť rozdělena na segmenty. Segment je část sítě, kterou využívá konstantní počet uživatelů. Každý segment je tvořen skupinou zařízení a má svoji celkovou cenu. Každý uživatel je přirozeně napojen na některý ze segmentů. Podíl klienta na zařízení sítě je vypočten jako součet podílů na jednotlivých segmentech směrem ke kořenu. Podíl na segmentu znamená celková cena segmentu podělená počtem uživatelů využívajících daný segment.<br>'); 25 } 26 */ 27 ShowFooter(); 32 $System->AddModule(new FinanceConsumption()); 33 $System->Modules['FinanceConsumption']->GetOutput(); 34 28 35 ?> -
devel/www/forms.php
r87 r100 132 132 { 133 133 case 'Password': 134 if($this->Values[$Index] == sha1('')) unset($this->Values[$Index]); // Do not modify empty passwords 134 if($this->Values[$Index] == '') unset($this->Values[$Index]); // Do not modify empty passwords 135 else $this->Values[$Index] = sha1($this->Values[$Index]); 135 136 break; 136 137 case 'Time': -
devel/www/global.php
r96 r100 39 39 $System = new System(); 40 40 $System->Config = $Config; 41 include_once('log.php'); 42 $System->AddModule(new Log()); 41 43 include_once('user.php'); 42 44 $System->AddModule(new User()); … … 46 48 include_once('webcam/webcam.php'); 47 49 $System->AddModule(new Webcam()); 48 include_once('log.php');49 $System->AddModule(new Log());50 50 include_once('finance/bills.php'); 51 51 $System->AddModule(new Bill()); -
devel/www/hostlist.php
r87 r100 9 9 function Show() 10 10 { 11 $Output = '< table border="1" cellspacing="0" cellpadding="2" style="font-size: small;"><tr><th>Jméno počítače</th><th>IP adresa</th><th>Naposledy</th><th>Správce</th></tr>';11 $Output = '<div align="center" style="font-size: small;"><table class="WideTable"><tr><th>Jméno počítače</th><th>IP adresa</th><th>Naposledy</th><th>Správce</th></tr>'; 12 12 $DbResult = $this->Database->select('hosts', '*', 'type=0 ORDER BY name'); 13 13 while($Host = $DbResult->fetch_array()) … … 19 19 $Output .= '<tr><td style="text-align: left; '.$Style.'">'.$Host['name'].'</td><td>'.$Host['IP'].'</td><td style="text-align: right;">'.HumanDate($Host['last_online']).'</td><td style="text-align: right;">'.$User['fullname'].'</td></tr>'; 20 20 } 21 $Output .= '</table> ';21 $Output .= '</table></div>'; 22 22 return($Output); 23 23 } -
devel/www/index.php
r98 r100 17 17 array('Seznam počítačů', '/hostlist.php', 'comp.gif'), 18 18 array('Historie chatu', '/chat/history.php', 'sunrisechat.gif', array('Chat', 'Display')), 19 array('Webový chat', 'http://embed.mibbit.com/?server=game.zdechov.net%3A6667& channel=%23zdechov&forcePrompt=true&charset=windows-1250', 'sunrisechat.gif'),19 array('Webový chat', 'http://embed.mibbit.com/?server=game.zdechov.net%3A6667&channel=%23zdechov&forcePrompt=true&charset=windows-1250', 'sunrisechat.gif'), 20 20 array('Diskusní fórum', '/forum/', 'discus.gif'), 21 21 array('WebMail', 'https://centrala.zdechov.net/cgi-bin/openwebmail/openwebmail.pl', 'openwebmail.gif'), … … 25 25 array('Rozpis mší', '/farnost/', 'cfix.gif'), 26 26 array('Telefonní seznam', '/telseznam.php', 'tel.gif'), 27 array('Zápisy ze schůzí', '/docs/zapisy/zapisy.php', 'zapisy.gif'), 28 array('Mapa Zděchova', '/mapy/mapa.php', 'clear.gif'), 27 array('Mapa Zděchova', 'http://www.mapy.cz/#x=141560832@y=133134848@z=13@mm=FP@sa=s@st=s@ssq=zd%C4%9Bchov@sss=1@ssp=120738725_123701121_150360997_149800833', 'clear.gif'), 29 28 array('Otvírací doby', '/otevreno.php', 'otv_doby.gif'), 30 29 array('Topologie sítě', '/is/topologie.php', 'topologie.gif'), … … 36 35 'other' => array('Další odkazy', 37 36 array('Kanály kabelovky', '/tkr.php', 'tv.gif'), 38 array('Nabídka mapy', '/mapy/mapa_nabidka.php', 'clear.gif'),39 37 array('Historie sítě', '/history.php', 'clear.gif'), 40 38 array('Měřič spotřeby', '/merak.php', 'electric.gif'), 41 array('Seznam služeb', '/sluzby.php', 'clear.gif'),42 39 array('Plány do budoucna', '/ukoly.php', 'clear.gif'), 43 40 ), … … 129 126 } 130 127 131 $Output = '<div class="Navigation"><span id="MenuItem">'.$Output.'</span><div id="MenuItem2">'.$Output2.'</div></div>';128 $Output = '<div class="Navigation"><span class="MenuItem">'.$Output.'</span><div class="MenuItem2"> '.$Output2.'</div></div>'; 132 129 return($Output); 133 130 } … … 140 137 '<a href="'.$this->System->Config['Web']['RootFolder'].'/network/user_hosts.php">Registrované počítače</a><br />'. 141 138 '<a href="'.$this->System->Config['Web']['RootFolder'].'/aktuality/?action=add">Vložení aktuality</a><br />'; 139 if($this->System->Modules['User']->CheckPermission('EatingPlace', 'Edit')) $Output .= '<a href="'.$this->System->Config['Web']['RootFolder'].'/jidelna/menuedit.php">Editace jídelníčků</a><br />'; 142 140 if($this->System->Modules['User']->CheckPermission('Finance', 'Manage')) $Output .= '<a href="'.$this->System->Config['Web']['RootFolder'].'/finance/manage.php">Správa financí</a><br />'; 143 141 if($this->System->Modules['User']->CheckPermission('Network', 'Administration')) $Output .= '<a href="'.$this->System->Config['Web']['RootFolder'].'/is/administration_page.php">Správa sítě</a><br />'; … … 267 265 $Output .= $UserRegister->ShowEditForm(); 268 266 } else 267 if($_GET['Action'] == 'UserRegisterConfirm') 268 { 269 $Output .= $this->SystemMessage('Potvrzení registrace', $this->System->Modules['User']->RegisterConfirm($_GET['User'], $_GET['H'])); 270 } else 269 271 if($_GET['Action'] == 'PasswordRecovery') 270 272 { -
devel/www/jidelna/menuedit.php
r99 r100 4 4 class EatingPlaceEdit extends Page 5 5 { 6 var $Dependencies = array('Log'); 6 7 var $FullTitle = 'Jídleníček jídelny Na kopečku'; 7 8 var $ShortTitle = 'Editace jídelníčku'; … … 49 50 } 50 51 $Output .= '<div style="color: red; font-size: larger;">Menu uloženo!</div>'; 52 $this->System->Modules['Log']->NewRecord('EatingPlace', 'MenuSave'); 51 53 } 52 54 if($_GET['action'] == 'saveinfo') … … 55 57 $this->Database->insert('MealsInfo', array('Info' => $_POST['info'], 'Price' => $_POST['price'])); 56 58 $Output .= '<div style="color: red; font-size: larger;">Informační údaje uloženy!</div>'; 59 $this->System->Modules['Log']->NewRecord('EatingPlace', 'InfoSave'); 57 60 } 58 61 } -
devel/www/log.php
r87 r100 10 10 //echo($this->Database->LastQuery); 11 11 } 12 12 13 } -
devel/www/page.php
r87 r100 27 27 'merak.php' => 'Měřič spotřeby', 28 28 'tkr.php' => 'Kanály kabelové televize', 29 'LogShow.php' => 'Záznamy operací', 29 30 'share' => array('Prohledat sdílení', 30 31 'index.php' => '', … … 165 166 $Output = $this->ShowHeader($this->FullTitle, $this->ShortTitle).$Output; 166 167 $Output .= $this->ShowFooter(); 167 //echo($this->FormatOutput($Output));168 echo($Output);168 echo($this->FormatOutput($Output)); 169 //echo($Output); 169 170 } 170 171 -
devel/www/statistic/trafficview2.php
r95 r100 1 1 <?php 2 2 include_once('../global.php'); 3 include_once('../style.php');4 //$refresh = 60;5 ShowHeader('Časové záznamy','Statistika');6 3 include('measures.php'); 4 5 class StatisticPage extends Page 6 { 7 var $FullTitle = 'Časové záznamy'; 8 var $ShortTitle = 'Statistika'; 9 10 function Show() 11 { 12 global $Measures; 13 7 14 8 15 $GrafTimeRanges = array( … … 39 46 ); 40 47 41 $Perioda = 'day';42 if(array_key_exists('period',$_SESSION)) $Perioda = $_SESSION['period'];43 if(array_key_exists('period',$_GET)) $Perioda = $_GET['period'];44 if(!array_key_exists($Perioda, $GrafTimeRanges)) $Perioda = 'day';45 $_SESSION['period'] = $Perioda;48 $Perioda = 'day'; 49 if(array_key_exists('period',$_SESSION)) $Perioda = $_SESSION['period']; 50 if(array_key_exists('period',$_GET)) $Perioda = $_GET['period']; 51 if(!array_key_exists($Perioda, $GrafTimeRanges)) $Perioda = 'day'; 52 $_SESSION['period'] = $Perioda; 46 53 47 $Type = 'inet';48 if(array_key_exists('type',$_SESSION)) $Type = $_SESSION['type'];49 if(array_key_exists('type',$_GET)) $Type = $_GET['type'];50 if(!array_key_exists($Type, $Measures)) $Type = 'inet_down';51 $_SESSION['type'] = $Type;54 $Type = 'inet'; 55 if(array_key_exists('type',$_SESSION)) $Type = $_SESSION['type']; 56 if(array_key_exists('type',$_GET)) $Type = $_GET['type']; 57 if(!array_key_exists($Type, $Measures)) $Type = 'inet_down'; 58 $_SESSION['type'] = $Type; 52 59 53 // Show graf time range menu54 echo('Časový úsek: ');55 foreach($GrafTimeRanges as $Index => $Item)56 echo('<a href="?period='.$Index.'">'.$Item['caption'].'</a> ');60 // Show graf time range menu 61 $Output = 'Časový úsek: '; 62 foreach($GrafTimeRanges as $Index => $Item) 63 $Output .= '<a href="?period='.$Index.'">'.$Item['caption'].'</a> '; 57 64 58 // Show graf type menu59 echo('<br>Výběr záznamu: ');60 foreach($Measures as $Index => $Item)61 echo('<a href="?type='.$Index.'">'.$Item['title'].'</a> ');65 // Show graf type menu 66 $Output .= '<br>Výběr záznamu: '; 67 foreach($Measures as $Index => $Item) 68 $Output .= '<a href="?type='.$Index.'">'.$Item['title'].'</a> '; 62 69 63 // Insert graf64 echo('<br><br>'.$Measures[$Type]['title'].' za poslední '.strtolower($GrafTimeRanges[$Perioda]['caption']).':<br>');65 echo('<img alt="Graf '.strtolower($Measures[$Type]['title']).' za poslední '.strtolower($GrafTimeRanges[$Perioda]['caption']).'" src="graf2.php?type='.$Type.'&count='.$GrafTimeRanges[$Perioda]['count'].'&size='.$GrafTimeRanges[$Perioda]['segment'].'" width="750" height="214"><br>');70 // Insert graf 71 $Output .= '<br><br>'.$Measures[$Type]['title'].' za poslední '.strtolower($GrafTimeRanges[$Perioda]['caption']).':<br />'; 72 $Output .= '<img alt="Graf '.strtolower($Measures[$Type]['title']).' za poslední '.strtolower($GrafTimeRanges[$Perioda]['caption']).'" src="graf2.php?type='.$Type.'&count='.$GrafTimeRanges[$Perioda]['count'].'&size='.$GrafTimeRanges[$Perioda]['segment'].'" width="750" height="214"><br />'; 66 73 67 echo('<span style="color: #ffb4b4">Maximálně</span> ');68 echo('<span style="color: #7878ff">Průměrně</span>');69 echo('<br><br>');74 $Output .= '<span style="color: #ffb4b4">Maximálně</span> '; 75 $Output .= '<span style="color: #7878ff">Průměrně</span>'; 76 $Output .= '<br /><br />'; 70 77 71 flush(); 72 // Online status check 73 if(($Type == 'inet') or ($Type == 'inet_up') or ($Type == 'inet_down')) 74 { 75 /* 76 echo('Stav: '); 77 $Output = array(); 78 $Online = 0; 79 exec('ping 195.47.235.3 -c 1 | grep received',$Output); 80 if(count($Output) == 1) 81 { 82 $Output = explode(" ",$Output[0]); 83 if($Output[3]=='1') $Online = 1; 78 $Output .= '<a href="bandwidth.php">Tabulka zatížení linky podle počítačů</a><br />'; 79 $Output .= '<a href="http://rychlost.cz/statistika/ip/">Měření rychlost připojení k internetu (rychlost.cz)</a><br />'; 80 return($Output); 84 81 } 85 // exec('ifconfig | grep ppp0',$Output);86 //$Online = count($Output);87 if($Online == 1) echo('<font style="color: green; font-weight: bold;">ONLINE</font>'); else echo('<font style="color: red; font-weight: bold;">OFFLINE</font>');88 */89 /* echo('<br>');90 91 $EndTime = time();92 $StartTime = $EndTime-$GrafTimeRanges[$Perioda]['count']*$GrafTimeRanges[$Perioda]['segment']*60;93 DB_Select('traffic', 'sum(inet_down),sum(inet_up)', 'time>FROM_UNIXTIME('.$StartTime.') AND time<FROM_UNIXTIME('.$EndTime.')');94 $Row = DB_Row();95 echo('Za úsek staľeno: '.Round($Row[0]*60/1024/1024).' MB Za úsek odesláno: '.Round($Row[1]*60/1024/1024).' MB<br>');96 97 // Total downloaded and uploaded98 DB_Query('select sum(inet_down),sum(inet_up) from traffic');99 $Row = DB_Row();100 echo('Celkem staľeno: '.Round($Row[0]*60/1024/1024).' MB Celkem odesláno: '.Round($Row[1]*60/1024/1024).' MB<br><br>');101 */102 echo('<a href="bandwidth.php">Tabulka zatížení linky podle počítačů</a><br>');103 echo('<a href="http://rychlost.cz/statistika/ip/">Měření rychlost připojení k internetu (rychlost.cz)</a><br>');104 105 82 } 106 83 … … 127 104 // echo('informace jsou aktualizovány kaľdou minutu. stránku je nutno obnovovat.'); 128 105 */ 129 ShowFooter(); 106 107 $System->AddModule(new StatisticPage()); 108 $System->Modules['StatisticPage']->GetOutput(); 109 130 110 ?> -
devel/www/style.css
r98 r100 244 244 border-color: black; 245 245 border-style: solid; 246 border-width: 1px ;246 border-width: 1px 1px 0px 0px; 247 247 border-spacing: 0px; 248 248 } … … 252 252 border-color: black; 253 253 border-style: solid; 254 border-width: 1px;254 border-width: 0px 0px 1px 1px; 255 255 padding: 1px 10px 1px 10px; 256 256 } … … 260 260 border-color: black; 261 261 border-style: solid; 262 border-width: 1px;262 border-width: 0px 0px 1px 1px; 263 263 padding: 1px 10px 1px 10px; 264 264 } -
devel/www/style.php
r87 r100 142 142 </head><body'.$BodyParam.'> 143 143 <div id="Title">'.$Title.'</div> 144 <div class="Navigation"><span id="MenuItem"><strong>Navigace >></strong> '.$Navigation.'</span><div id="MenuItem2">';144 <div class="Navigation"><span class="MenuItem"><strong>Navigace >></strong> '.$Navigation.'</span><div class="MenuItem2">'; 145 145 if($System->Modules['User']->User['Id'] == $System->Modules['User']->AnonymousUserId) 146 146 $Output .= '<a href="'.$Config['Web']['RootFolder'].'?Action=LoginForm">Přihlášení</a> <a href="'.$Config['Web']['RootFolder'].'?Action=RegistrationForm">Registrace</a>'; -
devel/www/user.php
r96 r100 1 1 <?php 2 2 3 define('NICK_USED', 'Přezdívka použita!'); 3 define('NICK_USED', 'Přihlašovací jméno již použito.'); 4 define('EMAIL_USED', 'Email je již použitý.'); 4 5 define('USER_REGISTRATED', 'Uživatel zaregistrován.'); 5 define('DATA_MISSING', 'Chybí emailová adresa, přezdívka, nebo některé z hesel!'); 6 define('PASSWORDS_UNMATCHED', 'Hesla si neodpovídají!'); 6 define('USER_REGISTRATION_CONFIRMED', 'Vaše registrace byla potvrzena.'); 7 define('DATA_MISSING', 'Chybí emailová adresa, přezdívka, nebo některé z hesel.'); 8 define('PASSWORDS_UNMATCHED', 'Hesla si neodpovídají.'); 9 define('ACCOUNT_LOCKED', 'Účet uzamčen. Po registraci je nutné provést aktivaci účtu podle zaslaného aktivačního emailu.'); 7 10 define('USER_NOT_LOGGED', 'Nejste přihlášen.'); 8 11 define('USER_LOGGED', 'Uživatel přihlášen.'); … … 12 15 define('USER_LOGGED_OUT', 'Byl jste odhlášen.'); 13 16 define('BAD_PASSWORD', 'Špatné heslo.'); 14 define('USER_NOT_FOUND', 'Uživatel enenalezen.');17 define('USER_NOT_FOUND', 'Uživatel nenalezen.'); 15 18 define('USER_TIMEOUT', 300); // in seconds 16 19 define('USER_PASSWORD_RECOVERY_SUCCESS', 'Přihlašovací údaje byly odeslány na zadanou emailovou adresu.'); … … 39 42 { 40 43 // Refresh time of last access 41 $this->Database->update('UserOnline', 'SessionId="'.$SID.'"', array(' Time' => 'NOW()'));42 } else $this->Database->insert('UserOnline', array('SessionId' => $SID, 'User' => $this->AnonymousUserId, ' Time' => 'NOW()', 'IpAddress' => GetRemoteAddress(), 'HostName' => gethostbyaddr(GetRemoteAddress())));44 $this->Database->update('UserOnline', 'SessionId="'.$SID.'"', array('ActivityTime' => 'NOW()')); 45 } else $this->Database->insert('UserOnline', array('SessionId' => $SID, 'User' => $this->AnonymousUserId, 'LoginTime' => 'NOW()', 'ActivityTime' => 'NOW()', 'IpAddress' => GetRemoteAddress(), 'HostName' => gethostbyaddr(GetRemoteAddress()))); 43 46 //echo($this->Database->LastQuery); 44 45 // Odeber neaktivní uživatele46 $this->Database->delete('UserOnline', 'Time < DATE_SUB(NOW(), INTERVAL '.USER_TIMEOUT.' SECOND)');47 47 48 48 // Zkontroluj přihlášení … … 60 60 $Result = USER_NOT_LOGGED; 61 61 } 62 63 // Odeber neaktivní uživatele 64 $DbResult = $this->Database->select('UserOnline', 'User', 'ActivityTime < DATE_SUB(NOW(), INTERVAL '.USER_TIMEOUT.' SECOND)'); 65 while($DbRow = $DbResult->fetch_array()) 66 { 67 $this->Database->delete('UserOnline', 'Id='.$DbRow['User']); 68 $this->System->Modules['Log']->NewRecord('User', 'Logout'); 69 } 62 70 //$this->LoadPermission($this->User['Role']); 63 71 64 72 // Role and permission 65 73 //$this->LoadRoles(); 66 67 74 } 68 75 69 76 function Register($Nick, $Password, $Password2, $Email, $FirstName, $SecondName) 70 77 { 71 global $Options; 78 global $Options, $Config; 79 72 80 if(($Email == '') || ($Nick == '') || ($Password == '') || ($Password2 == '')) $Result = DATA_MISSING; 73 81 else if($Password != $Password2) $Result = PASSWORDS_UNMATCHED; 74 else 82 else 75 83 { 76 84 // Je uživatel registrován? 77 85 $Query = $this->Database->select('User', '*', 'Name = "'.$Nick.'"'); 78 86 if($Query->num_rows > 0) $Result = NICK_USED; 79 else 80 { 81 $this->Database->insert('User', array('Name' => $Nick, 'FirstName' => $FirstName, 'SecondName' => $SecondName, 'Password' => sha1($Password), 'Email' => $Email, 'RegistrationTime' => 'NOW()')); 82 $Result = USER_REGISTRATED; 83 $this->System->Modules['Log']->NewRecord('User', 'Uživatel registrován', $Nick); 87 else 88 { 89 $Query = $this->Database->select('User', '*', 'Email = "'.$Email.'"'); 90 if($Query->num_rows > 0) $Result = EMAIL_USED; 91 else 92 { 93 $this->Database->insert('User', array('Name' => $Nick, 'FirstName' => $FirstName, 'SecondName' => $SecondName, 'Password' => sha1($Password), 'Email' => $Email, 'RegistrationTime' => 'NOW()')); 94 $UserId = $this->Database->insert_id; 95 96 $Subject = from_utf8('Registrace nového účtu', 'iso2'); 97 $Message = 'Provedli jste registraci nového účtu na serveru <a href="http://'.$Config['Web']['Host'].$Config['Web']['RootFolder'].'">http://'.$Config['Web']['Host'].$Config['Web']['RootFolder']."</a>.<br>\nPokud jste tak neučinili, měli by jste tento email ignorovat.<br><br>\n\nVáš účet je: ".$Nick."\n<br>Pro dokončení registrace klikněte na ".'<a href="http://'.$Config['Web']['Host'].$Config['Web']['RootFolder'].'/?Action=UserRegisterConfirm&User='.$UserId.'&H='.sha1($Password).'">tento odkaz</a>.'."\n<br> \n\n<br><br>Na tento email neodpovídejte."; 98 $AdditionalHeaders = "To: ".$Nick." <".$Email.">\n"."From: ".from_utf8($Config['Web']['Title'], 'iso2')." <noreplay@zdechov.net>\n"."MIME-Version: 1.0\n"."Content-type: text/html; charset=utf-8"; 99 mail($Email, $Subject, $Message, $AdditionalHeaders); 100 $Result = USER_REGISTRATED; 101 $this->System->Modules['Log']->NewRecord('User', 'NewRegistration', $Nick); 102 } 84 103 } 85 104 } 86 105 return($Result); 106 } 107 108 function RegisterConfirm($Id, $Hash) 109 { 110 $DbResult = $this->Database->select('User', 'Id, Name, Password', 'Id = '.$Id); 111 if($DbResult->num_rows > 0) 112 { 113 $Row = $DbResult->fetch_array(); 114 if($Hash == $Row['Password']) 115 { 116 $this->Database->update('User', 'Id='.$Row['Id'], array('Locked' => 0)); 117 $Output = USER_REGISTRATION_CONFIRMED; 118 $this->System->Modules['Log']->NewRecord('User', 'RegisterConfirm', 'Username='.$Row['Name']); 119 } else $Output = PASSWORDS_UNMATCHED; 120 } else $Output = USER_NOT_FOUND; 121 return($Output); 87 122 } 88 123 … … 96 131 $Row = $Query->fetch_array(); 97 132 if($Row['Password'] != sha1($Password)) $Result = BAD_PASSWORD; 133 else if($Row['Locked'] == 1) $Result = ACCOUNT_LOCKED; 98 134 else 99 135 { 100 $this->Database->update('User', 'Id='.$Row['Id'], array('LastLoginTime' => 'NOW()')); 136 $this->Database->update('User', 'Id='.$Row['Id'], array('LastLoginTime' => 'NOW()')); 101 137 $this->Database->update('UserOnline', 'SessionId="'.$SID.'"', array('User' => $Row['Id'])); 102 138 // načtení stavu stromu 103 $Result = USER_LOGGED_IN; 104 $this->System->Modules['Log']->NewRecord('User', ' Uživatel přihlášen', $Nick);139 $Result = USER_LOGGED_IN; 140 $this->System->Modules['Log']->NewRecord('User', 'Login', 'Nick='.$Nick.',Host='.gethostbyaddr(GetRemoteAddress())); 105 141 } 106 142 } else $Result = USER_NOT_REGISTRED; … … 113 149 $SID = session_id(); 114 150 $this->Database->update('UserOnline', 'SessionId="'.$SID.'"', array('User' => $this->AnonymousUserId)); 115 $this->System->Modules['Log']->NewRecord('User', ' Uživatel odhlášen', $this->User['Name']);151 $this->System->Modules['Log']->NewRecord('User', 'Logout', $this->User['Name']); 116 152 $this->Check(); 117 153 return(USER_LOGGED_OUT); … … 145 181 if($DbRow['Write']) $Value .= 'W'; 146 182 $Result[$DbRow['Description']][$DbRow['Title']] = $Value; 147 } 183 } 148 184 return($Result); 149 185 } … … 201 237 mail($Row['Email'], $Subject, $Message, $AdditionalHeaders); 202 238 $Output = USER_PASSWORD_RECOVERY_SUCCESS; 239 $this->System->Modules['Log']->NewRecord('User', 'PasswordRecoveryRequest', 'Username='.$Name.',Email='.$Email); 203 240 } else $Output = USER_PASSWORD_RECOVERY_FAIL; 204 241 return($Output); … … 216 253 $this->Database->update('User', 'Id='.$Row['Id'], array('Password' => sha1($NewPassword))); 217 254 $Output = USER_PASSWORD_RECOVERY_CONFIRMED; 255 $this->System->Modules['Log']->NewRecord('User', 'PasswordRecoveryConfirm', 'Username='.$Row['Name']); 218 256 } else $Output = PASSWORDS_UNMATCHED; 219 257 } else $Output = USER_NOT_FOUND; -
devel/www/userlist.php
r87 r100 9 9 function Show() 10 10 { 11 $Output = '<table border="1" cellspacing="0" cellpadding="2" style="font-size: small;"><tr><th>Jméno uživatele</th><th>E-mail</th><th>ICQ</th><th>Telefon</th><th>Počítače</th></tr>';11 $Output = '<table class="WideTable" style="font-size: small;"><tr><th>Jméno uživatele</th><th>E-mail</th><th>ICQ</th><th>Telefon</th><th>Počítače</th></tr>'; 12 12 13 13 $DbResult = $this->Database->select('users', '*, CONCAT(second_name," ",first_name) as fullname', '1 ORDER BY fullname');
Note:
See TracChangeset
for help on using the changeset viewer.