<? exit;
include('../include/path.php');
if(isset($user) && ($rank&128)==128){ // если админ
$dir = (isset($_GET['dir']) && !preg_match('/[^a-z0-9_\/-]/iu',$_GET['dir']))?$_GET['dir']:dirname(dirname($_SERVER['SCRIPT_FILENAME']));
// получение каталогов для загрузки
function getAllCat($path){
if(file_exists($path)) {
include($path);
}
if(isset($cat)){
foreach($cat as $key1=>$value1){
foreach($value1 as $key2=>$value2){
if(!array_key_exists($key2,$cat)){ $temp[$key2]=$cat[$key1][$key2]; }
}
}
}
if(isset($temp)){ return $temp; }
return false;
}
$catal=getAllCat($path.'/../database/loads/category.php');
// функция вывода содежимого папок
function browser($path,$dir){
if(file_exists($path.'/manage/ctype.php')) {
include($path.'/manage/ctype.php');
}
$array_file = array();
$array_dir = array();
$opendir = opendir($dir);
while ($list_file = readdir($opendir)) {
$isdir = @is_dir($dir."/".$list_file);
if ($isdir == true) {
if (($list_file != ".") && ($list_file != "..")) {
array_push($array_dir, $list_file);
}
}
if ($isdir == false) {
array_push($array_file, $list_file);
}
}
array_multisort ($array_dir, SORT_ASC, SORT_STRING );
array_multisort ($array_file, SORT_ASC, SORT_STRING );
reset ($array_dir);
reset ($array_file);
$temp=array();
foreach($array_dir as $value){
$temp[]= '<a href="mancont.php?dir='.rawurlencode(($dir.'/'.$value)).'&'.SID.'">'.$value.'</a>';
}
foreach($array_file as $value){
$part=explode('.',$value);
if(count($part)==2) {
if(array_key_exists($part[1],$ctype)){
$temp[]='<input name="chbox['.$part[0].']" type="checkbox">'.$value.'<input type="hidden" name="fexp['.$part[0].']" value="'.$part[1].'">';
}else{
$temp[]=$value;
}
}
}
return $temp;
}
// обработка POST данных и добавление в базу
if(isset($_POST['fexp']) && isset($_POST['chbox']) && isset($_POST['fcat']) && $catal){
//include($path.'/include/datafunc.php');
if(file_exists($path.'/manage/ctype.php')) {
include($path.'/manage/ctype.php');
}
if(file_exists($path.'/../database/loads/category.php')) {
include($path.'/../database/loads/category.php');
}
foreach ($_POST['chbox'] as $key=>$value){
if(isset($ctype) && array_key_exists(StrToLow($_POST['fexp'][$key]),$ctype)){
if(!is_dir($path.'/files/'.StrToLow($_POST['fexp'][$key]))){ mkdir($path.'/files/'.StrToLow($_POST['fexp'][$key]),0770); }
if(array_key_exists($_POST['fcat'],$catal)){ // является ли каталог допустимым к загрузке
if(!load_in_base($path.'/../database/loads/base.dat',array(3,StrToLow($key)),array(4,$_POST['fexp'][$key]))){
if(!file_exists($path.'/files/'.StrToLow($_POST['fexp'][$key]).'/'.StrToLow($key).'.'.StrToLow($_POST['fexp'][$key]))){ // если такой файл еще не существет
//копируем в папку с расширением
if (copy($dir.'/'.$key.'.'.$_POST['fexp'][$key], $path.'/files/'.StrToLow($_POST['fexp'][$key]).'/'.StrToLow($key).'.'.StrToLow($_POST['fexp'][$key]))) {
if(StrToLow($_POST['fexp'][$key])=='jar'){ getJAD($path.'/files/jar/',StrToLow($key)); } // если ява, генерируем jad
if(!file_exists($path.'/../database/loads/base.dat')) {
create_file($path.'/../database/loads/base.dat','6|1|6|128|4|255|1024|20|10|1|10|10');
}
// добавляем в базу
set_logs($path.'/../database/loads/base.dat',array(1,$_POST['fcat'],StrToLow($key),StrToLow($_POST['fexp'][$key]),StrToLow($key),'',iconv('utf-8','cp1251',$user),time(),'2',filesize($dir.'/'.$key.'.'.$_POST['fexp'][$key]),'0'));
take_cm($cat,$_POST['fcat'],true); // инкремент загрузки
// удаляем из общей папки
unlink($dir.'/'.$key.'.'.$_POST['fexp'][$key]);
$error[]='- Файл '.$key.'.'.$_POST['fexp'][$key].' успешно добавлен<br>';
}else{ $error[]='- Ошибка при копировании файла '.$key.'.'.$_POST['fexp'][$key].'<br>'; }
}else{
if(StrToLow($_POST['fexp'][$key])=='jar'){ getJAD($path.'/files/jar/',StrToLow($key)); } // если ява, генерируем jad
// добавляем в базу
if(!file_exists($path.'/../database/loads/base.dat')) {
create_file($path.'/../database/loads/base.dat','6|1|6|128|4|255|1024|20|10|1|10|10');
}
set_logs($path.'/../database/loads/base.dat',array(1,$_POST['fcat'],StrToLow($key),StrToLow($_POST['fexp'][$key]),StrToLow($key),'',iconv('utf-8','cp1251',$user),time(),'2',filesize($dir.'/'.$key.'.'.$_POST['fexp'][$key]),'0'));
take_cm($cat,$_POST['fcat'],true); // инкремент загрузки
$error[]='- Файл '.$key.'.'.$_POST['fexp'][$key].' успешно добавлен<br>';
}
}else{ $error[]='- Файл '.$key.'.'.$_POST['fexp'][$key].' уже существует в базе<br>'; }
}else{ $error[]='- Не выбран каталог для файлa '.$key.'.'.$_POST['fexp'][$key].'<br>'; }
}else{ $error[]='- Файл '.$key.'.'.$_POST['fexp'][$key].' не может быть загружен. Не прописан Content-type для '.$_POST['fexp'][$key].'<br>'; }
}
}
function put_content(){
global $path,$catal,$dir,$error;
echo '<div class="title">Распределение контента</div>';
if(isset($error)) { echo implode($error); }
//print_r($dir);
if(@is_dir(dirname($dir))){ echo '<a href="mancont.php?dir='.rawurlencode(dirname($dir)).'&'.SID.'">..</a><br>'; }
echo'<form action="mancont.php?dir='.$dir.'&'.SID.'" method="post" accept-charset="utf-8">';
$temp=array();
$temp=browser($path,$dir);
foreach($temp as $value){
echo $value.'<br>';
}
echo '<div class="header" align="center">Добавление файлов</div>';
//$catal=getAllCat($path.'/../database/loads/category.php');
echo'Категория:<br><select name="fcat">';
echo'<option value="no"></option>';
foreach($catal as $key=>$value){
$str=get_string($path.'/../database/loads/category.dat',$value,2);
echo'<option value="'.$key.'">'.iconv('cp1251','utf-8',$str).'</option>';
}
echo'</select><br>';
echo'<input type="submit" name="add" class="button" value="Добавить">';
echo'</form>';
echo '<div class="nav"><a href="index.php?'.SID.'">панель управления</a><br>';
echo '<a href="../?'.SID.'">на главную</a></div>';
}
} else {
$link = '1; URL=../';
function put_content() {
echo '<a href="../">далее...</a>';
}
}
// подключение дизайна
design();?>