示例#1
0
 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";
 }
示例#2
0
 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/>";
 }
示例#3
0
 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);
 }
示例#4
0
 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>&nbsp[<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}'>&nbsp<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";
 }