-
Notifications
You must be signed in to change notification settings - Fork 39
/
online.php
53 lines (51 loc) · 18.6 KB
/
online.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
/*
* @ PHP 5.6
* @ Decoder version : 1.0.0.1
* @ Release on : 24.03.2018
* @ Website : http://EasyToYou.eu
*/
include_once "./sys/functions.php";
isLogged();
$logged_user = getLoggedUser();
$server_name = getServerProperty("server_name");
$fast_packages = json_decode(getServerProperty("fast_packages"), true);
echo "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n <title>";
echo $server_name;
echo " :: Office</title>\n <!-- Tell the browser to be responsive to screen width -->\n <meta content=\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\" name=\"viewport\">\n <!-- Bootstrap 3.3.7 -->\n <link rel=\"stylesheet\" href=\"bower_components/bootstrap/dist/css/bootstrap.min.css\">\n <!-- DataTables -->\n <link rel=\"stylesheet\" href=\"bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css\">\n <!-- Font Awesome -->\n <link rel=\"stylesheet\" href=\"bower_components/font-awesome/css/font-awesome.min.css\">\n <!-- Theme style -->\n <link rel=\"stylesheet\" href=\"dist/css/AdminLTE.min.css\">\n <!-- AdminLTE Skins. Choose a skin from the css/skins\n folder instead of downloading all of them to reduce the load. -->\n <link rel=\"stylesheet\" href=\"dist/css/skins/_all-skins.min.css\">\n <!-- Morris chart -->\n <link rel=\"stylesheet\" href=\"bower_components/morris.js/morris.css\">\n <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->\n <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->\n <!--[if lt IE 9]>\n <script src=\"https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js\"></script>\n <script src=\"https://oss.maxcdn.com/respond/1.4.2/respond.min.js\"></script>\n <![endif]-->\n\n <!-- Google Font -->\n <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic\">\n ";
injectCustomCss();
echo "</head>\n <body class=\"hold-transition ";
echo getServerProperty("theme_color", "skin-red");
echo " sidebar-mini\">\n <div class=\"wrapper\">\n <header class=\"main-header\">\n <!-- Logo -->\n <a href=\"dashboard.php\" class=\"logo\">\n <!-- mini logo for sidebar mini 50x50 pixels -->\n <span class=\"logo-mini\"><img src=\"dist/img/logo_small.png\" width=\"50\" height=\"50\"></span>\n <!-- logo for regular state and mobile devices -->\n <span class=\"logo-lg\"><img src=\"dist/img/logo_medium.png\" height=\"50\"></span>\n </a>\n <!-- Header Navbar: style can be found in header.less -->\n <nav class=\"navbar navbar-static-top\">\n <!-- Sidebar toggle button-->\n <a href=\"#\" class=\"sidebar-toggle\" data-toggle=\"push-menu\" role=\"button\">\n <span class=\"sr-only\">Toggle navigation</span>\n </a>\n\n <div class=\"navbar-custom-menu\">\n <ul class=\"nav navbar-nav\">\n <!-- User Credits -->\n <li class=\"dropdown messages-menu\">\n <a href=\"#\" class=\"dropdown-toggle\">\n <i class=\"fa fa-dollar\"></i>\n <span class=\"label label-success\">";
echo $logged_user["credits"];
echo "</span>\n </a>\n </li>\n <!-- Control Sidebar Toggle Button -->\n ";
if (isAdmin($logged_user)) {
echo " <li>\n <a href=\"settings.php\"><i class=\"fa fa-gears\"></i></a>\n </li>\n ";
}
echo " </ul>\n </div>\n </nav>\n </header>\n <!-- Left side column. contains the logo and sidebar -->\n <aside class=\"main-sidebar\">\n <!-- sidebar: style can be found in sidebar.less -->\n <section class=\"sidebar\">\n <!-- sidebar menu: : style can be found in sidebar.less -->\n <ul class=\"sidebar-menu\" data-widget=\"tree\">\n <li class=\"header\">MENU PRINCIPAL</li>\n <li>\n <a href=\"dashboard.php\">\n <i class=\"fa fa-dashboard\"></i> <span>Painel</span>\n </a>\n </li>\n <li>\n <a href=\"informations.php\">\n <i class=\"fa fa-align-left\"></i> <span>Informações</span>\n </a>\n </li>\n <li class=\"treeview\">\n <a href=\"#\">\n <i class=\"fa fa-bug\"></i>\n <span>Criar teste</span>\n <span class=\"pull-right-container\">\n <i class=\"fa fa-angle-left pull-right\"></i>\n </span>\n </a>\n <ul class=\"treeview-menu\">\n <li>\n <a href=\"create_test.php\"><i class=\"fa fa-circle-o\"></i> Customizado</a>\n </li>\n ";
$packages = getPackages();
foreach ($fast_packages as $package_id) {
$package_key = array_search($package_id, array_column($packages, "id"));
if ($package_key !== false) {
$current_package = $packages[$package_key];
if ($current_package["is_trial"] == 1) {
echo " <li><a href=\"./sys/API.php?action=create_test&package_id=";
echo $current_package["id"];
echo "\"><i class=\"fa fa-circle-o\"></i> ";
echo $current_package["package_name"];
echo "</a></li>\n ";
}
}
}
echo " </ul>\n </li>\n ";
if (isAdmin($logged_user) || isUltra($logged_user) || isMaster($logged_user)) {
echo " <li class=\"treeview\">\n <a href=\"#\">\n <i class=\"fa fa-users\"></i>\n <span>Sub-Revendas</span>\n <span class=\"pull-right-container\">\n <i class=\"fa fa-angle-left pull-right\"></i>\n </span>\n </a>\n <ul class=\"treeview-menu\">\n <li><a href=\"resellers.php\"><i class=\"fa fa-cogs\"></i> Gerir Revendas</a></li>\n <li><a href=\"create_reseller.php\"><i class=\"fa fa-user-plus\"></i> Criar Revenda</a></li>\n </ul>\n </li>\n ";
}
echo " <li class=\"treeview active\">\n <a href=\"#\">\n <i class=\"fa fa-users\"></i>\n <span>Usuários</span>\n <span class=\"pull-right-container\">\n <i class=\"fa fa-angle-left pull-right\"></i>\n </span>\n </a>\n <ul class=\"treeview-menu\">\n <li class=\"active\"><a href=\"online.php\"><i class=\"fa fa-circle\"></i> Usuários Online</a></li>\n <li><a href=\"clients.php\"><i class=\"fa fa-cogs\"></i> Gerir Usuários</a></li>\n <li><a href=\"create_client.php\"><i class=\"fa fa-user-plus\"></i> Criar Usuário</a></li>\n </ul>\n </li>\n <li>\n <a href=\"shortener.php\">\n <i class=\"fa fa-link\"></i> <span>Encurtador</span>\n </a>\n </li>\n <li>\n <a href=\"tools.php\">\n <i class=\"fa fa-wrench\"></i> <span>Ferramentas</span>\n </a>\n </li>\n <li class=\"treeview\">\n <a href=\"#\">\n <i class=\"fa fa-film\"></i>\n <span>Conteúdo Novo</span>\n <span class=\"pull-right-container\">\n <i class=\"fa fa-angle-left pull-right\"></i>\n </span>\n </a>\n <ul class=\"treeview-menu\">\n <li><a href=\"new_channels.php\"><i class=\"fa fa-circle-o\"></i> Novos Canais</a></li>\n <li><a href=\"new_movies.php\"><i class=\"fa fa-circle-o\"></i> Novos Filmes</a></li>\n <li><a href=\"new_series.php\"><i class=\"fa fa-circle-o\"></i> Novas Series</a></li>\n </ul>\n </li>\n <li class=\"treeview\">\n <a href=\"#\">\n <i class=\"fa fa-ticket\"></i>\n <span>Ticket Suporte</span>\n <span class=\"pull-right-container\">\n <i class=\"fa fa-angle-left pull-right\"></i>\n </span>\n </a>\n <ul class=\"treeview-menu\">\n <li><a href=\"create_ticket.php\"><i class=\"fa fa-circle-o\"></i> Criar Ticket</a></li>\n <li><a href=\"manage_tickets.php\"><i class=\"fa fa-circle-o\"></i> Gerenciar Tickets</a></li>\n </ul>\n </li>\n <li>\n <a href=\"profile.php\">\n <i class=\"fa fa-user-circle\"></i> <span>Perfil</span>\n </a>\n </li>\n <li>\n <a href=\"logout.php\">\n <i class=\"fa fa-power-off\"></i> <span>Desconectar</span>\n </a>\n </li>\n </ul>\n </section>\n <!-- /.sidebar -->\n </aside>\n\n <!-- Content Wrapper. Contains page content -->\n <div class=\"content-wrapper\">\n <!-- Content Header (Page header) -->\n <section class=\"content-header\">\n <h1>\n Usuários Online\n <small>Veja qual usuario está online.</small>\n </h1>\n <ol class=\"breadcrumb\">\n <li><a href=\"dashboard.php\"><i class=\"fa fa-dashboard\"></i> Painel</a>\n </li>\n <li class=\"active\"><i class=\"fa fa-circle\"></i> Usuários Online\n </li>\n </ol>\n </section>\n <!-- Main content -->\n <section class=\"content\">\n <!-- Main row -->\n <div class=\"row\">\n <!-- Left col -->\n <section class=\"col-md-12\">\n <div class=\"box\">\n <div class=\"box-body table-responsive\">\n <table id=\"table\" class=\"table table-bordered table-striped\" style=\"width: 100%!important\">\n <thead>\n <tr>\n <th>Login</th>\n <th>Canal</th>\n <th>Tempo</th>\n <th>Ip</th>\n <th>Local</th>\n <th>Internet Server</th>\n </tr>\n </thead>\n <tbody>\n </tbody>\n </table>\n </div>\n <!-- /.box-body -->\n </div>\n </section>\n </div>\n <!-- /.box -->\n </section>\n <!-- /.content -->\n </div>\n <!-- /.content-wrapper -->\n <footer class=\"main-footer\">\n <div class=\"row\">\n <div class=\"text-left col-md-6\">\n <strong>Copyright © ";
echo date("Y");
echo " <a href=\"#\">";
echo $server_name;
echo "</a>.</strong> All rights reserved.\n </div>\n <div class=\"text-right col-md-6\">Painel Office. ";
echo KOFFICE_PANEL_VERSION;
echo " - www.paineloffice.top</div>\n </div>\n </footer>\n <!-- Add the sidebar's background. This div must be placed\n immediately after the control sidebar -->\n <div class=\"control-sidebar-bg\"></div>\n </div>\n <!-- ./wrapper -->\n\n <!-- jQuery 3 -->\n <script src=\"bower_components/jquery/dist/jquery.min.js\"></script>\n <!-- jQuery UI 1.11.4 -->\n <script src=\"bower_components/jquery-ui/jquery-ui.min.js\"></script>\n <!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->\n <script>\n \$.widget.bridge('uibutton', \$.ui.button);\n </script>\n <!-- Clipboard -->\n <script src=\"bower_components/clipboard.min.js\"></script>\n <!-- Bootbox -->\n <script src=\"bower_components/bootbox.min.js\"></script>\n <!-- Bootstrap 3.3.7 -->\n <script src=\"bower_components/bootstrap/dist/js/bootstrap.min.js\"></script>\n <!-- Morris.js charts -->\n <script src=\"bower_components/raphael/raphael.min.js\"></script>\n <script src=\"bower_components/morris.js/morris.min.js\"></script>\n <!-- FastClick -->\n <script src=\"bower_components/fastclick/lib/fastclick.js\"></script>\n <!-- DataTables -->\n <script src=\"bower_components/datatables.net/js/jquery.dataTables.min.js\"></script>\n <script src=\"bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js\"></script>\n <!-- AdminLTE App -->\n <script src=\"dist/js/adminlte.min.js\"></script>\n <!-- AdminLTE dashboard demo (This is only for demo purposes) -->\n <script src=\"dist/js/pages/dashboard.js\"></script>\n <!-- AdminLTE for demo purposes -->\n <script src=\"dist/js/demo.js\"></script>\n <script type=\"text/javascript\">\n \$(function () {\n var table = \$('#table').DataTable({\n \"ajax\": \"./sys/API.php?action=get_online_clients\",\n \"processing\": true,\n \"serverSide\": true,\n \"columns\": [\n {\"data\": \"username\"},\n {\"data\": \"stream_name\"},\n {\"data\": \"time\"},\n {\"data\": \"user_ip\"},\n {\"data\": \"country\"},\n {\"data\": \"internet_server\"}\n ],\n \"order\": [[ 0, \"asc\" ]],\n \"paging\": true,\n \"lengthChange\": true,\n \"searching\": true,\n \"ordering\": true,\n \"orderMulti\": false,\n \"info\": true,\n \"autoWidth\": false,\n \"language\": {\n \"processing\": \"Processando...\",\n \"lengthMenu\": \"Mostrar _MENU_ registros\",\n \"zeroRecords\": \"Não foram encontrados resultados\",\n \"info\": \"Mostrando de _START_ até _END_ de _TOTAL_ registros\",\n \"infoEmpty\": \"Mostrando de 0 até 0 de 0 registros\",\n \"sInfoFiltered\": \"\",\n \"sInfoPostFix\": \"\",\n \"search\": \"Buscar:\",\n \"url\": \"\",\n \"loadingRecords\": \"Carregando...\",\n \"paginate\": {\n \"first\": \"Primeiro\",\n \"previous\": \"Anterior\",\n \"next\": \"Seguinte\",\n \"last\": \"Último\"\n }\n }, \"drawCallback\": function () {\n \$('[data-toggle=\"tooltip\"]').tooltip();\n }\n });\n\n /* ADICIONAR/REMOVER CREDITOS */\n \$(document).on('click', '.btcredits', function (e) {\n e.preventDefault();\n const id = \$(this).data(\"id\");\n bootbox.dialog({\n title: \"Adic/Remover créditos\",\n message: '<p>'+\$(this).data(\"text\")+'</p><form class=\"form-horizontal\">' + '<div class=\"form-group col-md-6\"><label class=\"form-control-label\">Quantidade de créditos</label><div class=\"input-group\"><span class=\"input-group-addon\"><i class=\"fa fa-dollar\"></i></span><input type=\"number\" class=\"form-control\" required=\"\" value=\"0\" autocomplete=\"off\" id=\"credits\" name=\"credits\"></div></div>' + '<div class=\"form-group row\">' + '<div class=\"col-md-12\"><span class=\"text-blue\">Coloque a quantidade de créditos.<br>Para retirar créditos coloque o sinal de menos na frente.</span></div>' + '</div></form>',\n buttons: {\n cancel: {\n label: \"Cancelar\",\n className: 'btn-danger',\n callback: function () {\n }\n },\n noclose: {\n label: \"Confirmar\",\n className: 'btn-success btncredits',\n callback: function () {\n \$('.btncredits').hide();\n\n const credits = \$('#credits').val();\n\n \$.get('./sys/API.php?action=change_credits&reseller_id=' + id + '&credits=' + credits, function (data) {\n if (data.result === 'success') {\n table.ajax.reload();\n alert('Os créditos foram adicionados/removidos com sucesso!');\n } else {\n alert('Não foi possível adicionar/remover os créditos, verifique se a quantia é válida.');\n }\n }, \"json\");\n }\n },\n }\n });\n });\n\n /* BLOQUEAR/DESBLOQUEAR */\n \$(document).on('click', '.btblock', function (e) {\n e.preventDefault();\n const id = \$(this).data(\"id\");\n bootbox.dialog({\n title: \"Tem certeza que deseja bloquear/desbloquear este revendedor ?\",\n message: \"<p>\" + \$(this).data(\"text\") + \"</p>\",\n buttons: {\n cancel: {\n label: \"Cancelar\",\n className: 'btn-danger',\n callback: function () {\n }\n },\n noclose: {\n label: \"Confirmar\",\n className: 'btn-success btnblock',\n callback: function () {\n \$('.btnblock').hide();\n \$.get('./sys/API.php?action=toggle_block_reseller&reseller_id=' + id, function (data) {\n if (data.result === 'success') {\n table.ajax.reload();\n alert('Revendedor bloqueado/desbloqueado com sucesso!');\n } else {\n alert('Não foi possível bloquear/desbloquear este revendedor.');\n }\n }, \"json\");\n }\n },\n }\n });\n });\n });\n </script>\n </body>\n</html>\n";
?>