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

Размер файла: 21.31Kb
<?php
require_once ("../includes/start.php");
require_once ("../includes/functions.php");
require_once ("../includes/header.php");
include_once ("../themes/".$config['themes']."/index.php");


require_once 'conf.inc';
require_once 'func.inc';

extract($HTTP_GET_VARS);
extract($HTTP_POST_VARS);

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

////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (is_user()){
if (is_admin(array(101,102))){
if(!isset($did)){echo "Ошибка!";}
if($deld==1){
echo "</div><div class=b>Удаление каталога</div><div>
<form action='dir.php?did=$did&deld=2&SID=$SID' method=post>Выберите папку для удаления:<br>";
$odir=opendir("../files$did");
while (($fid=readdir($odir))==true){
if ( (($fid!=".")&&($fid!="..")) and is_dir("../files$did/$fid"))
{$all_dir[]="/$fid";}}
closedir($odir);
echo "<select name='del_dir'>";
foreach ($all_dir as $n=>$fid){
	$name=str_replace("/","",$fid);
	echo "<option value=$fid>$name</option>";}
echo "</select><br><input type=submit value='Удалить'></form>
<center>[<a href='../index.php?did=$did&SID=$SID'>К папке</a>]<br>[<a href='../index.php?did='>К загрузкам</a>]<br>[<a href='../../index.php'>На главную</a>]</center>";}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if($deld==2){
@chmod('../files'.$did.$del_dir, 0777);

$odir=opendir("../files$did$del_dir");
while (($fid=readdir($odir))==true){
if (($fid!=".")&&($fid!=".."))
{if((is_dir("../file$did$del_dir/$fid"))==false){unlink("../files$did$del_dir/$fid");}
}}closedir($odir);

$dl=rmdir('../files'.$did.$del_dir);

if($dl==true){
$fn=@file("../files$did/dir.name");
$pr = str_replace("/", "", $del_dir);
	foreach ($fn as $val){
	$p = explode("::", $val);
	$ar[] = $p[0];}
	$fp=fopen("../files$did/dir.name","a+");
	flock ($fp,LOCK_EX);
	ftruncate ($fp,0);
	foreach ($fn as $n=>$val){
	$pro = explode("::", $val);
    if(!strcmp($pro[0], $pr)){
	@chmod("../files$did/dir.name",0666);
    fwrite($fp, "");
    }else{fwrite($fp, $fn[$n]);}}
	flock($fp,LOCK_UN);
	fclose($fp);

echo "Папка удалена <br><center>[<a href='../index.php?did=$did&SID=$SID'>К папке</a>]<br>
[<a href='../index.php?did=&SID=$SID'>К загрузкам</a>]<br>
[<a href='../../index.php?SID=$SID'>На главную</a>]</center>";}
else {echo"Ошибка <center>[<a href='dir.php?did=$did&deld=1&SID=$SID'>Ещё раз</a>]<br>[<a href='../index.php?did=$did&SID=$SID'>К папке</a>]<br>[<a href='../index.php?did=?SID=$SID'>К загрузкам</a>]<br>[<a href='../../index.php?SID=$SID'>На главную</a>]</center>";}
	echo "<br><br>";
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($ren==1){
	echo "</div><div class=b>Переименование каталога</div><div><form action='dir.php?did=$did&ren=2&SID=$SID' method=post>
	Выберите папку:<br>";
$odir=opendir("../files$did");
while (($fid=readdir($odir))==true){
if ( (($fid!=".")&&($fid!="..")) and is_dir("../files$did/$fid"))
{$all_dir[]="/$fid";}}
closedir($odir);
echo "<select name='old_name_dir'>";
foreach ($all_dir as $fid){
	$id='';
	$name=str_replace("/","",$fid);
	$fn=@file("../files$did/dir.name");
	foreach ($fn as $nam){
	$nd=explode('::',$nam);
if($nd[0] == $name){$id = trim($nd[1]);}}
echo "<option value=$fid>$name::$id</option>";}
echo "</select><br>
Новое имя папки (имя папки :: название для отображения):<br>
<input type=text name=new_name_dir maxlength=50><br>
<input type=submit value='Переименовать'></form>
<center>[<a href='../index.php?did=$did&SID=$SID'>К папке</a>]<br>
[<a href='../index.php?did=&SID=$SID'>К загрузкам</a>]<br>
[<a href='../../index.php?SID=$SID'>На главную</a>]</center>";
}if($ren==2){

	$str1=explode("::",$new_name_dir);
	$rn=rename("../files$did$old_name_dir","../files$did/$str1[0]");
	
	if($rn==true){
	$pr = str_replace("/", "", $old_name_dir);
	@chmod("../files$did/dir.name", 0666);
	$fn=@file("../files$did/dir.name");
	foreach ($fn as $val){
	$p = explode("::", $val);
	$ar[] = $p[0];}
	if(in_array($pr ,$ar)){
	$fp=fopen("../files$did/dir.name","a+");
	flock ($fp,LOCK_EX);
	ftruncate ($fp,0);
	foreach ($fn as $n=>$val){
	$pro = explode("::", $val);
    if(!strcmp($pro[0], $pr)){
	@chmod("../files$did/dir.name", 0666);
    fwrite($fp, "$new_name_dir\r\n");
    }else{fwrite($fp, $fn[$n]);}}
	flock($fp,LOCK_UN);
	fclose($fp);
	}else{$fp=fopen("../files$did/dir.name","a+");
	fwrite($fp, "$new_name_dir\r\n");
	fclose($fp);}
	@chmod("../files$did/dir.name", 0666);
	
echo "Папка переименована <center>[<a href='../index.php?did=$did&SID=$SID'>К папке</a>]<br>[<a href='../index.php?did=&SID=$SID'>К загрузкам</a>]<br>[<a href='../../index.php?SID=$SID'>На главную</a>]</center>";}
    else {echo"Ошибка <center>[<a href='dir.php?did=$did&ren=1&SID=$SID'>Ещё раз</a>]<br>[<a href='../index.php?did=$did&SID=$SID'>К папке</a>]<br>[<a href='../index.php?did=&SID=$SID'>К загрузкам</a>]<br>[<a href='../../index.php?SID=$SID'>На главную</a>]</center>";}
    echo "<br><br>";}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if($creat==1){
	echo "</div><div class=b> Создание каталога </div><div>";
	echo "<form action='dir.php?did=$did&creat=2&SID=$SID' method=post>
	Введите название: <br><input type=text name='new_dir' maxlength=30><br>
	Название для отображения :<br><input type=text name='dir_name' maxlength=30><br>
	Права доступа(chmod):<br>
	<select name=mode>
	<option value=0777 selected>777</option>
	<option value=0755 >755</option>
	<option value=0750>750</option>
	<option value=0666>666</option>
	<option value=0644>644</option>
	<option value=0600>600</option>
	</select><br>
	<input type=submit value='Создать'></form>
	<center>[<a href='../index.php?did=$did&SID=$SID'>К папке</a>]<br>
	[<a href='../index.php?did=&SID=$SID'>К загрузкам</a>]<br>
	[<a href='../../index.php?SID=$SID'>На главную</a>]</center>
";}
if ($creat==2){
	$mk=mkdir("../files$did/$new_dir");
	if($mk==true){
	@chmod("../files$did/dir.name",0666);
	$fp=@file("../files$did/dir.name");
	$new="$new_dir::$dir_name\r\n";
	$fp=fopen("../files$did/dir.name","a+");
    fwrite($fp, $new);
    fclose($fp);
	@chmod("../files$did/$new_dir",octdec($mode));
	@chmod("../files$did/dir.name",0666);
	echo "Папка создана
	<center>[<a href='../index.php?did=$did&SID=$SID'>К папке</a>]<br>
    [<a href='../index.php?did=&SID=$SID'>К загрузкам</a>]<br>
    [<a href='../../index.php?SID=$SID'>На главную</a>]</center>";}
    else {echo"Ошибка
    <center>[<a href='dir.php?did=$did&creat=1&SID=$SID'>Еще раз</a>]<br>
    [<a href='../index.php?did=$did&SID=$SID'>К папке</a>]<br>
    [<a href='../index.php?did=&SID=$SID'>К загрузкам</a>]<br>
    [<a href='../../index.php?SID=$SID'>На главную</a>]</center>";}
    echo "<br><br>";}
if($dal==1){echo"Удалить все файлы  из этой папки?<br><a href='dir.php?did=$did&dal=2&SID=$SID'>Да</a> || <a href='../index.php?did=$did&SID=$SID'>Нет</a>";}
if ($dal==2){
$odir=opendir("../files$did");
while (($fid=readdir($odir))==true){
if (($fid!=".")&&($fid!=".."))
{if((is_dir("../file$did/$fid"))==false){unlink("../files$did/$fid");}
}}closedir($odir);
echo "Файлы удалены <br><center>[<a href='../index.php?did=$did&SID=$SID'>К папке</a>]<br>
[<a href='../index.php?did=&SID=$SID'>К загрузкам</a>]<br>
[<a href='../../index.php?SID=$SID'>На главную</a>]</center>";}

if($typ==1){
	$fp=file_get_contents("../files$did/type.txt");
	list($type,$format)=explode("||",$fp);
	$format=substr($format,1,100);
echo "<form action='dir.php?did=$did&typ=2&SID=$SID' method=post>
Выберите тип директории:<br />
<font color=\"red\">Обязательно указывайте правильный тип папки<br />
так как для каждого типа файлов по разному организован<br />
его вывод и показ в папке!!! Если вы не собираетесь<br />
размешать в данной папке файлы то тип указывать не нужно!</font><br /><select name=tip><option value='file'>Файлы </option><option value='video'>Видео </option>
<option value='img'>Картинки</option> <option value='mp3'>МелодииMP3</option><option value='themes'>Темы</option><option value='java'>JAVA</option></select>
<br /><br />Укажите разрешенные расширения файлов через ' : ' <br />
<font color=\"red\">Указывая допустимые в папке расширения файлов<br />
не забывайте что данный МИМЕ тип файлов ваш хост<br />
может не поддерживать! Указав данный параметр обязательно<br />
попробуйте скачать с папки файлы с указанными расширениями<br />
и если при скачивании вы видите текст или иероглифы ТО!<br />
или обязательно пропишите данный МИМЕ тип файла в вашем<br />
хитачессе или удалите его из списка разрешенных в папке!!!<br />
Иначе это будет являтся очень серьезной уязвимостью ВАШЕГО<br />
сайта, особенно при разрешении добавлять файлы в эту папку юзерами!<br /></font>
<input type=text name=form maxlength=30 value=$format><br><input type=submit value='Далее'></form>
<center>[<a href='../index.php?did=$did&SID=$SID'>К папке</a>]<br>
[<a href='../index.php?did=&SID=$SID'>К загрузкам</a>]<br>
[<a href='../../index.php?SID=$SID'>На главную</a>]</center>";}
if ($typ==2){
$oform=":".$form;
$zap=$tip."||".$oform;
$f=fopen("../files$did/type.txt","w");
fputs($f,$zap);
fclose($f);
echo "Тип каталога переписан<br><center>[<a href='../index.php?did=$did&SID=$SID'>К папке</a>]<br>[<a href='../index.php?did=&SID=$SID'>К загрузкам</a>]<br>[<a href='../../index.php?SID=$SID'>На главную</a>]</center>";
}
if($chm==1){
	echo "<div class=b> Изменение атрибутов папки</div>";
	echo "<form action='dir.php?chm=2&did=$did&SID=$SID' method=post>
	<select name=mode>
	<option value=0777>777</option>
	<option value=0666>666</option>
	<option value=0755>755</option>
	<option value=0750>750</option>
	<option value=0600>600</option>
	<option value=0644>644</option>
	</select><br>
	<br>
	<input type=submit value='Изменить'></form><center>
	[<a href='../?did=$did&SID=$SID'>К папке</a>]<br>
	[<a href='../index.php?did=&SID=$SID'>К загрузкам</a>]<br>
	[<a href='../../index.php?SID=$SID'>На главную</a>]</center>";
}
if($chm==2){
	trim($mode);
	echo "</div><div class=b> Изменение атрибутов папки</div><div>";
	if($mode=='755' or $mode=='600' or $mode=='644' or $mode=='750' or $mode=='777' or $mode=='666' ){
		if(@chmod("../files$did",octdec($mode))==true){
			echo "Атрибуты папки изменены <br><center><a href='../?did=$did&SID=$SID'>К папке</a><br><a href='../index.php?did=&SID=$SID'>К загрузкам</a><br><a href='../../index.php?SID=$SID'>На главную</a></center>";
		}
		else {
			echo "Ошибка!<br><center><a href='?did=$did&chm=1&SID=$SID'>Ещё раз</a><br><a href='../?did=$did&SID=$SID'>К папке</a><br><a href='../index.php?did=&SID=$SID'>К загрузкам</a><br><a href='../../index.php?SID=$SID'>На главную</a></center>";
		}
	}
	else echo "Не допустимый атрибут<br><center><a href='?did=$did&chm=1&SID=$SID'>Ещё раз</a><br><a href='../?did=$did&SID=$SID'>К папке</a><br><a href='../index.php?did=&SID=$SID'>К загрузкам</a><br><a href='../../index.php?SID=$SID'>На главную</a></center>";
}
if ($upl==1){
	$fp=fopen("../files$did/users.offs","w");
	fclose($fp);
	if($fp==true)echo "Загрузка файлов юзерами в директорию [files$did]разрешена.<br><center><a href='../index.php?did=$did&SID=$SID'>К папке</a><br><a href='../index.php?did=&SID=$SID'>К загрузкам</a><br><a href='../../index.php?SID=$SID'>На главную</a></center>";
	else echo "Ошибка<br><center><a href='../index.php?did=$did&SID=$SID'>К папке</a><br><a href='../index.php?did=&SID=$SID'>К загрузкам</a><br><a href='../../index.php?SID=$SID'>На главную</a></center>";
}
if($del_upl==1){
	if(file_exists("../files$did/users.offs")){
	$fp=unlink("../files$did/users.offs");
	if($fp==true){
		echo "Загрузка файлов в папку $did запрещена <center><a href='../index.php?did=$did&SID=$SID'>К папке</a><br><a href='../index.php?did=&SID=$SID'>К загрузкам</a><br><a href='../../index.php?SID=$SID'>На главную</a></center> ";
	}else echo "Произошла ошибка при попытке запретить загрузку файлов юзерами на сервер <br>
	<center><a href='../index.php?did=$did&SID=$SID'>К папке</a><br><a href='../index.php?did=&SID=$SID'>К загрузкам</a><br><a href='../../index.php?SID=$SID'>На главную</a></center>";}
	else {
		echo "Для запрета загрузки файлов юзерами её надо сначала разрешить<center><a href='../index.php?did=$did&SID=$SID'>К папке</a><br><a href='../index.php?did=&SID=$SID'>К загрузкам</a><br><a href='../../index.php?SID=$SID'>На главную</a></center>";
	}
}
if ($skach_guest==1){
	$fp=fopen("../files$did/guest.offs","w");
	fclose($fp);
	if($fp==true){header ("Location: ../index.php?did=$did&isset=addguest");}
	else{header ("Location: ../index.php?did=$did&isset=errorguest");
}
}
if($skach_guest==2){
	if(file_exists("../files$did/guest.offs")){
	$fp=unlink("../files$did/guest.offs");
	if($fp==true){
		header ("Location: ../index.php?did=$did&isset=delguest");
	}else{ header ("Location: ../index.php?did=$did&isset=errorguest");}}
	else {
		header ("Location: ../index.php?did=$did&isset=errorguest");
	}
}
if($partner==1){
	$fp=fopen("../files$did/$fid.off","w");
	fclose($fp);
	if($fp==true){header ("Location: ../index.php?did=$did&fid=$fid&act=desc&isset=addpartner");}
	else{header ("Location: ../index.php?did=$did&fid=$fid&act=desc&isset=errorpartner");
}}
if($partner==2){
	if(file_exists("../files$did/$fid.off")){
	$fp=unlink("../files$did/$fid.off");
	if($fp==true){
		header ("Location: ../index.php?did=$did&fid=$fid&act=desc&isset=delpartner");
	}else{ header ("Location: ../index.php?did=$did&fid=$fid&act=desc&isset=errorpartner");}}
	else {
		header ("Location: ../index.php?did=$did&fid=$fid&act=desc&isset=errorpartner");
	}
}
if($alf==1){
	$fp=fopen("../files$did/alf.onn","w");
	fclose($fp);
	if($fp==true){header ("Location: ../index.php?did=$did&isset=addalf");}
	else{header ("Location: ../index.php?did=$didisset=erroralf");
}}
if($alf==2){
	if(file_exists("../files$did/alf.onn")){
	$fp=unlink("../files$did/alf.onn");
	if($fp==true){
		header ("Location: ../index.php?did=$did&isset=delalf");
	}else{ header ("Location: ../index.php?did=$did&isset=erroralf");}}
	else {
		header ("Location: ../index.php?did=$did&isset=erroralf");
	}
}
function dirs_name($titl,$dir){
if(file_exists("../files$dir/dir.name")){
$fn=file_get_contents("../files$dir/dir.name");
$nd=explode('||',$fn);
$titl=str_replace("/","",$titl);
foreach ($nd as $n=>$nam){
$nam=explode('::',$nam);
$nam=$nam[0];
if($nam == $titl){$nom=$n;}}
if($nom!==''){
$ndr=explode('::',$nd[$nom]);
$id=$ndr[1];}
if($nom==''){$id=latin_to_utf($titl);}}
else $id="br";
return $id;}

if($act=="dirchmod"){
$prev_dir=prev_dir($did);
$di=strrpos($did,"/"); $di=substr($did,$di+1,999);
if(file_exists("../files$prev_dir/dir.name")){$di=dirs_name($di,$prev_dir);}
else {$di=latin_to_utf($di);}
if ($di==''){$di='Корневая';}
echo "<br /><div class='b'>Установка прав папкам<br />
<small><font color='white'>Выбранные права (CHMOD), будут установленны<br />
всем подпапкам в текущей папке!</font></small><br />Текущая папка: $di</div>";
$odir=opendir("../files$did");
while($fid=readdir($odir)){
if ( (($fid!=".")&&($fid!="..")) and is_dir("../files$did/$fid"))
{$all_dir[$fid]="/$fid";
}}
closedir($odir);
if ($all_dir){
sort($all_dir);
foreach($all_dir as $id=>$titl){
if(file_exists("../files$did/dir.name"))
{$id=dirs_name($titl,$did);}
else {$id=latin_to_utf($titl);}
$id=str_replace("/","",$id);
echo "<li>
<b><a href='?did=$did$titl&mode=$mode&act=dirchmod'>$id</a></b><br>";
echo "</li>";}
}
echo "<div class='b'>Права доступа(chmod):</div>";
echo "<form action=\"?did=$did&act=dirchmod2&SID=$SID\" method='post'>";
	echo '<select name="mode">
	<option value="0777">777</option>
	<option value="0755">755</option>
	<option value="0750">750</option>
	<option value="0666">666</option>
	<option value="0644">644</option>
	<option value="0600">600</option>
	</select>';
echo'<input type="submit" value="Установить"></form>';
echo "<div class='b'></div>";
if ($did){
echo "[<a href='?act=dirchmod'>Корневая</a>]<br />";}
echo "[<a href='../index.php?'>К разделам</a>]<br>";
echo "[<a href='../../index.php'>На главную</a>]";
}
if($act=="dirchmod2")
{
echo "<br /><div class='b'>Изменение прав папок:</div>";
$odir=opendir("../files$did");
while($fid = readdir($odir)){
if ( (($fid!=".")&&($fid!="..")) and is_dir("../files$did/$fid"))
{
if (@chmod("../files$did/$fid",octdec($mode))==true)
{echo "CHMOD ($mode), папка - <b>$fid</b> - OK!<br />";}
else{ echo "<font color='red'>CHMOD ($mode), папка - <b>$fid</b> - ERROR!!!</font><br />";}
}}
echo "<div class='b'></div>";
echo "[<a href='../index.php?'>К разделам</a>]<br>";
echo "[<a href='../../index.php'>На главную</a>]";
}
if($act=="filechmod"){
$prev_dir=prev_dir($did);
$di=strrpos($did,"/"); $di=substr($did,$di+1,999);
if(file_exists("../files$prev_dir/dir.name")){$di=dirs_name($di,$prev_dir);}
else {$di=latin_to_utf($di);}
if ($di==''){$di='Корневая';}
echo "<br /><div class='b'>Установка прав файлам<br />
<small><font color='white'>Выбранные права (CHMOD), будут установленны<br />
всем файлам в текущей папке!</font></small><br />Текущая папка: $di</div>";
$odir=opendir("../files$did");
while($fid=readdir($odir)){
if ( (($fid!=".")&&($fid!="..")) and is_dir("../files$did/$fid"))
{$all_dir[$fid]="/$fid";
}}
closedir($odir);
if ($all_dir){
sort($all_dir);
foreach($all_dir as $id=>$titl){
if(file_exists("../files$did/dir.name"))
{$id=dirs_name($titl,$did);}
else {$id=latin_to_utf($titl);}
$id=str_replace("/","",$id);
echo "<li>
<b><a href='?did=$did$titl&mode=$mode&act=filechmod'>$id</a></b><br>";
echo "</li>";}
}
echo "<div class='b'>Права доступа(chmod):</div>";
echo "<form action=\"?did=$did&act=filechmod2&SID=$SID\" method='post'>";
	echo '<select name="mode">
	<option value="0777">777</option>
	<option value="0755">755</option>
	<option value="0750">750</option>
	<option value="0666">666</option>
	<option value="0644">644</option>
	<option value="0600">600</option>
	</select>';
echo'<input type="submit" value="Установить"></form>';
echo "<div class='b'></div>";
if ($did){
echo "[<a href='?act=dirchmod'>Корневая</a>]<br />";}
echo "[<a href='../index.php?'>К разделам</a>]<br>";
echo "[<a href='../../index.php'>На главную</a>]";
}
if($act=="filechmod2")
{
echo "<br /><div class='b'>Изменение прав файлов:</div>";
$odir=opendir("../files$did");
while($fid = readdir($odir)){
if ( (($fid!=".")&&($fid!="..")) and !is_dir("../files$did/$fid"))
{
if (@chmod("../files$did/$fid",octdec($mode))==true)
{echo "CHMOD ($mode), файл - <b>$fid</b> - OK!<br />";}
else{ echo "<font color='red'>CHMOD ($mode), файл - <b>$fid</b> - ERROR!!!</font><br />";}
}}
echo "<div class='b'></div>";
echo "[<a href='../index.php?'>К разделам</a>]<br>";
echo "[<a href='../../index.php'>На главную</a>]";
}

} else { echo"Ипать колотить!!! Смотрите у нас Хакир завелся!";}}
include_once ("../themes/".$config['themes']."/foot.php");
?>