Просмотр файла modules/download/view.php

Размер файла: 12.97Kb
<?
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>&nbsp;';
					}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>&nbsp;';
					}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">&nbsp;<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">&nbsp;<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::__('Скачать').'&nbsp;'.$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::__('Размер:').'&nbsp;'.engine::filesize($view_file['filesize']).' | '.Lang::__('Кол. Загрузок:').'<b>&nbsp;'.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'].''));
			?>