SHOW:
|
|
- or go back to the newest paste.
1 | <?php | |
2 | ||
3 | /* | |
4 | * LinkorCMS 1.4 | |
5 | * © 2012 LinkorCMS Development Group | |
6 | */ | |
7 | ||
8 | ||
9 | // Блок Топ Новостей | |
10 | // LinkorCMS Development Group | |
11 | if(!defined('VALID_RUN')){ | |
12 | header("HTTP/1.1 404 Not Found"); | |
13 | exit; | |
14 | } | |
15 | ||
16 | $vars['title'] = $title; | |
17 | ||
18 | $bcache_name = 'articles'.System::user()->AccessLevel(); | |
19 | if(!System::cache()->HasCache('block', $bcache_name)){ | |
20 | $topic = 1; // !!! Тут указывается id категории, из которой нужно выводить статьи. Если указан 0, то вывод идет из всех. !!! | |
21 | $max_news = 3; // !!! Количество статей в блоке !!! | |
22 | if($topic != 0){ | |
23 | $where = "`active`='1' and `cat_id`='$topic'"; | |
24 | }else{ | |
25 | $where = "`active`='1'"; | |
26 | } | |
27 | $newsdb = System::database()->Select('articles', GetWhereByAccess('view', $where), $max_news, 'public', true); | |
28 | $news = array(); | |
29 | foreach($newsdb as $new){ | |
30 | $news[] = array( | |
31 | 'title' => SafeDB($new['title'], 255, str), | |
32 | 'text' => substr(SafeDB($new['description'], 0, str, true, false), 0, 255), | |
33 | 'date' => $new['public'], | |
34 | 'url' => Ufu("index.php?name=articles&op=read&art=".SafeDB($new['id'], 11, int)."&cat=".SafeDB($new['cat_id'], 11, int), 'articles/{cat}/{art}/') | |
35 | ); | |
36 | } | |
37 | System::cache()->Write('block', $bcache_name, $news); | |
38 | }else{ | |
39 | $news = System::cache()->Get('block', $bcache_name); | |
40 | } | |
41 | ||
42 | $count = count($news); | |
43 | $en = !($count == 0); | |
44 | - | $tempvars['content'] = 'block/content/news.html'; |
44 | + | $tempvars['content'] = 'block/content/articles.html'; |
45 | System::site()->AddBlock('no_news', !$en); | |
46 | System::site()->AddBlock('block_news', $en); | |
47 | System::site()->AddBlock('block_news_news', true, true, 'news'); | |
48 | ||
49 | foreach($news as $new){ | |
50 | $text = $new['text']; | |
51 | $pp = strpos($text, '. '); | |
52 | if($pp !== false){ | |
53 | $text = substr($text, 0, $pp+1); | |
54 | }else{ | |
55 | $text = substr($text, 0, 128).' ...'; | |
56 | } | |
57 | $news_vars = array(); | |
58 | $news_vars['title'] = $new['title']; | |
59 | $news_vars['url'] = $new['url']; | |
60 | $news_vars['text'] = $text; | |
61 | $news_vars['date'] = TimeRender($new['date']); | |
62 | System::site()->AddSubBlock('block_news_news', true, $news_vars); | |
63 | } |