<?
define('SHCMS_ENGINE',true);
include_once('../../engine/system/core.php');
$templates->template(Lang::__('Загрузки')); //Название страницы
switch($act):
//По умолчанию выводит функции внизу
default:
//Доступ у кого имеются права 15
if($groups->setAdmin($user_group) == 15) {
//Создание новых разделов
echo '<div class="mainname">'.Lang::__('Администраторская').'</div><div class="mainpost">
<img src="/engine/template/icons/add.png">
<a href="index.php?act=new_dir">'.Lang::__('Создать папку').'</a> <br/>
<img src="/engine/template/icons/app.png">
<a href="setting.in.php">'.Lang::__('Настройка папки').'</a> <br/>
</div>';
}
//Выводим счетчик папок
if ($result = $db->query("SELECT COUNT(*) FROM `files_dir` WHERE `dir` = '0'")) {
/* Переход к строке №400 */
$result->data_seek(399);
/* Получение строки */
$row = $result->fetch_row();
}
if($row[0] == false) {
echo engine::error(Lang::__('Папок не найдено'));
exit;
}
//Определяем навигацию и лимит постов
$newlist = new Navigation($row[0],10, true);
//Загружаем в $upload данные из базы
$upload = $db->query("SELECT * FROM `files_dir` WHERE `dir` = '0' ORDER BY `id` DESC ". $newlist->limit()."");
echo '<div class="mainname">'.Lang::__('Дополнение').'</div>';
echo '<div class="mainpost">';
echo '<div class="row"><img src="/engine/template/icons/search.png"> <a href="?act=search_file">'.Lang::__('Поиск файлов').'</a></div>';
echo '<div class="row"><img src="/engine/template/icons/topfiles.png"> <a href="?act=topfiles">'.Lang::__('Топ скачиваемых файлов').'</a></div>';
echo '</div>';
echo '<div class="mainname">'.Lang::__('Категории').'</div>';
echo '<div class="mainpost">';
//Выводим все данные где `upload` = 1
while($file = $db->get_array($upload)) {
//Выводим счетчик всех файлов
if ($result1 = $db->query("SELECT COUNT(*) FROM `files` WHERE `id_dir` = '".$file['id']."'")) {
/* Переход к строке №400 */
$result1->data_seek(399);
/* Получение строки */
$row1 = $result1->fetch_row();
}
//Пусть в подпапкам
echo '<div class="subpost">';
echo '<b><img src="/engine/template/icons/dir.png">
<a href="dir.php?id='.$file['id'].'">'.$file['name'].'</a></b><span class="time">'.Lang::__('Файлов:').' '.$row1[0].'</span>';
echo '</div>';
}
echo '</div>';
//Вывод навигации
echo $newlist->pagination();
break;
case 'search_file':
echo '<div class="mainname">'.Lang::__('Поиск файлов').'</div>';
echo '<div class="mainpost">';
$form = new form('?act=search');
$form->input2(false,'search','text',false,'placeholder="Поиск файлов..."',false,false);
$form->submit('Искать','submit');
$form->display();
echo '</div>';
break;
case 'topfiles':
$sum = $sum ? $sum : 10;
function ok_type($n)
{
return ($n % 10 == 1 && $n % 100 != 11 ? 0 : ($n % 10 >= 2 && $n % 10 <= 4 && ($n % 100 < 10 || $n % 100 >= 20) ? 1 : 2));
}
$dcount = $db->query( "SELECT * FROM `files` WHERE countd > 0 ORDER BY `countd` DESC LIMIT 0,$sum" );
$i = 1;
if($db->num_rows() < 1) {
$topfiles = engine::error(Lang::__('Скачанных файлов не найдено!'));
}else {
while ( $row = $db->get_row() ) {
//// Проверка количества скачиваний, и вывод правильного слова ////
$alls_num = array(
'раз',
'раза',
'раз'
);
$counts_u = $alls_num[ok_type($row['countd'])];
//// Правильный вывод титлов ////
$row['name'] = htmlspecialchars( strip_tags( stripslashes( $row['name'] ) ), ENT_QUOTES) ;
$row['name'] = str_replace("{", "{", $row['name']);
$row['name'] = strip_tags($row['name']);
$topfiles .= '<div class="row"> <font color="red">'.$i.'.</font>';
$topfiles .= '<a href="view.php?id='.$row['id'].'" rel="nofollow"><b>'.$row['name'].'</b></a> - скачано: '.$row['countd'].' ';
$topfiles .= $counts_u.'</div>';
$i++;
}
}
$db->free();
echo '<div class="mainname">'.Lang::__('Топ скачиваний').'</div>';
echo '<div class="mainpost">';
echo $topfiles;
echo '</div>';
break;
//Поиск
case 'search':
function search($query) {
global $db;
$query = trim($query);
$query = $db->safesql($query);
$query = htmlspecialchars($query);
if (!empty($query)) {
if (strlen($query) < 3) {
$text = '<p>Слишком короткий поисковый запрос.</p>';
} else if (strlen($query) > 128) {
$text = '<p>Слишком длинный поисковый запрос.</p>';
} else {
$q = "SELECT `id`,`name` FROM `files` WHERE `name` LIKE '%$query%'";
$result = $db->query($q);
if ($db->num_rows($result) > 0) {
$row = $db->get_array($result);
$num = $db->num_rows($result);
$text = '<div class="mainname">По запросу <b>'.$query.'</b> найдено совпадений: '.$num.'</div>';
$text .= '<div class="mainpost">';
//Открытие блока ul
$text .= '<ul class="List_withminiphoto Pad_list">';
do {
// Делаем запрос, получающий ссылки на статьи
$q1 = "SELECT * FROM `files` WHERE `id` = '$row[id]'";
$result1 = $db->query($q1);
if ($db->num_rows() > 0) {
$row1 = $db->get_array($result1);
}
//Открытие li
$text .= '<li class="clearfix">';
//Путь к картинке
$text .= '<a href="" title="Просмотр профиля" class="UserPhotoLink left"><img src="/engine/template/down/'.engine::format($row1['files']).'.png" class="UserPhoto UserPhoto_mini"></a>';
//Файл выводит
$text .= '<div class="list_content"><a href="view.php?id='.$row1['id'].'"><b>'.engine::search_text($query,$row1['name']).'</b><span class="time">Просмотров:'.engine::number($row1['count']).'</span></a>';
//Описание
if(!$row1['text2']) {
$text .= '<br><span class="desc lighter">'.Lang::__('Не добавлено описание к файлу').'</span></div>';
}else {
$text .= '<br><span class="desc lighter">'.engine::input_text(engine::string($row1['text2'],500)).'</span></div>';
}
//Закрытие li
$text .= '</li><hr/>';
} while ($row = $db->get_array($result));
$text .= '</ul></div>';
} else {
$text = '<p>По вашему запросу ничего не найдено.</p>';
}
}
} else {
$text = '<p>Задан пустой поисковый запрос.</p>';
}
return $text;
}
if (!empty($_POST['search'])) {
$search_result = search ($_POST['search']);
echo $search_result;
}else {
echo engine::error('Введите название файла в поиске');
}
break;
//Если ?act=new_dir выводит функцию внизу
case 'new_dir':
if(isset($_POST['submit']) and isset($_POST['name'])) {
//Фильтруем new_file
$new_file = intval($_POST['new_file']);
//Обрабатываем название
$name = engine::proc_name($_POST['name']);
//Проверяет введена ли название
if(!$name) {
echo engine::error(Lang::__('Введите название папки'));
}else {
if($new_file != 2) {
$new_file = 1;
}
//Добавлям данные в базу
$db->query("INSERT INTO `files_dir` (`name`,`time`,`dir`,`load`) VALUES ('".$db->safesql($name)."','".time()."','0','".$new_file."')");
echo engine::success(Lang::__('Папка успешно создана')); // Успешно
echo engine::home(array(Lang::__('Создать еще'),'index.php?act=new_dir')); //Создать еще одну папку
echo engine::home(array(Lang::__('Назад'),'index.php')); //На пред. страницу
exit;
}
}
//Форма
echo '<div class="mainname">'.Lang::__('Создание новой папки').'</div>';
echo '<div class="mainpost">';
$form = new form('?act=new_dir');
$form->input('Название папки:','name','text');
$form->textarea('Описание','text');
$form->input2(false,'dir_open','checkbox','1','checked="checked"',Lang::__('Папка открыта?'));
$form->input(false,'new_file','checkbox','2','','',true,'',Lang::__('Разрешение на добавление файлов'));
$form->submit('Отправить','submit');
$form->display();
echo '</div>';
break;
endswitch;
//Переадресация
echo engine::home(array(Lang::__('Назад'),'/index.php'));
?>