<?php
defined('DCMS') or die;
// файл отвечает за отображение возможных действий
if ($dir->group_write <= $user->group  || ($dir->id_user && $user->id == $dir->id_user))
{
// выгрузка и импорт файлов

switch (@$_GET['act']) {
case 'file_upload':
{
$uof =  passgen(128);
$cache -> set('upload_on_flash.'.$uof,$user -> id,3600);

$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('files',1);
$smarty->assign('upload_on_flash',$uof);
$smarty->assign('action','?'.passgen());
$elements=array();
$elements[]=array('type'=>'file', 'title'=>'Файл', 'br'=>1, 'info'=>array('name'=>'file'));
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('value'=>'Выгрузить')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');
}
break;
case 'file_import':
{
$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('action','?'.passgen());
$elements=array();
$elements[]=array('type'=>'input_text', 'title'=>'URL', 'br'=>1, 'info'=>array('name'=>'url', 'value' => 'http://' ));
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'file_import', 'value'=>'Импортировать')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');
}
break;
}




$doc -> act('Выгрузить файл','?act=file_upload');
$doc -> act('Импортировать файл','?act=file_import');
}

if ($dir->group_edit <= $user->group)
{
// изменеение параметров

switch (@$_GET['act']) {
case 'write_dir':
{
$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('action','?'.passgen());
$elements=array();
$elements[]=array('type'=>'input_text', 'title'=>'Название папки *', 'br'=>1, 'info'=>array('name'=>'name'));
$elements[]=array('type'=>'text', 'value'=>'* На сервере создастся папка на транслите', 'br'=>1);
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'write_dir', 'value'=>'Создать')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');
}
break;

case 'edit_unlink':
{
$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('action','?'.passgen());
$elements=array();
$elements[]=array('type'=>'captcha','br'=>1);
$elements[]=array('type'=>'text','value'=>'* Все данные, находящиеся в этой папке будут безвозвратно удалены','br'=>1);
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'edit_unlink', 'value'=>'Удалить')); // кнопка
$smarty->assign('el',$elements);
if ($rel_path)$smarty->display('input.form.tpl');
}
break;
case 'edit_path':
{
// перемещение папки


$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('action','?'.passgen());
$elements=array();

$options=array();

$root_dir = new files(FILES);
$dirs = $root_dir -> getPathesRecurse($dir);

foreach ($dirs as $dir2) {
// если нет прав на чтение папки или на запись в папку, то пропускаем
if ($dir2 -> group_show > $user -> group || $dir2 -> group_write > $user -> group) continue; 

if ($dir2 -> path_rel == $dir -> path_rel)
$options[]=array($dir2 -> path_rel , $dir2 -> getPathRu(), true);
else
$options[]=array($dir2 -> getPath() , for_value($dir2 -> getPathRu().' <- '.$dir -> runame));
}
$elements[]=array('type'=>'select', 'br'=>1, 'title'=>'Новый путь', 'info'=>array('name' => 'path_rel_new','options' => $options));

$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'edit_path', 'value'=>'Применить')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');

}
break;
case 'edit_prop':
{
$groups = groups::load_ini(); // загружаем массив групп
$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('action','?'.passgen());
$elements=array();
$elements[]=array('type'=>'input_text', 'title'=>'Название папки *', 'br'=>1, 'info'=>array('name'=>'name','value'=>$dir -> runame));

$elements[]=array('type'=>'textarea', 'title'=>'Описание', 'br'=>1, 'info'=>array('name'=>'description','value'=>$dir -> description));


if ($rel_path)
$elements[]=array('type'=>'input_text', 'title'=>'Позиция **', 'br'=>1, 'info'=>array('name'=>'position','value'=>$dir -> position));

$options=array();
foreach ($groups as $type=>$value) {
$options[]=array($type,$value['name'],$type==$dir->group_show);
}
$elements[]=array('type'=>'select', 'br'=>1, 'title'=>'Просмотр папки ***', 'info'=>array('name' => 'group_show','options' => $options));

$options=array();
foreach ($groups as $type=>$value) {
$options[]=array($type,$value['name'],$type==$dir->group_write);
}
$elements[]=array('type'=>'select', 'br'=>1, 'title'=>'Выгрузка файлов', 'info'=>array('name' => 'group_write','options' => $options));

$options=array();
foreach ($groups as $type=>$value) {
$options[]=array($type,$value['name'],$type==$dir->group_edit);
}
$elements[]=array('type'=>'select', 'br'=>1, 'title'=>'Изменение параметров и создание папок', 'info'=>array('name' => 'group_edit','options' => $options));

if ($rel_path && $dir->name{0}!=='.')
$elements[]=array('type'=>'text', 'value'=>'* На сервере папка будет на транслите', 'br'=>1);
else
$elements[]=array('type'=>'text', 'value'=>'* Изменится только отображаемое название', 'br'=>1);

if ($rel_path)
$elements[]=array('type'=>'text', 'value'=>'** Если у папок одинаковая позиция, то они сортируются по имени', 'br'=>1);

$elements[]=array('type'=>'text', 'value'=>'*** При большом кол-ве вложенных объектов изменение данного параметра может затянуться (и подвесить сервер)', 'br'=>1);

$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'edit_prop', 'value'=>'Применить')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');
}
break;
}


$doc -> act('Создать папку','?order='.$order.'&amp;act=write_dir');
$doc -> act('Параметры','?order='.$order.'&amp;act=edit_prop');

if ($rel_path && $dir -> name{0} !== '.')
{
$doc -> act('Перемещение','?order='.$order.'&amp;act=edit_path');
$doc -> act('Удаление папки','?order='.$order.'&amp;act=edit_unlink');
}

}


?>
