Changeset 50 for branches/old
- Timestamp:
- Feb 20, 2015, 8:54:42 AM (10 years ago)
- Location:
- branches/old
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/old/Readme.txt
r28 r50 2 2 ================= 3 3 4 Je pot øeba zkopírovat soubor config.sample.php jako config.php a upravit v nìm nastavení.5 Ve slo ce SQL jsou uloeny definice tabulek measure (struktura i ukázkové data) a tabulky data, kterou je potøeba vytvoøit pro jednotlivá mìøení.6 Ve slo ce measure_scripts je ukázkový soubor monitor.sample.php, který zajiuje získávání informací o rùzných velièinách v poèítaèi.4 Je potřeba zkopírovat soubor config.sample.php jako config.php a upravit v něm nastavení. 5 Ve složce SQL jsou uloženy definice tabulek measure (struktura i ukázkové data) a tabulky data, kterou je potřeba vytvořit pro jednotlivá měření. 6 Ve složce measure_scripts je ukázkový soubor monitor.sample.php, který zajišťuje získávání informací o různých veličinách v počítači. 7 7 8 8 Verze 3.1 (13.2.2008) 9 9 10 * Upraveny skripty pro pln ìní dat.11 * P øidán odkaz pod grafem odkazující staticky na vybraný èasový úsek.12 * Opraveno zobrazování desetinných míst u èísel bez jednotek10 * Upraveny skripty pro plnění dat. 11 * Přidán odkaz pod grafem odkazující staticky na vybraný časový úsek. 12 * Opraveno zobrazování desetinných míst u čísel bez jednotek 13 13 * Upravena poloha zobrazování celkové informace Min, Avg, Max. 14 * R ùzné mení opravy14 * Různé menší opravy 15 15 16 16 Verze 3.0 (14.12.2007) 17 17 18 * P øepsán pøístup k databázi MySQL pøes tøídu mysqli19 * Data m ìøení byly pro zvýení rychlosti rozdìleny do jednotlivých tabulek avak stále je moné mít v jedné datové tabulce více mìøení. Rozdìlení dat do více tabulek také umonilo mít uloená data s rùznou pøesnosti pro jednolivé mìøení. Pùvodnì pouze INT, nyní vechny dalí èíselné typy jako TINYINT, SMALLINT, INT, BIGINT a FLOAT.20 * P øidáno automatické zaokrouhlení zobrazovaných hodnot a zobrazení pøedpon jednotek.21 * Dopln ìny dalí skripty pro zjiování informací o systému a plnìní databáze.22 * Nastavení sdru eno do souboru config.php.23 * R ùzné opravy18 * Přepsán přístup k databázi MySQL přes třídu mysqli 19 * Data měření byly pro zvýšení rychlosti rozděleny do jednotlivých tabulek avšak stále je možné mít v jedné datové tabulce více měření. Rozdělení dat do více tabulek také umožnilo mít uložená data s různou přesnosti pro jednolivé měření. Původně pouze INT, nyní všechny další číselné typy jako TINYINT, SMALLINT, INT, BIGINT a FLOAT. 20 * Přidáno automatické zaokrouhlení zobrazovaných hodnot a zobrazení předpon jednotek. 21 * Doplněny další skripty pro zjišťování informací o systému a plnění databáze. 22 * Nastavení sdruženo do souboru config.php. 23 * Různé opravy 24 24 25 25 Verze 2.2 (30.6.2007) 26 26 27 * opraveno vykreslování grafu p øed celkovým zaèátkem a po celkovém konci mìøení27 * opraveno vykreslování grafu před celkovým začátkem a po celkovém konci měření 28 28 * opraveno vykreslování poslední hodnoty v grafu 29 29 30 30 Verze 2.1 (24.3.2007) 31 31 32 * r ùzné opravy32 * různé opravy 33 33 34 34 Verze 2.0 (16.3.2007) 35 35 36 * dynamické zobrazování èasové osy, výbìr bìných úsekù nebo pøesného intervalu dle poèáteèního a koneèného èasu37 * pou ití TrueType fontù38 * m ìnitelné rozmìry generovaného obrázku39 * automatická redukce na èítaných dat pro delí èasového mìøítka40 * automatická redukce po sob ì se opakujících stejných do jedné, redukce nulových a málo promìnných odmìrù41 * v úsecích, kde se nem ìøilo buï reim automatická interpolace hodnot nebo nulový údaj42 * Záznam a zobrazení graf ù minima, prùmìru a maxima43 * zápis nových hodnot p øes webové HTTP, kontrola podle adres poèítaèù44 * seznam m ìøení uloen v tabulce36 * dynamické zobrazování časové osy, výběr běžných úseků nebo přesného intervalu dle počátečního a konečného času 37 * použití TrueType fontů 38 * měnitelné rozměry generovaného obrázku 39 * automatická redukce načítaných dat pro delší časového měřítka 40 * automatická redukce po sobě se opakujících stejných do jedné, redukce nulových a málo proměnných odměrů 41 * v úsecích, kde se neměřilo buď režim automatická interpolace hodnot nebo nulový údaj 42 * Záznam a zobrazení grafů minima, průměru a maxima 43 * zápis nových hodnot přes webové HTTP, kontrola podle adres počítačů 44 * seznam měření uložen v tabulce 45 45 46 46 Verze 1.0 (25.11.2004) 47 47 48 * statické zobrazování èasové osy v rozsahu hodina, den, týden, mìsíc, rok a více rokù49 * jednotná tabulka pro v echna mìøení, kadé mìøení jako jeden sloupec, kadou minutu nový øádek50 * zobrazování pr ùmìru a maxima51 * seznam m ìøení uloen v poli48 * statické zobrazování časové osy v rozsahu hodina, den, týden, měsíc, rok a více roků 49 * jednotná tabulka pro všechna měření, každé měření jako jeden sloupec, každou minutu nový řádek 50 * zobrazování průměru a maxima 51 * seznam měření uložen v poli 52 52 53 53 Kontakt: robie@centrum.cz -
branches/old/config.sample.php
r28 r50 50 50 $FontFile = $Config['FontFileName']; 51 51 $FontSize = $Config['FontSize']; 52 53 ?> -
branches/old/database.php
r5 r50 7 7 { 8 8 var $Prefix = ''; 9 9 10 10 function select($Table, $What = '*', $Condition = 1) 11 11 { … … 18 18 $this->query("DELETE FROM `".$this->Prefix.$Table."` WHERE ".$Condition); 19 19 } 20 20 21 21 function insert($Table, $Data) 22 22 { … … 27 27 $Value = strtr($Value, '"', '\"'); 28 28 $Name .= ','.$Key; 29 30 29 if($Value == 'NOW()') $Values .= ",".$Value; 30 else $Values .= ",'".$Value."'"; 31 31 } 32 32 $Name = substr($Name, 1); … … 35 35 //echo('INSERT INTO `'.$this->Prefix.$Table.'` ('.$Name.') VALUES('.$Values.')'); 36 36 } 37 37 38 38 function update($Table, $Condition, $Data) 39 39 { … … 41 41 foreach($Data as $Key => $Value) 42 42 { 43 43 $Value = strtr($Value, '"', '\"'); 44 44 if($Value != 'NOW()') $Value = "'".$Value."'"; 45 45 $Values .= ", ".$Key."=".$Value; … … 48 48 $this->query('UPDATE `'.$this->Prefix.$Table.'` SET '.$Values.' WHERE ('.$Condition.')'); 49 49 } 50 50 51 51 function replace($Table, $Data) 52 52 { … … 64 64 $this->query('REPLACE INTO `'.$this->Prefix.$Table.'` (`'.$Name.'`) VALUES('.$values.')'); 65 65 } 66 66 67 67 function charset($Charset) 68 68 { … … 71 71 72 72 } 73 74 ?> -
branches/old/global.php
r49 r50 2 2 3 3 session_start(); 4 $FileName = dirname(__FILE__).'/config.php'; 5 if(file_exists($FileName)) include($FileName); 6 else { 7 die('Configuration file "'.$FileName.'" not found.'); 8 } 4 9 include_once('config.php'); 5 10 include_once('database.php'); … … 9 14 include_once('stat_functions.php'); 10 15 $Database = new Database($Config['Database']['Host'], $Config['Database']['User'], $Config['Database']['Password'], $Config['Database']['Database']); 16 if ($Database->connect_error) { 17 die('Connect Error (' . $Database->connect_errno . ') '.$Database->connect_error); 18 } 19 11 20 $Database->Prefix = $Config['Database']['Prefix']; 12 21 $Database->charset($Config['Database']['Charset']); -
branches/old/index.php
r49 r50 11 11 12 12 $TimeParts = getdate($_SESSION[$Time]); 13 //print_r($TimeParts);14 13 15 14 // Day selection … … 17 16 for($I = 1; $I < 32; $I++) 18 17 { 19 if($I == $TimeParts['mday']) $Selected = ' selected="1"'; else $Selected = ''; 18 if($I == $TimeParts['mday']) $Selected = ' selected="1"'; else $Selected = ''; 20 19 $Output .= '<option value="'.$I.'"'.$Selected.'>'.$I.'</option>'; 21 20 } … … 25 24 $Output .= '<select name="Month">'; 26 25 foreach($Months as $Index => $Month) 27 { 28 if($Index == $TimeParts['mon']) $Selected = ' selected="1"'; else $Selected = ''; 26 { 27 if($Index == $TimeParts['mon']) $Selected = ' selected="1"'; else $Selected = ''; 29 28 if($Index > 0) $Output .= '<option value="'.$Index.'"'.$Selected.'>'.$Month.'</option>'; 30 29 } 31 30 $Output .= '</select>. '; 32 31 33 32 // Day selection 34 33 $Output .= '<select name="Year">'; 35 34 for($I = 2000; $I < 2010; $I++) 36 { 37 if($I == $TimeParts['year']) $Selected = ' selected="1"'; else $Selected = ''; 35 { 36 if($I == $TimeParts['year']) $Selected = ' selected="1"'; else $Selected = ''; 38 37 $Output .= '<option value="'.$I.'"'.$Selected.'>'.$I.'</option>'; 39 38 } 40 39 $Output .= '</select> '; 41 42 40 43 41 // Hour selection 44 42 $Output .= '<select name="Hour">'; 45 43 for($I = 0; $I < 24; $I++) 46 { 47 if($I == $TimeParts['hours']) $Selected = ' selected="1"'; else $Selected = ''; 44 { 45 if($I == $TimeParts['hours']) $Selected = ' selected="1"'; else $Selected = ''; 48 46 $Output .= '<option value="'.$I.'"'.$Selected.'>'.$I.'</option>'; 49 47 } … … 54 52 for($I = 0; $I < 60; $I++) 55 53 { 56 if($I == $TimeParts['minutes']) $Selected = ' selected="1"'; else $Selected = ''; 54 if($I == $TimeParts['minutes']) $Selected = ' selected="1"'; else $Selected = ''; 57 55 $Output .= '<option value="'.$I.'"'.$Selected.'>'.$I.'</option>'; 58 56 } 59 57 $Output .= '</select> '; 60 $Output .= '<input type="submit" value="Nastavit">'; 58 $Output .= '<input type="submit" value="Nastavit">'; 61 59 $Output .= '</form>'; 62 60 63 61 $Output .= ' <form style="display: inline;" action="?Operation=SetTimeNow&Time='.$Time.'" method="post">'; 64 $Output .= '<input type="submit" value="Aktuální čas">'; 62 $Output .= '<input type="submit" value="Aktuální čas">'; 65 63 $Output .= '</form>'; 66 64 67 65 return($Output); 68 66 } … … 73 71 $GrafTimeRanges = array( 74 72 'hour' => array( 75 'caption' => 'Hodina', 73 'caption' => 'Hodina', 76 74 'period' => 3600, 77 75 ), 78 76 'day' => array( 79 77 'caption' => 'Den', 80 'period' => 3600 *24,78 'period' => 3600 * 24, 81 79 ), 82 80 'week' => array( 83 81 'caption' => 'Týden', 84 'period' => 3600 *24*7,82 'period' => 3600 * 24 * 7, 85 83 ), 86 84 'month' => array( 87 85 'caption' => 'Měsíc', 88 'period' => 3600 *24*30,86 'period' => 3600 * 24 * 30, 89 87 ), 90 88 'year' => array( 91 89 'caption' => 'Rok', 92 'period' => 3600 *24*365,90 'period' => 3600 * 24 * 365, 93 91 ), 94 92 'years' => array( 95 93 'caption' => 'Desetiletí', 96 'period' => 3600 *24*365*10,97 ), 98 ); 94 'period' => 3600 * 24 * 365 * 10, 95 ), 96 ); 99 97 100 98 foreach($Config['DefaultVariables'] as $Index => $Variable) … … 104 102 if(array_key_exists($Index, $_POST)) $_SESSION[$Index] = $_POST[$Index]; 105 103 //$$Index = $_SESSION[$Index]; 106 } 104 } 107 105 108 106 if($_SESSION['TimeSpecify'] == 0) … … 112 110 } 113 111 114 $Output = '<div class="Title">Statistiky</div>';112 $Output = '<div style="text-align: center"><div class="Title">Statistiky</div>'; 115 113 116 114 if(!array_key_exists('Operation', $_GET)) $_GET['Operation'] = ''; … … 128 126 } 129 127 } 130 break; 128 break; 131 129 case 'SetTimeNow': 132 130 if(array_key_exists('Time', $_GET)) … … 138 136 } 139 137 } 140 break; 141 138 break; 139 142 140 } 143 141 $Output .= '<strong>Časový úsek:</strong><br>'; 144 // Show gra ftime range menu142 // Show graph time range menu 145 143 if($_SESSION['TimeSpecify'] == 0) 146 144 { … … 151 149 $Output .= '<a href="?TimeSpecify=1">Přesnější nastavení...</a><br>'; 152 150 } else { 153 $Output .= '<table cellspacing="0" cellpadding="2" border="0" >';151 $Output .= '<table cellspacing="0" cellpadding="2" border="0" style="margin: 0px auto;">'; 154 152 $Output .= '<tr><td>Počátek:</td><td>'.EditTime('TimeStart').'</td></tr>'; 155 153 $Output .= '<tr><td>Konec:</td><td>'.EditTime('TimeEnd').'</td></tr>'; … … 162 160 $Output .= '<img alt="Graf" src="graph.php?Measure='.$_SESSION['Measure'].'&From='.$_SESSION['TimeStart'].'&To='.$_SESSION['TimeEnd'].'&Width=750&Height=200&Differential='.$_SESSION['Differential'].'" width="750" height="200"><br>'; 163 161 $Output .= '<a href="?Measure='.$_SESSION['Measure'].'&TimeStart='.$_SESSION['TimeStart'].'&TimeEnd='.$_SESSION['TimeEnd'].'&TimeSpecify=1&Differential='.$_SESSION['Differential'].'">Odkaz na vybraný graf</a><br>'; 164 //print_r(GetValues($Measure, $TimeStart, $TimeEnd)); 165 162 166 163 $Output .= '<br>'; 167 164 168 $Output .= '<table border="1" cellspacing="0" cellpadding="2" style="font-size: small;">'; 165 // Table with available measures 166 $Output .= '<table border="1" cellspacing="0" cellpadding="2" style="font-size: small; margin: 0px auto;">'; 169 167 $Output .= '<tr><th>Měřená veličina</th><th>Poslední hodnota</th><th>Čas posledního měření</th><th>Interpolace</th><th>Poznámky</th>'; 170 168 if(array_key_exists('Debug', $_GET)) $Output .= '<th>Počet položek</th><th>Čas vykonání</th>'; 171 169 $Output .= '</tr>'; 172 170 $Database->select_db('measure'); 173 $Result = $Database->select('measure', '*', 'Enabled=1 AND PermissionView="all" OR PermissionView="'.gethostbyaddr($_SERVER['REMOTE_ADDR']).'" ORDER BY Description'); 174 //echo($Database->error); 175 171 $Result = $Database->select('measure', '*', '(Enabled=1) AND ((PermissionView="all") OR (PermissionView="'.gethostbyaddr($_SERVER['REMOTE_ADDR']).'")) ORDER BY Description'); 176 172 while($Measure = $Result->fetch_array()) 177 173 { … … 202 198 $Output .= '</table>'; 203 199 $Output .= '<br><a href="http://svn.zdechov.net/trac/statistic/">Sekce vývoje systému</a>'; 204 //echo(time()); 205 //print_r(gd_info()); 206 $Output .= '</body></html>'; 207 //print_r($_SESSION); 200 $Output .= '</div></body></html>'; 208 201 209 202 ShowPage($Output); 210 211 //echo(AddPrefixMultipliers('-0.000000071112345', 'B')); -
branches/old/sql/23_measure.sql
r24 r50 1 1 CREATE TABLE IF NOT EXISTS `measure` ( 2 2 `Id` int(11) NOT NULL auto_increment, 3 `Name` varchar(255) collate latin2_czech_csNOT NULL,4 `Description` varchar(255) collate latin2_czech_csNOT NULL,3 `Name` varchar(255) collate utf8_general_ci NOT NULL, 4 `Description` varchar(255) collate utf8_general_ci NOT NULL, 5 5 `Divider` int(11) NOT NULL default '1', 6 `Unit` varchar(16) collate latin2_czech_csNOT NULL,6 `Unit` varchar(16) collate utf8_general_ci NOT NULL, 7 7 `Continuity` tinyint(1) NOT NULL default '0', 8 8 `Period` int(11) NOT NULL default '60', 9 `OldName` varchar(32) collate latin2_czech_csNOT NULL,10 `PermissionView` varchar(255) collate latin2_czech_csNOT NULL default 'all',11 `PermissionAdd` varchar(255) collate latin2_czech_csNOT NULL default 'localhost.localdomain',12 `Info` varchar(255) collate latin2_czech_csNOT NULL,9 `OldName` varchar(32) collate utf8_general_ci NOT NULL, 10 `PermissionView` varchar(255) collate utf8_general_ci NOT NULL default 'all', 11 `PermissionAdd` varchar(255) collate utf8_general_ci NOT NULL default 'localhost.localdomain', 12 `Info` varchar(255) collate utf8_general_ci NOT NULL, 13 13 `Enabled` int(11) NOT NULL default '1', 14 14 `Cumulative` int(11) NOT NULL default '0', 15 `DataTable` varchar(32) collate latin2_czech_csNOT NULL default 'data',16 `DataType` varchar(32) collate latin2_czech_csNOT NULL,15 `DataTable` varchar(32) collate utf8_general_ci NOT NULL default 'data', 16 `DataType` varchar(32) collate utf8_general_ci NOT NULL, 17 17 PRIMARY KEY (`Id`) 18 ) ENGINE= MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_czech_cs;18 ) ENGINE=InnoDb DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
Note:
See TracChangeset
for help on using the changeset viewer.