<?php
|
|
/**
|
|
* @package uForum
|
|
* @file admin/check_script.php
|
|
* @version $Id$
|
|
* @copyright 2007-2010 (c) PioDer <[email protected]>
|
|
* @link http://www.pioder.pl/
|
|
* @license see LICENSE.txt
|
|
**/
|
|
define('IN_uF', true);
|
|
//include files
|
|
require('./../config.php');
|
|
require('./../includes/constants.php');
|
|
require('./../includes/db.php');
|
|
require('./../includes/errors.php');
|
|
//connect to database
|
|
DataBase::db_connect();
|
|
require('./../includes/sessions.php');
|
|
require('./../includes/classes/class_user.php');
|
|
require('./../common.php');
|
|
require('./../includes/admin/class_main.php');
|
|
require('./../includes/classes/class_forum.php');
|
|
require('./../lngs/'.Admin_Over::DefaultLang().'/admin.php');
|
|
require('./../admin/check_script_data.php');
|
|
SessDelInvalid();
|
|
SessRegister();
|
|
SessDeleteOld();
|
|
|
|
if (User::UserInformation($_SESSION['uid'],'rank')!=2)
|
|
{
|
|
admin_message_forum($lng['yournotadmin'],'../index.php');
|
|
}
|
|
$ERROR = './template/blank.tpl';
|
|
//functions .. in this script
|
|
function check_size_md5($file)
|
|
{
|
|
if ( file_exists($file) )
|
|
{
|
|
$result = @filesize($file);
|
|
return md5($result);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
function mysqlversion()
|
|
{
|
|
$temp = '';
|
|
$result = DataBase::fetch(DataBase::sql_query("SELECT VERSION() AS mysql_version",GENERAL,'Could not read mysql version.'));
|
|
$result = $result['mysql_version'];
|
|
for($i=0;$i<5;$i++)
|
|
{
|
|
$temp .= $result[$i];
|
|
}
|
|
$result = $temp;
|
|
unset($temp);
|
|
return($result);
|
|
}
|
|
|
|
function db_size()
|
|
{
|
|
$sql = "SHOW TABLE STATUS";
|
|
$db_size = 0;
|
|
$query = DataBase::sql_query($sql,GENERAL,'Could not obtain database size');
|
|
while ($result = DataBase::fetch($query))
|
|
{
|
|
$db_size += $result['Index_length'];
|
|
$db_size += $result['Data_length'];
|
|
}
|
|
$db_size = $db_size / 1024;
|
|
if ($db_size >=1024)
|
|
{
|
|
$db_size = $db_size / 1024;
|
|
$db_size = round($db_size,2);
|
|
$db_size = $db_size.' MB';
|
|
}
|
|
else
|
|
{
|
|
$db_size = round($db_size,2);
|
|
$db_size = $db_size.' KB';
|
|
}
|
|
return $db_size;
|
|
}
|
|
|
|
function forum_size($path = './../')
|
|
{
|
|
$size = 0;
|
|
if (is_dir($path))
|
|
{
|
|
if ($dh = opendir($path))
|
|
{
|
|
while (($file = readdir($dh)) !== false)
|
|
{
|
|
if ($file != '.' && $file != '..')
|
|
{
|
|
if (is_dir($path.$file))
|
|
{
|
|
$size+= forum_size($path.$file.'/');
|
|
}
|
|
else
|
|
{
|
|
$size+= filesize($path.$file);
|
|
}
|
|
}
|
|
}
|
|
closedir($dh);
|
|
}
|
|
return $size;
|
|
}
|
|
else
|
|
{
|
|
return filesize($path);
|
|
}
|
|
}
|
|
$forum_size = forum_size();
|
|
$forum_size = $forum_size / 1024;
|
|
if ($forum_size >=1024)
|
|
{
|
|
$forum_size = $forum_size / 1024;
|
|
$forum_size = round($forum_size,2);
|
|
$forum_size = $forum_size.' MB';
|
|
}
|
|
else
|
|
{
|
|
$forum_size = round($forum_size,2);
|
|
$forum_size = $forum_size.' KB';
|
|
}
|
|
|
|
$count =0;
|
|
|
|
for($i=0; $i<count($script_files);$i++)
|
|
{
|
|
$actual = check_size_md5($script_files[$i]);
|
|
$rule = $size_md5[$script_files[$i]];
|
|
if ($actual!=$rule)
|
|
{
|
|
$count +=1;
|
|
}
|
|
}
|
|
$sql_version = mysqlversion();
|
|
$skin=array(
|
|
'main_beam'=>$lng['scriptstat'],
|
|
'L.name'=>$lng['name'],
|
|
'L.value'=>$lng['value'],
|
|
|
|
//php version
|
|
'L.php_version'=>$lng['php_version'],
|
|
'PHP.version'=>phpversion(),
|
|
'PHP.value' => (phpversion()>='5.0.7') ? '<font color="green">OK</font>' : ' <font color="red">Error - No OK</font>',
|
|
|
|
//extension MySQLi loaded?
|
|
'L.mySQLi_loaded'=>$lng['mysqli_loaded'],
|
|
'mySQLi_loaded'=>(extension_loaded('mysqli')) ? $lng['yes'] : $lng['no'],
|
|
'mySQLi_loaded.value'=> (extension_loaded('mysqli')) ? '<font color="green">OK</font>' : ' <font color="red">Error - No OK</font>',
|
|
|
|
//mysql version
|
|
'mySQL.version'=>$sql_version,
|
|
'L.mySQL_version'=>$lng['mysql_version'],
|
|
'mySQL.value'=>($sql_version>='4.1') ? '<font color="green">OK</font>' : ' <font color="red">Error - No OK</font>',
|
|
|
|
//database size
|
|
'L.db_size' => $lng['db_size'],
|
|
'db_size' => db_size(),
|
|
|
|
//forum size
|
|
'L.forum_size' => $lng['forum_size'],
|
|
'forum_size' => $forum_size,
|
|
|
|
//catalogs writable
|
|
'L.cat_name'=>$lng['catalog'],
|
|
'cat1.name'=> $folders[0],
|
|
'cat1.value'=> (@is_writable($folders[0])) ? '<font color="green">'.$lng['is_writable'].' - OK</font>' : '<font color="red">'.$lng['not_writable'].' Error - No OK</font>',
|
|
'cat2.name'=> $folders[1],
|
|
'cat2.value'=> (@is_writable($folders[1])) ? '<font color="green">'.$lng['is_writable'].' - OK</font>' : '<font color="red">'.$lng['not_writable'].' Error - No OK</font>',
|
|
'cat3.name'=> $folders[2],
|
|
'cat3.value'=> (!@is_writable($folders[2])) ? '<font color="green">'.$lng['not_writable'].' - OK</font>' : '<font color="red">'.$lng['is_writable'].' Error - No OK</font>',
|
|
'successfully' => ($count <1) ? '<font color="green">'.$lng['files_is_good'].' ('.count($script_files).')</font>' : '<font color="red">'.$lng['files_not_good'].$count.'</font>'
|
|
);
|
|
Admin_Over::GenerateHeader();
|
|
require('./template/check_script.tpl');
|
|
for($i=0; $i<count($script_files);$i++)
|
|
{
|
|
$actual = check_size_md5($script_files[$i]);
|
|
$rule = $size_md5[$script_files[$i]];
|
|
if (file_exists($script_files[$i]))
|
|
{
|
|
if ($actual!=$rule)
|
|
{
|
|
$skin=array(
|
|
'L.sum_rule'=>$lng['original_sum'],
|
|
'L.sum_actual'=>$lng['actual_sum'],
|
|
'sum_rule'=>$rule,
|
|
'sum_actual'=>$actual,
|
|
'L.invalid_md5sum'=>$lng['invalid_md5sum'].' ('.substr($script_files[$i], strrpos($script_files[$i], '/') + 1, strlen($script_files[$i])).')'
|
|
);
|
|
require('./template/invalidfile_body.tpl');
|
|
}
|
|
}
|
|
}
|
|
require('./template/overall_footer.tpl');
|
|
|
|
?>
|