Просмотр файла includes/wap/builder/dir.php

Размер файла: 5.61Kb
<?php
$buildpath=$wappath."builder/";

$tmp=explode('/',str_replace($userpath,'',realpath($userpath.$currentdir)));
$_dir=$tmp[sizeof($tmp)-1];

if (($query1=='new')||($query1==''))
	{
	$cntsubdir=0;
	$d=dir($userpath.$currentdir);
	while ($entry=$d->read())
	    {
	    if (($entry=='_BUFER_')||($entry=='_DAT_')||($entry=='.')||($entry=='..')) continue;
	    if (filetype($userpath.$currentdir.'/'.$entry)=='dir') $cntsubdir++;
	    }
	$d->close();
	}

if ($query1=='up') {$query1='cd'; $query3=$query2; $query2='..';}
if (($query1=='cd')&& is_dir($_new_current_dir=realpath($userpath.$currentdir.'/'.$query2)))
	{
    if ($query3!='') $nocache_=$query3+0;
    $fp = @fopen ($userpath."opeation.cache", "r");$testcache = trim(@fgets($fp, 10));@fclose ($fp);
    if ($nocache_!=$testcache)
        {
		$currentdir=str_replace('.','',str_replace('/.','',str_replace($userpath,'',$_new_current_dir.'/.')));
		$f=@fopen($userpath.'currentdir.dat','w+');
		@fwrite($f,trim($currentdir));
		@fclose($f);
		$f=@fopen($userpath.'currentdir.dat','r+');
		$currentdir=trim(@fread($f,128));
		@fclose($f);
		if (!is_subdir($userpath,$userpath.$currentdir)) $currentdir='.';
		if ($currentdir=='') $currentdir='.';
		$fp = fopen ($userpath."opeation.cache", "w+");fwrite ($fp, $nocache_);fclose ($fp);
		}
	}
if (($query1=='new')&&(sizeof(explode('/',$currentdir))<3)&&($cntsubdir<16)) include($buildpath.'dir_new.php');
if ($query1=='bufer')  include($buildpath.'dir_bufer.php');
if ($query1=='input')  include($buildpath.'dir_bufer2dir.php');
if ($query1=='output') include($buildpath.'dir_files2bufer.php');
if ($query1=='rename') include($buildpath.'dir_rename.php');
if ($query1=='delete') include($buildpath.'dir_delete.php');
if ($query1=='purgebufer') dir_delete($userpath.'_BUFER_/');

print $head.cyr2utf('<card id="main" title="Папки">');
print '<do name="x" type="options" label="xPanel"><go href="http://wap.kmx.ru/?'.$id.'"/></do>';
print cyr2utf('<do name="pm" type="options" label="Страницы"><go href="http://wap.kmx.ru/?'.$id.'/pm"/></do>');
print cyr2utf('<do name="fm" type="options" label="Файлы"><go href="http://wap.kmx.ru/?'.$id.'/fm"/></do>');
if ((sizeof(explode('/',$currentdir))<3)&&($cntsubdir<16)) print cyr2utf('<do name="n" type="options" label="Создать"><go href="http://wap.kmx.ru/?'.$id.'/dm'.$dmpage.$mpage.'/new"/></do>');
print '<p>';
if ($currentdir!='.') print cyr2utf('<b>Папка: /'.$currentdir.'/</b> <br/><small>- - -</small> <br/>');
else print cyr2utf('<b>Папка: /</b> <br/><small>- - -</small> <br/>');

if ($currentdir!='.') print cyr2utf('<a href="#rename">Преименовать</a> <br/>');
if ($currentdir!='.') print cyr2utf('<a href="#delete">Удалить</a> <br/> ');
if (!is_dir($userpath.'_BUFER_')) print cyr2utf('<a href="http://wap.kmx.ru/?'.$id.'/dm'.$dmpage.$mpage.'/output">Файлы в портфель</a> <br/> ');
else print cyr2utf('<a href="/?'.$id.'/dm'.$dmpage.$mpage.'/input">Файлы из портфеля</a> <br/> ');

