private function getstats() { $row = $this->db->get_row("stats"); extract($row); $efficiency_size = ROUND($localtraffic * 100 / $internettraffic); $efficiency_hit = ROUND($hit * 100 / $miss); $localtraffic = number_readable($localtraffic); $internettraffic = number_readable($internettraffic); $troughput_internet = number_readable($troughput_internet) . "/sec"; $troughput_local = number_readable($troughput_local) . "/sec"; $res = $this->db->sql("SELECT SUM(size) as size_sum, path FROM `videos` GROUP by path"); foreach ($res as $res1) { $space[$res1["path"]] = $res1["size_sum"]; } $this->addtostats("START"); $this->addtostats("Miss: " . number_readable($miss, "decimals")); $this->addtostats("Hit: " . number_readable($hit, "decimals")); $this->addtostats("Local traffic: {$localtraffic}"); $this->addtostats("Internet traffic: {$internettraffic}"); $this->addtostats("Connect time: {$connect_time}ms"); $this->addtostats("File access time: {$file_access_time}ms"); $this->addtostats("Internet troughput: {$troughput_internet}"); $this->addtostats("Local troughput: {$troughput_local}"); $vcount = $this->db->sql("select count(*) as cnt from videos"); $count = $vcount[0]["cnt"]; $this->addtostats("Cached videos: " . number_readable($count, "decimals")); $totalsum = $this->db->sql("SELECT SUM(size) as totalsum FROM `videos`"); $totalsum = $totalsum[0]["totalsum"]; $totalsum = number_readable($totalsum); $this->addtostats("Total video size: {$totalsum}"); $this->addtostats("Size Efficiency: {$efficiency_size}%"); $this->addtostats("Hit Efficiency: {$efficiency_hit}%"); $lastday = $this->db->sql("select count(*) as cnt from visits where `visit_date`>DATE_SUB(NOW(),INTERVAL 1 DAY)"); $lastday = $lastday[0]["cnt"]; $this->addtostats("Last day hits: " . number_readable($lastday, "decimals")); $lasthr = $this->db->sql("select count(*) as cnt from visits where `visit_date`>DATE_SUB(NOW(),INTERVAL 1 HOUR)"); $lasthr = $lasthr[0]["cnt"]; $this->addtostats("Last hour hits: " . number_readable($lasthr, "decimals")); $lastmin = $this->db->sql("select count(*) as cnt from visits where `visit_date`>DATE_SUB(NOW(),INTERVAL 1 MINUTE)"); $lastmin = $lastmin[0]["cnt"]; $this->addtostats("Last minute hits: " . number_readable($lastmin, "decimals")); $totalsize = 0; $bars = ""; foreach ($space as $spath => $ssize) { $stotal = disk_total_space($spath); $bars .= $this->page_manager->create_bar($spath, $ssize, $stotal, 600, true); $perc = ROUND($ssize * 100 / $stotal); $totalsize += $stotal; $ssize = number_readable($ssize); $stotal = number_readable($stotal); $this->addtostats("Store path: <em>{$spath}</em> size <strong>{$ssize} ({$perc}%)</strong> total <strong>{$stotal}</strong>"); } // storage paths $this->addtostats("Total storage size: <strong>" . number_readable($totalsize) . "</strong>"); $this->addtostats("END"); $this->content .= $bars . "<br />\n"; }
public function overview() { $this->content = ""; $this->content .= $this->page_manager->text_title("PHP"); if (PHP_MAJOR_VERSION >= 5) { $ver = "ok"; } else { $ver = "upgrade to version 5"; } $this->content .= "Version: <strong>" . PHP_VERSION . " [{$ver}]</strong><br/>"; if (PHP_OS != "linux") { $os = "ok"; } else { $os = "this script is tested only on linux"; } $this->content .= "OS: <strong>" . PHP_OS . " [{$os}]</strong><br/>"; if (PHP_DEBUG === 0) { $debug = "no"; } else { $debug = "yes"; } $this->content .= "Debug: <strong>{$debug}</strong><br/>"; $mem = ini_get("memory_limit"); $this->content .= "Memory limit: <strong>{$mem}</strong><br/>"; $expose = ini_get("expose_php"); $this->content .= "Expose: <strong>{$expose}</strong><br/>"; $safemode = ini_get("safe_mode"); $this->content .= "Safe mode: <strong>{$safemode}</strong><br/>"; $this->content .= $this->page_manager->text_title("Software"); $this->findos(); $mysql = mysql_get_server_info(); $this->content .= "MYSQL Version: <strong>{$mysql}</strong><br/>"; $apache = apache_get_version(); $this->content .= "APACHE Version: <strong>{$apache}</strong><br/>"; $this->content .= $this->page_manager->text_title("Videos "); $vcount = $this->db->sql("SELECT COUNT(*) as `cnt` from `videos`"); $vcount = (int) $vcount[0]["cnt"]; $this->content .= "Cached videos: <strong>{$vcount}</strong><br/>"; $vtsize = $this->db->sql("SELECT SUM(size) as `vtsize` from `videos`"); $vtsize = number_readable((int) $vtsize[0]["vtsize"]); $this->content .= "Videos total size: <strong>{$vtsize}</strong><br/>"; }
public function videos_table() { $rows = array("id", "request", "path", "storage", "ip", "added", "size", "accessed", "visits", "enabled", "reply"); foreach ($rows as $row) { ${$row} = "{$row}<a href='{$_SERVER["REQUEST_URI"]}&sort_by_asc={$row}'><img src='{$this->template_path}/images/down_arrow.gif' /></a><a href='{$_SERVER["REQUEST_URI"]}&sort_by_desc={$row}'><img src='{$this->template_path}/images/up_arrow.gif' /></a><a href='{$_SERVER["REQUEST_URI"]}&search={$row}'><img src='{$this->template_path}/images/edit.gif' /></a>"; } $rows = array(array("{$id}", "{$request}", "{$path}", "{$storage}", "{$ip}", "{$added}", "{$size}", "{$accessed}", "{$visits}", "{$enabled}", "reply headers")); $sort_by_asc = $this->requests["sort_by_asc"]; $sort_by_desc = $this->requests["sort_by_desc"]; if (!empty($sort_by_asc)) { $sort_by_asc = "order by {$sort_by_asc} asc"; } if (!empty($sort_by_desc)) { $sort_by_asc = "order by {$sort_by_desc} desc"; } $rows1 = $this->db->get_rows("videos", array(), "{$sort_by_asc} limit 100"); foreach ($rows1 as $row) { $row["reply_headers"] = implode(";", unserialize($row["reply_headers"])); $row["storage"] = "<a href='stream_local.php?filename={$row["storage"]}'>{$row["storage"]}</a>"; $row["size"] = $row["size"] . " <strong>(" . number_readable($row["size"]) . ")</strong>"; if ($row["enabled"] == 1) { $row["enabled"] = "yes"; } else { $row["enabled"] = "no"; } $row["id"] = "<a href='index.php?page=videos&delvideo={$row["id"]}'>X</a> " . $row["id"]; $rows2[] = $row; } $this->content .= rows2table(array_merge($rows, $rows2), true); }
public function show_settings() { $ssettings = $this->settings; ksort($ssettings); $output .= "<form id='settings' name='settings' method=POST>\n"; $output .= "<table>\n"; foreach ($ssettings as $set => $value) { $output .= "<tr>\n"; if (strstr($set, "storage")) { $total = disk_total_space($value); $free = disk_free_space($value); $perc = ROUND($free * 100 / $total); $totalr = number_readable($total); $freer = number_readable($free); //$output.="<td><strong>{$set} path</strong></td><td><em>{$value}</em> [<strong>{$freer}</strong> of <strong>{$totalr}</strong>, {$perc}%]</td><td><a href='?page=settings&format_storage={$set}'><strong>Format storage</strong></a></td>\n"; $info = "[<strong>{$freer}</strong> of <strong>{$totalr}</strong>, {$perc}%]<a href='?page=settings&format_storage={$set}'> <strong>Format storage</strong></a>"; $output .= $this->addfield($set, $value, $info); } else { if ($set == "admin_email") { $output .= $this->addfield($set, $value, "admin email to show on requests"); } else { if ($set == "debug") { $output .= $this->addfield($set, $value, "0=all, 1=warnings, 2=errors"); } } } $output .= "</tr>\n"; } $output .= "</table>\n"; $output .= "</br>\n"; $output .= "<input type=submit value=Change>\n"; $output .= "</form>\n"; $this->content .= $output . "<br />\n"; }