HEX
Server: LiteSpeed
System: Linux php-prod-3.spaceapp.ru 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: sarli3128 (1010)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/retile.ru/public_html/catalog/controller/extension/module/uni_news.php
<?php
class ControllerExtensionModuleUniNews extends Controller {
	public function index($setting) {
		static $module = 0;
		
		$this->load->language('extension/module/uni_othertext');
		$this->load->language('extension/module/uni_news');
		
		$this->load->model('extension/module/uni_news');
		$this->load->model('tool/image');
		
		$lang_id = $this->config->get('config_language_id');
		$store_id = (int)$this->config->get('config_store_id');
		
		$this->document->addStyle('catalog/view/theme/unishop2/stylesheet/news.css');
		
		$data['heading_title'] = $setting['title'][$lang_id] ? $setting['title'][$lang_id] : $this->language->get('heading_title');
		$data['type_view'] = isset($setting['view_type']) ? 'grid' : 'carousel';
		
		$data['img_width'] = $setting['thumb_width'];
		$data['img_height'] = $setting['thumb_height'];
		
		$category_id = isset($setting['category']) ? $setting['category'] : 0;
		
		$cache_name = 'unishop.news.short.'.$category_id.'.'.$lang_id.'.'.$store_id;

		$news = $this->cache->get($cache_name);
			
		if(!$news) {
			$filter_data = [
				'filter_category_id' => $category_id,
				'filter_sub_category'=> isset($setting['sub_category']) ? true : false,
				'limit'				 => $setting['limit'],
				'start'				 => 0,
			];
			
			$news = $this->model_extension_module_uni_news->getNews($filter_data);
				
			if($news) {
				$this->cache->set($cache_name, $news);
			}
		}
		
		$data['news'] = [];

		foreach ($news as $result) {
			if ($result['image']) {
				$image = $this->model_tool_image->resize($result['image'], isset($setting['thumb_width']) ? $setting['thumb_width'] : 320, isset($setting['thumb_height']) ? $setting['thumb_height'] : 240);
			} else {
				$image = $image = $this->model_tool_image->resize('placeholder.png', isset($setting['thumb_width']) ? $setting['thumb_width'] : 320, isset($setting['thumb_height']) ? $setting['thumb_height'] : 240);
			}
			
			$description = utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, isset($setting['numchars']) ? $setting['numchars'] : 200) . '..';
				
			$news_category = $this->model_extension_module_uni_news->getCategory($result['category_id']);

			$data['news'][] = [
				'name'        	=> $result['name'],
				'image'			=> $image,
				'description'	=> $description,
				'href'         	=> $this->url->link('information/uni_news_story', 'news_id='.$result['news_id']),
				'category_name' => isset($news_category['name']) ? $news_category['name'] : '',
				'category_href' => isset($news_category['category_id']) ? $this->url->link('information/uni_news', 'news_path='.$news_category['category_id']) : '',
				'viewed'   		=> $result['viewed'],
				'posted'   		=> date($this->language->get('date_format_short'), strtotime($result['date_added'])),
			];
		}
		
		$data['module'] = $module++;

		return $this->load->view('extension/module/uni_news', $data);
	}
}
?>