<?
define('SHCMS_ENGINE',true);
include_once('../../engine/system/core.php');
//Если вместо id num попытаются вставить текст то выводит ошибку
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
$templates->template(Lang::__('Ошибка при выводе файла')); //Название страницы
header('Refresh: 1; url=index.php');
engine::error('Произошла ошибка при выборе файла'); //При ошибке
exit;
}
//Из $_GET в обычную
$id = (int) $_GET['id'];
//Выводит папки где $id = true
$view_file = $db->get_array($db->query("SELECT * FROM `files` WHERE `id` = '".$id."'"));
$db->query("UPDATE `files` SET `count` = '".($view_file['count']+1)."' WHERE `id` = '".$id."'");
//Если файла из выбранного $id
$view = $db->query('SELECT * FROM `files`');
if(!$db->num_rows($view)){
header('Refresh: 1; url=index.php');
engine::error(Lang::__('Произошла ошибка не найдено разделов')); //При ошибке
exit;
}
if($view_file['name'] == false) {
//Название страницы, если есть выведит еще описание и ключевые слова
$templates->template('Файл: '.Lang::__($view_file['files']),$view_file['desc'],$view_file['key']);
}else {
//Название страницы, если есть выведит еще описание и ключевые слова
$templates->template('Файл: '.Lang::__($view_file['name']),$view_file['desc'],$view_file['key']);
}
switch($act) :
//По умолчанию
default:
$format_audio = engine::format($view_file['files']);
//Если пользователь является автором файла то выводит следующие функции
if($id_user == $view_file['id_user']) {
//Необходимые параметры
echo '<div class="mainname"><img src="/engine/template/icons/action.png"> '.Lang::__('Параметры').'</div>';
echo'<div style="text-align:center;" class="mainpost"><a href="?act=screen&id='.$id.'">Скрины</a> |
<a href="?act=edit_file&id='.$id.'">Опции файла</a> | <a href="?act=delete&id='.$id.'">Удалить</a></div>'; }
echo '<div class="mainname"><img src="/engine/template/icons/info.png"> '.Lang::__('Информация о файле').'</div>';
echo '<div class="mainpost">';
//Выводит те скриншоты которые выгружены в базу
// MAX 3
echo '<div style="text-align:center;">';
if($view_file['screen'] == true) {
echo '<a class="fancybox-thumbs" data-fancybox-group="thumb" href="/upload/download/screen/'.$view_file['screen'].'"><img style="width:128px;" src="/upload/download/screen/'.$view_file['screen'].'"></a> ';
}if($view_file['screen_2'] == true) {
echo '<a class="fancybox-thumbs" data-fancybox-group="thumb" href="/upload/download/screen/'.$view_file['screen_2'].'"><img style="width:128px;" src="/upload/download/screen/'.$view_file['screen_2'].'"></a> ';
}if($view_file['screen_3'] == true) {
echo '<a class="fancybox-thumbs" data-fancybox-group="thumb" href="/upload/download/screen/'.$view_file['screen_3'].'"><img style="width:128px;" src="/upload/download/screen/'.$view_file['screen_3'].'"></a>';
}
echo '</div>';
//Если название существует выведит
if($view_file['name'] == true) {
echo '<div class="subpost"><img hight="16" width="16" src="/engine/template/icons/name.png"> <b>'.$view_file['name'].'</b>
<span class="time">'.date::make_date($view_file['time']).'</span>
</div>';
//Если нет то
}elseif($view_file['files'] == true) {
echo '<div class="subpost"><img hight="16" width="16" src="/engine/template/icons/name.png"> <b>'.$view_file['files'].'</b>
<span class="time">'.date::make_date($view_file['time']).'</span>
</div>';
}
//Вывод описании
if($view_file['text2'] == true) {
echo '<div class="subpost"><b>'.Lang::__('Описание:').'</b><br/>'.$view_file['text2'].'</div>';
}
//Получаем ник добавленного файла
$nick = $user->users($view_file['id_user'],array('nick'));
//Получаем id добавленного файла
$id_users = $user->users($view_file['id_user'],array('id'));
//Выводим автора Файла
echo '<div class="subpost">'.Lang::__('Загрузил:').'
<a style="color:green;" href="'.MODULE.'profile.php?act=view&id='.$id.'">'.$nick.'</a>
'.Lang::__('Просмотров:').''.engine::number($view_file['count']).'
</div>';
echo '<div class="subpost">';
//Если присутствует аудио файлы то выводится аудио плеер
if($format_audio == 'mp3' or $format_audio == 'midi') {
//Идет вывод и чтение.......
echo files::player('player/uppod.swf','width="500" height="41"',
'player/audio/audio127-611.txt','/upload/download/files/'.$view_file['files'].'');
//Если присутствует видео файлы то выводится видео плеер
}elseif($format_audio == 'mp4' or $format_audio == 'flv' or $format_audio == 'avi') {
//Идет вывод и чтение.......
echo files::player('player/uppod.swf','width="500" height="321"',
'player/video/video127-1278.txt','/upload/download/files/'.$view_file['files'].'');
//Если присутствует картинки то выводится фото плеер
}elseif($format_audio == 'jpg' or $format_audio == 'png' or $format_audio == 'gif' or $format_audio == 'jpeg') {
//Идет вывод и чтение.......
echo files::player('player/uppod.swf','width="500" height="321"',
'player/photo/photo127-65.txt','/upload/download/files/'.$view_file['files'].'');
}
echo '</div>';
//Если пользователь авторизован он сможет скачать файл
echo '<div style="color:blue;font-size:14px;text-align:center;" class="subpost"><a style="color:green;font-weight:bold;" href="?act=download&id='.$view_file['id'].'">'.Lang::__('Скачать').' '.$view_file['name'].'</a>';
if($format_audio == 'txt') {
echo ' <a style="font-size:11px;" href="?id='.$id.'&act=view_txt">[Посмотреть]</a>';
}
//Выводим кол.загрузок
echo '<div style="font-size:12px;text-align:center;">'.Lang::__('Размер:').' '.engine::filesize($view_file['filesize']).' | '.Lang::__('Кол. Загрузок:').'<b> '.engine::number($view_file['count']).'</b></div>';
echo '</div>';
echo '</div>';
//Комментарии
echo '<div class="mainname">Комментарии <b>'.$row1[0].'</b></div>
<div class="mainpost">';
//Из $_POST превращаем в обычные переменные и убираем слэши
if(isset($_POST['submit'])) {$submit = $_POST['submit'];}
if(isset($submit)) {
//Из $_POST превращаем в обычные переменные
if(isset($_POST['text'])) {$text = $_POST['text'];}
//Если текст отсутствует
if(empty($text)) {
echo engine::error('Введите текст');
echo '</div>';
header('Refresh: 1; url=view.php?id='.$id.'');
exit;
}
//Если пользователь авторизован под своим ником то , добавляем новый пост в базу
if($id_user == true) {
$mysql = $db->query("INSERT INTO `down_comment` (`id_user`,`id_file`,`text`,`time`) VALUES ('".$id_user."','".$id."','".$db->safesql($text)."','".time()."')");
//Если все правильно
if($mysql == true) {
$db->query("UPDATE `users` SET `points` = '".($users['points']+1)."' WHERE `id` = '".intval($id_user)."'"); // Начисление баллов
echo engine::success('Сообщение успешно добавлено');
echo '</div>';
header('Refresh: 1; url=view.php?id='.$id.'');
exit;
//Если есть ошибки
}else {
echo engine::error('Сообщение не добавлено');
echo '</div>';
header('Refresh: 1; url=view.php?id='.$id.'');
exit;
}
}
}
//Если авторизован пользователь то выведит ему форма
if(isset($id_user)) {
echo '<div class="mainpost">';
//Форма для печати сообщений
$form = new form('?id='.$id.'');
$form->textarea('Текст комментария','text',$otvet);
$form->submit('Отправить','submit');
$form->display();
echo '</div>';
}
//Выводим счетчик постов
if ($result = $db->query("SELECT COUNT(*) FROM `down_comment` WHERE `id_file` = '".$id."'")) {
/* Переход к строке №400 */
$result->data_seek(399);
/* Получение строки */
$row = $result->fetch_row();
}
$newlist = new Navigation($row[0], // кол-во полей для вывода
10, // выводить 10 записей на страницу
true); // выводить "Стр." возле ссылок навигации
//Если писем больше 1 выводит из базы данные
if($row[0] > 0) {
//Выводим все данные и таблицы `news_comment`
$query = $db->query("SELECT * FROM `down_comment` WHERE `id_file` = '".$id."' ORDER BY `id` DESC ". $newlist->limit()."");
// А если меньше 0 то выводит это сообщение
}else {
echo '<div class="mainpost">Сообщений нет!</div>';
echo '</div>';
echo engine::home(array(Lang::__('Назад'),'dir.php?id='.$view_file['id_dir'].''));
exit;
}
while($comment = $db->get_array($query)) {
//Вывод ника
$nick = $user->users($comment['id_user'],array('nick'),true);
//Вывод id
$id_users = $user->users($comment['id_user'],array('id'));
//Путь к профилю пользователя
echo '<div class="mainname"><a href="'.MODULE.'profile.php?act=view&id='.$id_users.'">'.$nick.'</a> <span class="time">'.date::make_date($comment['time']).'</span></div>';
echo '<div class="mainpost">'.engine::input_text($comment['text']).'</div>';
}
echo '</div>';
//Вывод навигации
echo $newlist->pagination('id='.$id.'');
break;
//Просмотр текст файлов
case 'view_txt':
//Выводим текст
echo '<div class="mainpost">';
$lines = file(H.'/upload/download/files/'.$view_file['files'].'');//Чтение файла
// Осуществим проход массива и выведем содержимое в виде HTML-кода вместе с номерами строк.
foreach ($lines as $line_num => $line) { //Начинаем вывод , скрываем вывод нумерованных строк
echo "" . htmlspecialchars($line) . "<br />\n"; //Выводим текст
}
echo '</div>';
//Переадресация
echo engine::home(array(Lang::__('К файлу'),'view.php?id='.$id.''));
break;
case 'edit_file':
include_once(H.'/modules/download/inc/edit_file.php');
break;
case 'screen':
include_once(H.'/modules/download/inc/screen.php');
break;
case 'delete':
include_once(H.'/modules/download/inc/delete.php');
break;
case 'download':
include_once(H.'/modules/download/inc/download.php');
break;
endswitch;
echo engine::home(array(Lang::__('Назад'),'dir.php?id='.$view_file['id_dir'].''));
?>