mirror of https://github.com/itflow-org/itflow
Added Installed Modules, Database stats such as Number Tables, fields, rows and db size, php, mysql and OS Versions, along with upload directory stats including file count and size
This commit is contained in:
parent
eb99807214
commit
386eb0c382
|
|
@ -3,6 +3,36 @@ require_once("inc_all_settings.php");
|
|||
require_once("database_version.php");
|
||||
require_once("config.php");
|
||||
|
||||
$folderPath = 'uploads';
|
||||
|
||||
function countFilesInDirectory($dir) {
|
||||
$count = 0;
|
||||
$size = 0;
|
||||
$files = scandir($dir);
|
||||
|
||||
foreach ($files as $file) {
|
||||
if ($file === '.' || $file === '..') {
|
||||
continue;
|
||||
}
|
||||
|
||||
$filePath = $dir . '/' . $file;
|
||||
|
||||
if (is_file($filePath)) {
|
||||
$count++;
|
||||
$size += filesize($filePath);
|
||||
} elseif (is_dir($filePath)) {
|
||||
$result = countFilesInDirectory($filePath);
|
||||
$count += $result['count'];
|
||||
$size += $result['size'];
|
||||
}
|
||||
}
|
||||
|
||||
return [
|
||||
'count' => $count,
|
||||
'size' => $size
|
||||
];
|
||||
}
|
||||
|
||||
// Function to compare two arrays recursively and return the differences
|
||||
function arrayDiffRecursive($array1, $array2) {
|
||||
$diff = array();
|
||||
|
|
@ -81,7 +111,7 @@ function fetchDatabaseStructureFromServer() {
|
|||
}
|
||||
}
|
||||
|
||||
$mysqli->close();
|
||||
//$mysqli->close();
|
||||
|
||||
return $tables;
|
||||
}
|
||||
|
|
@ -115,6 +145,7 @@ $differences = arrayDiffRecursive($desiredStructure, $currentStructure);
|
|||
<div class="card-body">
|
||||
|
||||
<h3>Database Structure Check</h3>
|
||||
|
||||
<?php
|
||||
if (empty($differences)) {
|
||||
echo "The database structure matches the desired structure.";
|
||||
|
|
@ -124,6 +155,114 @@ $differences = arrayDiffRecursive($desiredStructure, $currentStructure);
|
|||
}
|
||||
?>
|
||||
|
||||
<hr>
|
||||
|
||||
<h4>Database stats</h4>
|
||||
<?php
|
||||
// Query to fetch the number of tables
|
||||
$tablesQuery = "SHOW TABLES";
|
||||
$tablesResult = $mysqli->query($tablesQuery);
|
||||
|
||||
// Check if the query was successful
|
||||
if ($tablesResult) {
|
||||
$numTables = $tablesResult->num_rows;
|
||||
$numFields = 0;
|
||||
$numRows = 0;
|
||||
|
||||
// Loop through each table
|
||||
while ($row = $tablesResult->fetch_row()) {
|
||||
$tableName = $row[0];
|
||||
|
||||
// Query to fetch the number of fields
|
||||
$fieldsQuery = "DESCRIBE `$tableName`";
|
||||
$fieldsResult = $mysqli->query($fieldsQuery);
|
||||
|
||||
// Check if the query was successful
|
||||
if ($fieldsResult) {
|
||||
$numFields += $fieldsResult->num_rows;
|
||||
|
||||
// Query to fetch the number of rows
|
||||
$rowsQuery = "SELECT COUNT(*) FROM `$tableName`";
|
||||
$rowsResult = $mysqli->query($rowsQuery);
|
||||
|
||||
// Check if the query was successful
|
||||
if ($rowsResult) {
|
||||
$numRows += $rowsResult->fetch_row()[0];
|
||||
} else {
|
||||
echo "Error executing query: " . $mysqli->error;
|
||||
}
|
||||
} else {
|
||||
echo "Error executing query: " . $mysqli->error;
|
||||
}
|
||||
}
|
||||
|
||||
echo "Number of tables: " . $numTables . "<br>";
|
||||
echo "Total number of fields: " . $numFields . "<br>";
|
||||
echo "Total number of rows: " . $numRows . "<br>";
|
||||
} else {
|
||||
echo "Error executing query: " . $mysqli->error;
|
||||
}
|
||||
// Query to fetch the database size
|
||||
$query = "SELECT table_schema AS 'Database', SUM(data_length + index_length) / (1024 * 1024) AS 'Size (MB)'
|
||||
FROM information_schema.TABLES WHERE table_schema = '$database'
|
||||
GROUP BY table_schema";
|
||||
$result = $mysqli->query($query);
|
||||
|
||||
// Check if the query was successful
|
||||
if ($result) {
|
||||
$row = $result->fetch_assoc();
|
||||
$dbSize = $row['Size (MB)'];
|
||||
echo "Database Size: " . $dbSize . " MB";
|
||||
} else {
|
||||
echo "Error executing query: " . $conn->error;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>Installed PHP Modules</h3>
|
||||
|
||||
<?php
|
||||
$loadedModules = get_loaded_extensions();
|
||||
foreach ($loadedModules as $module) {
|
||||
echo $module . "<br>";
|
||||
}
|
||||
?>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>Versions</h3>
|
||||
|
||||
<?php
|
||||
$phpVersion = phpversion();
|
||||
echo "PHP version: " . $phpVersion;
|
||||
echo "<br>";
|
||||
|
||||
$mysqlVersion = $mysqli->server_version;
|
||||
echo "MySQL Version: " . $mysqlVersion;
|
||||
echo "<br>";
|
||||
|
||||
$operatingSystem = shell_exec('uname -a');
|
||||
echo "Operating System: " . $operatingSystem;
|
||||
|
||||
?>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>File System</h3>
|
||||
<?php
|
||||
$result = countFilesInDirectory($folderPath);
|
||||
|
||||
$totalFiles = $result['count'];
|
||||
$totalSizeMB = round($result['size'] / (1024 * 1024), 2);
|
||||
|
||||
echo "Total number of files in $folderPath and its subdirectories: " . $totalFiles . "<br>";
|
||||
echo "Total size of files in $folderPath and its subdirectories: " . $totalSizeMB . " MB";
|
||||
?>
|
||||
|
||||
<hr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue