Просмотр файла inc/baze.php

Размер файла: 6.19Kb
<?php
#----0000------------------------------------#
#----00--00----------------------------------#
#----00---000----000000-----000000-#
#----00---0000--00----00----00---00--#
#----00---0000--00-----------00---------#
#----00---0000--000000----00000---#
#----00---000---00-----------00---------#
#----00--00-----00---00-----00---------#
#----0000-------000000----00--------#
#-----------------------------------------------------------#
#     Загруз центр вер. 2.00 для Wap Motor       #
#                            Зделано  def                            #
#                            ICQ: 4627473                          #
#        Site of the project: http://wapruk.ru         #
#------------------------------------------------------------#
require_once ("../includes/start.php");
require_once ("../includes/functions.php");
require_once ("../includes/header.php");
include_once ("../themes/".$config['themes']."/index.php");

require_once"func.inc";

//////////////////////////////////////////////////////////////////////////////////////
$text = @file("../../local/profil/$log.prof"); 
if ($text!=""){
$udata = explode(":||:",$text[0]);
$provlog=trim($udata[0]);
$provpar=trim($udata[1]);
$dostup=trim($udata[7]);}
////////////////////////////////////////////////////////

if (is_user()){
if (is_admin(array(101,102,103))){
///////////////////////////////////////работа с базой////////////////////////////////////////////
set_time_limit(0);

function dir_scan($paths)
{
	$paths = $paths."/*";
	$array = glob($paths);
	static $dir_aray;
	foreach ($array as $vv)
	{
	if(is_dir($vv))
	    {
	    $dir_aray[] = $vv;
	    dir_scan($vv);
        }
    }
    return $dir_aray;
}

if($act=="open"){
$baz = baze('../baze');
if($baz==''){
$fn = dir_scan("../files");
	foreach ($fn as $value){
	$id = 0;
	$did = str_replace("../files", "", $value);
	list($tip,$oform)=file_type("$value");
	$dik = str_replace("/", "", $did);
	$odir = opendir($value);
		while($fid = readdir($odir)){
			$ex = format($fid);
			if($fid != "." and $fid != ".." and in_array($ex,$oform)){
			$id = $id+1;
			$upltime = filectime("$value/$fid");
			$rr = str_replace(".".$ex,"",$fid);
			$size = filesize("$value/$fid");
			$fp = fopen("../baze/$dik.baz","a+");
			$zap = "$id|0|0|Нет|||$upltime|$size||$rr|$ex|$did/$fid|\r\n";
			fputs($fp,"$zap");
			fflush($fp);
			fclose($fp);
			@chmod("../baze/$file", 0666);
			}
		}
	}
echo "База создана. <br/><br/>";}
else{echo "База уже была создана! <br/><br/>";}
}
if($act=="obnov"){
$odir = opendir("../baze");
while ($file = readdir($odir)){
if(ereg(".baz$", "$file"))
{
	$ft = @file("../baze/$file");
		foreach($ft as $val){
			$data = explode("|",$val);
			$provs[] = $data[11];
		}
	}
}
closedir($odir);

$fn = dir_scan("../files");
	foreach ($fn as $value){
	$did = str_replace("../files", "", $value);
	list($tip,$oform)=file_type("$value");
	$dik = str_replace("/", "", $did);
	$odir = opendir($value);
		while($fid = readdir($odir)){
			$ex = format($fid);
			if($oform){
			if(($fid != ".") and ($fid != "..") and (in_array($ex,$oform)==true) and (in_array("$did/$fid", $provs)==false)){
			if(is_file("../baze/$dik.baz")){
			$upltime = filectime("$value/$fid");
			$ext = pathinfo("$value/$fid");
			$ext = $ext[extension];
			$rr = str_replace(".".$ext,"",$fid);
			$size = filesize("$value/$fid");
			$file = @file("../baze/$dik.baz");
			$count = count($file);
			$id = $count+1;
			$fp = fopen("../baze/$dik.baz","a+");
			$zap = "$id|0|0|Нет|||$upltime|$size||$rr|$ex|$did/$rr.$ex|\r\n";
			fputs($fp,"$zap");
			fflush($fp);
			fclose($fp);
			@chmod("../baze/$file", 0666);
			}else{
			$upltime = filectime("$value/$fid");
			$ext = pathinfo("$value/$fid");
			$ext = $ext[extension];
			$rr = str_replace(".".$ext,"",$fid);
			$size = filesize("$value/$fid");
			$fp = fopen("../baze/$dik.baz","a+");
			$file = @file("../baze/$dik.baz");
			$count = count($file);
			$id = $count+1;
			$zap = "$id|0|0|Нет|||$upltime|$size||$rr|$ex|$did/$rr.$ex|\r\n";
			fputs($fp,"$zap");
			fclose($fp);
			@chmod("../baze/$file", 0666);}
			}}
		}
	}
echo "База обновлена. <br/><br>";
}
if($act=="clean"){
///////////проверка базы на наличие файлов в загрузе
$odir = opendir("../baze");
while ($file = readdir($odir)){
if ( (($file!=".")&&($file!="..")&&($file!=".htaccess")) and is_file("../baze/$file"))
{
	$ft = @file("../baze/$file");
	$total = count($ft);
	$fp=fopen("../baze/$file","a+");
	flock ($fp,LOCK_EX);
	ftruncate ($fp,0);
		for($i=0; $i<=$total; $i++){
			$data = explode("|",$ft[$i]);
			$dat = explode("|",$ft[$i-1]);
			$prov[] = $dat[11];
			/////////если файл не существует то запись о нем уничтожаем. А также уничтожаем повторяющиеся записи о файле если они существуют
			if(!is_file("../files$data[11]") or (in_array($data[11], $prov) == true)){
			fputs($fp,"");}
			else{fputs($fp,$ft[$i]);}
			fflush($fp);
		}
	flock($fp,LOCK_UN);
	fclose($fp);
	@chmod("../baze/$file", 0666);
	}
}
echo "База очищена. <br/><br>";
}

if($act=="optim"){
$odir = opendir("../baze");
while ($file = readdir($odir)){
if(ereg(".baz$", "$file"))
{	$id = 0;
	$ft = @file("../baze/$file");
	$fp = fopen("../baze/$file","w+");
	flock ($fp,LOCK_EX);
		foreach($ft as $val){
			$data = explode("|",$val);
			$sizes = filesize("../files$data[11]");
			$id = $id+1;
			/////////обновляем инфо о размере файла и переписываем его id
			if(is_file("../files$data[11]") and (($id!==$data[0]) or ($sizes!==$data[5]))){
			fputs($fp,"$id|$data[1]|$data[2]|$data[3]|$data[4]|$data[5]|$data[6]|$sizes|$data[8]|$data[9]|$data[10]|$data[11]|\r\n");}
			else{fputs($fp,$val);}
			fflush($fp);
		}
	flock($fp,LOCK_UN);
	fclose($fp);
	@chmod("../baze/$file", 0666);
	}
}
closedir($odir);
echo "База оптимизирована. <br/><br>";
}

echo "<center>
[<a href='../index.php?did='>К загрузкам</a>]<br>
[<a href='../../index.php'>На главную</a>]</center>";
} else { echo "Ипать, колотить! Смотрите, у нас Хакир завелся!!!";}}
include_once ("../themes/".$config['themes']."/foot.php");
?>