<?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");
?>