print '<small>- - -</small> <br/>';

unset($dirs);

$d=dir($userpath.$currentdir);
$found=false;
$cntfile=$cntpages=0;

while ($entry=$d->read())
	{
	if (($entry=='_DAT_')||($entry=='.')||(($entry=='..')&&($currentdir=='.'))) continue;
	if (substr($entry,-4)=='.wml') $cntpages++;
	elseif (allow_ext(substr($entry,-4)) || allow_ext(substr($entry,-5))) $cntfile++;
	if (filetype($userpath.$currentdir.'/'.$entry)=='dir') { $dirs[]=$entry; $found=true; }
	}
$d->close();

@sort($dirs, SORT_STRING);

if (($mpage+0)>1) $tmpage=$mpage+0;
else $tmpage=1;

if ($tmpage<2) $dmpage=$mpage='';
else {$dmpage='-';$mpage=$mpage+0;}

if ($tmpage>1) print cyr2utf('<a href="/?'.$id.'/dm-'.($tmpage-1).'">&lt;&lt;&lt;</a><br/>');

$i=0;
if ($found)
	{
	while ($_dir=@each($dirs))
		{
		if ($i<($tmpage*20)-20) {$i++;continue;}
		$_dir=$_dir[1];
        $found=false;
		if ($_dir=='..')
			{
			print cyr2utf('<b><a href="/?'.$id.'/dm'.$dmpage.$mpage.'/up/'.$nocache.'">вверх</a></b> <br/>');
			}
		elseif ($_dir=='_BUFER_')
			{
			print cyr2utf('<b><a href="/?'.$id.'/dm'.$dmpage.$mpage.'/bufer">-портфель-</a></b> <br/>');
			}
		elseif ($_dir!='_DAT_')
			{
			print '<a href="/?'.$id.'/dm'.$dmpage.$mpage.'/cd/'.$_dir.'/'.$nocache.'">'.$_dir.'</a> <br/>';
			$found=true;
			}
		$i++;
		if ($i>=($tmpage*20)) break;
		}
	}
if (!$found) print cyr2utf('<small>Вложенных папок нет...</small>');

if ($i>=($tmpage*20)) print cyr2utf('<a href="http://wap.kmx.ru/?'.$id.'/dm-'.($tmpage+1).'">&gt;&gt;&gt;</a>');

if (($cntpages+$cntfile)>0) print ' <br/><small>';
if ($cntpages>0) print cyr2utf('Страниц: '.$cntpages);
if (($cntfile>0)&&($cntpages>0)) print ', ';
if ($cntfile>0) print cyr2utf('Файлов: '.$cntfile);
if (($cntpages+$cntfile)>0) print '</small>';

print '</p></card>';
print cyr2utf('<card id="delete" title="Удаление">');
print cyr2utf('<p><b>Вы действительно хотите удалить /'.str_replace($userpath,'',realpath($userpath.$currentdir)).' со всеми вложенными файлами и подпапками без возможности восстановления?</b> <br/>');
print cyr2utf('<a href="/?'.$id.'/dm'.$dmpage.$mpage.'/delete/'.$nocache.'">Удалить</a> <br/>');
print cyr2utf('<a href="#main">Отмена</a>');

print '</p></card>';
for ($i=1;is_dir($userpath.$currentdir.'/../dir'.$i);$i++);
print cyr2utf('<card id="rename" title="Переименовать"><p>');
print cyr2utf('<b>Новое имя папки:</b><br/>');
print cyr2utf('<input name="dir'.$nocache.'" type="text" title="Имя папки" value="dir'.$i.'" maxlength="8"/><br/>');
print cyr2utf('<a href="?'.$id.'/dm'.$dmpage.$mpage.'/rename/$(dir'.$nocache.')/'.$nocache.'">Далее</a> <br/>');
print cyr2utf('<a href="#main">Отмена</a>');

print '</p></card></wml>';
exit;
?>