Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как сделать чтобы модуль выводил прикрепленные изображения так же как и файлы?

Как сделать чтобы модуль выводил прикрепленные изображения так же как и файлы?


     06.01.2018    модуль, загрузка, картинки, png, dle    Общие вопросы по PHP, Модули, Хаки    1103

вопрос

<?php
if (!defined('DATALIFEENGINE')) die ("Hacking attempt!");
$cfg = array(
	'newsId' => !empty($news_id) ? (int) $news_id : false,
	'template' => !empty($template) ? $template : 'attachments',
);
$attachments = false;
$attachments = dle_cache( "news_attach" . $news_id, $config['skin'], true );
$error = true;
if ($cfg['newsId']) {
    if(file_exists(TEMPLATE_DIR.'/'.$cfg['template'].'.tpl')) {
	    if(!isset($tpl)) {
		    $tpl = new dle_template();
			$tpl->dir = TEMPLATE_DIR;
		} else {
		    $tpl->result['attachments'] = '';
		}
		$tpl->load_template($cfg['template'] . '.tpl');
		$sql = $db->query("SELECT * FROM " . PREFIX . "_files WHERE news_id =  '". $cfg['newsId'] . "'");
		while($row = $db->get_row($sql)) {
		    $error = false;
	        $md5 = md5_file(ROOT_DIR . '/uploads/files/' . $row['onserver']);
			$size = formatsize(@filesize(ROOT_DIR . '/uploads/files/' . $row['onserver']));
			$image = pathinfo(ROOT_DIR . '/uploads/files/' . $row['onserver']);
			$fi = $image['extension'];
			$file_image = "{$fi}.png";
			$get = $config['http_home_url']."uploads/files/". $row['onserver'];
			$tpl->set( '{file_author}', $row['author'] );
			$tpl->set( '{file_id}', $row['id'] );
			$tpl->set( '{file_name}', $row['name'] );
			$tpl->set( '{file_size}', $size );
			$tpl->set( '{file_md5}', $md5 );
			$tpl->set( '{file_format}', $fi );
			$tpl->set( '{file_image}', $file_image );
			if( date( 'Ymd', $row['date'] ) == date( 'Ymd', $_TIME ) ) {
			    $tpl->set( '{file_date}', $lang['time_heute'] . langdate( ", H:i", $row['date'] ) );
			} elseif( date( 'Ymd', $row['date'] ) == date( 'Ymd', ($_TIME - 86400) ) ) {
			    $tpl->set( '{file_date}', $lang['time_gestern'] . langdate( ", H:i", $row['date'] ) );
		    } else {
			    $tpl->set( '{file_date}', langdate( $config['timestamp_active'], $row['date'] ) );
		    }
		    $tpl->copy_template = preg_replace_callback ( "#\{file_date=(.+?)\}#i", "formdate", $tpl->copy_template );
		    $tpl->set( '{file_link}', $config['http_home_url']."engine/download.php?id=".$row['id'].$area );
			$tpl->set( '{file_url}', $get );
		    if ( $user_group[$member_id['user_group']]['allow_files'] ) {
	            $tpl->set('[attachments]', "");
				$tpl->set('[/attachments]', "");
				$tpl->set_block("'\\[not-attachments\\](.*?)\\[/not-attachments\\]'si", "");
			} else {
			    $tpl->set('[not-attachments]', "");
				$tpl->set('[/not-attachments]', "");
				$tpl->set_block("'\\[attachments\\](.*?)\\[/attachments\\]'si", "");
			}
			if ( $config['files_count'] ) {
			    $tpl->set( '{file_dcount}', $row['dcount'] );
				$tpl->set( '[count]', "" );
				$tpl->set( '[/count]', "" );
				$tpl->set_block( "'\\[not-count\\](.*?)\\[/not-count\\]'si", "" );
		    } else { 
			    $tpl->set( '{file_dcount}', "" );			
				$tpl->set( '[not-count]', "" );
				$tpl->set( '[/not-count]', "" );
				$tpl->set_block( "'\\[count\\](.*?)\\[/count\\]'si", "" );
			}
			$tpl->set( '[file]', "" );
		    $tpl->set( '[/file]', "" );
			$tpl->set_block( "'\\[not-file\\](.*?)\\[/not-file\\]'si", "" );
			$tpl->compile('attachments');
			$attachments = $tpl->result['attachments'];
		}
	    if($error == true) {
		    $tpl->set_block( "'\\[file\\](.*?)\\[/file\\]'si", "" );
			$tpl->set( '[not-file]', "" );
			$tpl->set( '[/not-file]', "" );
			$tpl->compile('attachments');
			$attachments = $tpl->result['attachments'];
		}
		create_cache( "news_attach" . $news_id, $attachments, $config['skin'], true );
		$tpl->clear();
		$db->free();
	} else {
		$attachments = 'Отсутствует файл шаблона: '.$config['skin'].'/'.$cfg['template'].'.tpl';
	}
	echo $attachments;
}
?>


Модуль выводит под статьей загруженные файлы к статье.
Подскажите пожалуйста. Как сделать чтобы он так же выводил и загруженные изображения а не только файлы?
Заранее спасибо!

Ответа пока нет


Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх