123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
-
- <!DOCTYPE html>
- <meta name="apple-mobile-web-app-capable" content="yes" />
- <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=0.6, maximum-scale=0.6"/>
- <html>
- <head>
- <meta charset="UTF-8">
- <script type='text/javascript' charset='utf-8'>
- // Hides mobile browser's address bar when page is done loading.
- window.addEventListener('load', function(e) {
- setTimeout(function() { window.scrollTo(0, 1); }, 1);
- }, false);
- </script>
- <title>ArOZ Onlineβ</title>
- <link rel="stylesheet" href="../../../script/tocas/tocas.css">
- <script src="../../../script/tocas/tocas.js"></script>
- <script src="../../../script/jquery.min.js"></script>
- </head>
- <body style="background-color: rgb(247, 247, 247);">
- <div class="ts container">
- <br>
- <div class="ts segment">
- <div class="ts header">
- Harddisk S.M.A.R.T
- <div class="sub header">
- <div class="ts divider"></div>
- <button class="ts left icon label" onclick="showSMARTDetails()">
- <i class="notice icon"></i> View SMART
- </button>
- </div>
- </div>
- </div>
- <div class="ts divider"></div>
- <div class="ts segment">
- <div class="ts divided items" id="diskFrame">
- </div>
- </div>
- <br><br><br>
- </div>
- <div class="ts modals dimmer">
- <dialog id="smartModals" class="ts closable modal">
- <div class="header">
- S.M.A.R.T Information
- </div>
- <div class="content">
- <table class="ts very basic table">
- <thead>
- <tr>
- <th>ID</th>
- <th>Attribute</th>
- <th>Value</th>
- <th>Worst</th>
- <th>Threshold</th>
- <th>State</th>
- </tr>
- </thead>
- <tbody id="SMARTtableBody">
- </tbody>
- </table>
- </div>
- <div class="actions">
- <button class="ts deny button">
- Close
- </button>
- </div>
- </dialog>
- </div>
- <Script>
- var template = '<div class="item" device="%mount%" onclick="select(this)"><i class="large disk outline icon"></i><div class="content"><div class="header">%model% / %capacity% / %temp%℃</div><div class="extra">Model Family: %model_family%<br>Mount point: %mount%<br>Firmware version: %firmware_version%<br>Serial: %serial_number%<br>Power on: %hour% Hours<br>Speed: %speed%<br>Rotation speed: %rotation_rate% rpm<br>Protocol: %protocol%</div></div></div>';
- $.get( "opr.php?opr=scan", function( raw ) {
- var Maindata = JSON.parse(raw);
- $.each( Maindata["devices"], function( key, value ) {
- $.get( "opr.php?opr=info&drive=" + value["name"], function( raw ) {
- var DiskData = JSON.parse(raw);
- var tmp = template;
-
- tmp = tmp.replace("%mount%",DiskData["device"]["info_name"]);
-
- tmp = tmp.replace("%model%",DiskData["model_name"]);
- tmp = tmp.replace("%capacity%",disksize(DiskData["user_capacity"]["bytes"]));
- tmp = tmp.replace("%temp%",DiskData["temperature"]["current"]);
- tmp = tmp.replace("%model_family%",DiskData["model_family"]);
- tmp = tmp.replace("%mount%",DiskData["device"]["info_name"]);
- tmp = tmp.replace("%firmware_version%",DiskData["firmware_version"]);
- tmp = tmp.replace("%serial_number%",DiskData["serial_number"]);
- tmp = tmp.replace("%hour%",DiskData["power_on_time"]["hours"]);
- tmp = tmp.replace("%speed%",DiskData["sata_version"]["string"] + " " + DiskData["interface_speed"]["current"]["string"]);
- tmp = tmp.replace("%rotation_rate%",DiskData["rotation_rate"]);
- tmp = tmp.replace("%protocol%",DiskData["device"]["protocol"]);
- $("#diskFrame").append(tmp);
- });
-
- });
- });
- function select(div){
- $("div.item").find( "i" ).css( "background-color", "#f7f7f7" );
- $("div.item").find( "i" ).css( "color", "#919191" );
- $("div.item").find( "i" ).attr( "class", "large disk outline icon" );
-
- $(div).find( "i" ).css( "background-color", "#49af79" );
- $(div).find( "i" ).css( "color", "#ffffff" );
- $(div).find( "i" ).attr( "class", "large checkmark icon" );
- }
- function showSMARTDetails(){
- var mountpoint = $("div.item:has(i[class='large checkmark icon'])").attr("device");
- $.get( "opr.php?opr=info&drive=" + mountpoint, function( raw ) {
- var DiskData = JSON.parse(raw);
- $("#SMARTtableBody").html("");
- $.each( DiskData["ata_smart_attributes"]["table"], function( key, value ) {
- var tmp = tmp + "<tr>";
- tmp = tmp + "<td>" + value["id"] + "</td>";
- tmp = tmp + "<td>" + value["name"] + "</td>";
- tmp = tmp + "<td>" + value["value"] + "</td>";
- tmp = tmp + "<td>" + value["worst"] + "</td>";
- tmp = tmp + "<td>" + value["thresh"] + "</td>";
- if(value["when_failed"] == ""){
- tmp = tmp + "<td>OK</td>";
- }else{
- tmp = tmp + "<td>Failed</td>";
- }
- $("#SMARTtableBody").append(tmp);
- });
- ts('#smartModals').modal("show");
- });
- }
- function disksize(size){
- if(size >= 1000000000000){
- return Math.floor(size/1000000000000) + " TB";
- }else if(size >= 1000000000){
- return Math.floor(size/1000000000) + " GB";
- }else if(size >= 1000000){
- return Math.floor(size/1000000) + " MB";
- }else if(size >= 1024){
- return Math.floor(size/1000) + " KB";
- }else{
- return size + " Bytes";
- }
- }
- console.warn("%cSTOP!\n%cPlease beware not to copy and paste anything from the internet to this console as this might bring damage to your system.",'color: red;font-size: 76px','color: red');
- console.info(`%c ! ____ _____ ___ ____
- ! ! / ___|_ _/ _ \\| _ \\
- ! ! ! \\___ \\ | || | | | |_) |
- ! ! ! ___) || || |_| | __/
- ! ! ! |____/ |_| \\___/|_|
- ! ! !
- ! !
- ! ! !
- !!!!!!!!!!!!!!!!!!! `,'color: red;');
- </script>
- </body>
- </html>
|