[Debug] Added a simple debug panel under Admin

This debug gives you a quick overview of the server software and whether Cloudlog can write to all the needed folders.
pull/982/head
Peter Goodhall 2021-04-05 11:31:41 +01:00
rodzic f16acda91e
commit 627f1d8013
4 zmienionych plików z 213 dodań i 1 usunięć

Wyświetl plik

@ -0,0 +1,69 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Debug extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model('user_model');
if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
}
/* User Facing Links to Backup URLs */
public function index()
{
$this->load->helper('file');
// Test writing to backup folder
if ( ! write_file('backup/myfile.txt', "dummydata"))
{
$data['backup_folder'] = false;
}
else
{
if(unlink(realpath('backup/myfile.txt'))) {
$data['backup_folder'] = true;
} else {
$data['backup_folder'] = false;
}
}
// Test writing to updates folder
if ( ! write_file('updates/myfile.txt', "dummydata"))
{
$data['updates_folder'] = false;
}
else
{
if(unlink(realpath('updates/myfile.txt'))) {
$data['updates_folder'] = true;
} else {
$data['updates_folder'] = false;
}
}
// Test writing to uploads folder
if ( ! write_file('uploads/myfile.txt', "dummydata"))
{
$data['uploads_folder'] = false;
}
else
{
if(unlink(realpath('uploads/myfile.txt'))) {
$data['uploads_folder'] = true;
} else {
$data['uploads_folder'] = false;
}
}
$data['page_title'] = "Debug";
$this->load->view('interface_assets/header', $data);
$this->load->view('debug/main');
$this->load->view('interface_assets/footer');
}
}

Wyświetl plik

@ -0,0 +1,132 @@
<div class="container debug_main">
<h2><?php echo $page_title; ?></h2>
<div class="row">
<div class="col">
<div class="card">
<div class="card-header">Server Information</div>
<div class="card-body">
<table width="100%">
<tr>
<td>Server Software</td>
<td><?php echo $_SERVER['SERVER_SOFTWARE']; ?></td>
</tr>
<tr>
<td>PHP Version</td>
<td><?php echo phpversion(); ?></td>
</tr>
</table>
</div>
</div>
<div class="card">
<div class="card-header">Folder Perimissions</div>
<div class="card-body">
<p>This checks the folders Cloudlog uses are read and writeable by PHP.</p>
<table width="100%">
<tr>
<td>/backup</td>
<td>
<?php if($backup_folder == true) { ?>
<span class="badge badge-success">Success</span>
<?php } else { ?>
<span class="badge badge-danger">Failed</span>
<?php } ?>
</td>
</tr>
<tr>
<td>/updates</td>
<td>
<?php if($updates_folder == true) { ?>
<span class="badge badge-success">Success</span>
<?php } else { ?>
<span class="badge badge-danger">Failed</span>
<?php } ?>
</td>
</tr>
<tr>
<td>/uploads</td>
<td>
<?php if($uploads_folder == true) { ?>
<span class="badge badge-success">Success</span>
<?php } else { ?>
<span class="badge badge-danger">Failed</span>
<?php } ?>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="col">
<div class="card">
<div class="card-header">PHP Modules</div>
<div class="card-body">
<table width="100%">
<tr>
<td>curl</td>
<td>
<?php if(in_array ('curl', get_loaded_extensions())) { ?>
<span class="badge badge-success">Installed</span>
<?php } else { ?>
<span class="badge badge-danger">Not Installed</span>
<?php } ?>
</td>
</tr>
<tr>
<td>MySQL</td>
<td>
<?php if(in_array ('mysqli', get_loaded_extensions())) { ?>
<span class="badge badge-success">Installed</span>
<?php } else { ?>
<span class="badge badge-danger">Not Installed</span>
<?php } ?>
</td>
</tr>
<tr>
<td>mbstring</td>
<td>
<?php if(in_array ('mbstring', get_loaded_extensions())) { ?>
<span class="badge badge-success">Installed</span>
<?php } else { ?>
<span class="badge badge-danger">Not Installed</span>
<?php } ?>
</td>
</tr>
<tr>
<td>xml</td>
<td>
<?php if(in_array ('xml', get_loaded_extensions())) { ?>
<span class="badge badge-success">Installed</span>
<?php } else { ?>
<span class="badge badge-danger">Not Installed</span>
<?php } ?>
</td>
</tr>
<tr>
<td>openssl</td>
<td>
<?php if(in_array ('openssl', get_loaded_extensions())) { ?>
<span class="badge badge-success">Installed</span>
<?php } else { ?>
<span class="badge badge-danger">Not Installed</span>
<?php } ?>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>

Wyświetl plik

@ -146,6 +146,9 @@
<a class="dropdown-item" href="<?php echo site_url('update');?>" title="Update Country Files"><i class="fas fa-sync"></i> Update Country Files</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="<?php echo site_url('debug');?>" title="Debug Information"><i class="fas fa-tools"></i> Debug Information</a>
</div>
</li>

Wyświetl plik

@ -224,4 +224,12 @@ color: #ffffff;
#create_station_profile .row {
margin-bottom: 10px;
}
}
/*
* Debug CSS
*/
.debug_main .card {
margin-bottom: 10px;
}