Cloudlog/application/views/debug/main.php

261 wiersze
10 KiB
PHP

<div class="container debug_main">
<h2><?php echo $page_title; ?></h2>
<div class="row">
<div class="col">
<div class="card">
<div class="card-header">Cloudlog Information</div>
<div class="card-body">
<table width="100%">
<tr>
<td>Version</td>
<td><?php echo $this->optionslib->get_option('version')."\n"; ?></td>
</tr>
<tr>
<td>Language</td>
<td><?php echo ucfirst($this->config->item('language'))."\n"; ?></td>
</tr>
<tr>
<td>Base URL</td>
<td><span id="baseUrl"><a href="<?php echo $this->config->item('base_url')?>" target="_blank"><?php echo $this->config->item('base_url'); ?></a></span> <span data-toggle="tooltip" data-original-title="<?php echo lang('copy_to_clipboard'); ?>" onclick='copyURL("<?php echo $this->config->item('base_url'); ?>")'><i class="copy-icon fas fa-copy"></span></td>
</tr>
</table>
</div>
</div>
<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>
<tr>
<td>MySQL Version</td>
<td><?php echo $this->db->version(); ?></td>
</tr>
</table>
</div>
</div>
<div class="card">
<div class="card-header">Codeigniter</div>
<div class="card-body">
<table width="100%">
<tr>
<td>Version</td>
<td><?php echo CI_VERSION; ?></td>
</tr>
</table>
</div>
</div>
<div class="card">
<div class="card-header">Folder Permissions</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>
<?php if (file_exists('.git')) { ?>
<?php
//Below is a failsafe where git commands fail
try {
$commitHash = trim(exec('git log --pretty="%H" -n1 HEAD'));
$branch = '';
$remote = '';
$owner = '';
// only proceed here if git can actually be executed
if ($commitHash != "") {
$commitDate = trim(exec('git log --pretty="%ci" -n1 HEAD'));
$line = trim(exec('git log -n 1 --pretty=%D HEAD'));
$pieces = explode(', ', $line);
$lastFetch = trim(exec('stat -c %Y .git/FETCH_HEAD'));
//Below is a failsafe for systems without the stat command
try {
$dt = new DateTime("@$lastFetch");
} catch(Exception $e) {
$dt = new DateTime(date("Y-m-d H:i:s"));
}
if (isset($pieces[1])) {
$remote = substr($pieces[1], 0, strpos($pieces[1], '/'));
$branch = substr($pieces[1], strpos($pieces[1], '/')+1);
$url = trim(exec('git remote get-url '.$remote));
if (strpos($url, 'https://github.com') !== false) {
$owner = preg_replace('/https:\/\/github\.com\/(\w+)\/Cloudlog\.git/', '$1', $url);
} else if (strpos($url, 'git@github.com') !== false) {
$owner = preg_replace('/git@github\.com:(\w+)\/Cloudlog\.git/', '$1', $url);
}
}
$tag = trim(exec('git describe --tags '.$commitHash));
}
} catch (\Throwable $th) {
$commitHash = "";
}
?>
<?php if($commitHash != "") { ?>
<div class="card">
<div class="card-header">Git Information</div>
<div class="card-body">
<table width="100%">
<tr>
<td>Branch</td>
<td>
<?php if($branch != "") { ?>
<?php if($owner != "") { ?>
<a target="_blank" href="https://github.com/<?php echo $owner; ?>/Cloudlog/tree/<?php echo $branch?>">
<?php } ?>
<span class="badge badge-success"><?php echo $branch; ?></span>
<?php if($owner != "") { ?>
</a>
<?php } ?>
<?php } else { ?>
<span class="badge badge-danger">n/a</span>
<?php } ?>
</td>
</tr>
<tr>
<tr>
<td>Commit</td>
<td>
<?php if($commitHash != "") { ?>
<a target="_blank" href="https://github.com/magicbug/Cloudlog/commit/<?php echo $commitHash?>"><span class="badge badge-success"><?php echo substr($commitHash,0,8); ?></span></a>
<?php } else { ?>
<span class="badge badge-danger">n/a</span>
<?php } ?>
</td>
</tr>
<tr>
<td>Tag</td>
<td>
<?php if($commitHash != "") { ?>
<a target="_blank" href="https://github.com/magicbug/Cloudlog/releases/tag/<?php echo substr($tag,0,strpos($tag, '-')); ?>"><span class="badge badge-success"><?php echo $tag; ?></span></a>
<?php } else { ?>
<span class="badge badge-danger">n/a</span>
<?php } ?>
</td>
</tr>
<tr>
<td>Last Fetch</td>
<td>
<?php echo ($dt == null ? '' : $dt->format(\DateTime::RFC850)); ?>
</td>
</tr>
</table>
</table>
</div>
</div>
<?php } ?>
<?php } ?>
</div>
</div>
</div>