Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#453 Re: FAQ » FYI: Интересные возможности плагина lastnews (последние новости сайта) » 2010-08-01 14:01:38

Wolverine, я это уже сделал давно.


Вобщем для тех кто еще пользуется данным плагином, и хочет сделать обработку смайлов и тегов, а так же обрезание короткой новости, я выкладываю найденое решение:

<?php

// Protect against hack attempts
if (!defined('NGCMS')) die ('HAL');

add_act('index', 'plugin_lastnews');


function plugin_lastnews(){
	global $template;
	$template['vars']['plugin_lastnews'] = plugin_lastnewsGenerator('', array(), array('number' => extra_get_param('lastnews','number'), 'maxlength' => extra_get_param('lastnews','maxlength')));
	$template['vars']['plugin_lastnews_2'] = plugin_lastnewsGenerator($orderBy = '', $categories = array (1), $overrideParams = array('number' => 1, 'maxlength' => 85, 'overrideTemplatePath' => tpl_site . 'plugins/lastnews_2'));
	$template['vars']['plugin_lastnews_3'] = plugin_lastnewsGenerator($orderBy = '', $categories = array (1), $overrideParams = array('number' => 1, 'maxlength' => 85, 'overrideTemplatePath' => tpl_site . 'plugins/lastnews_3'));
	$template['vars']['plugin_lastnews_4'] = plugin_lastnewsGenerator($orderBy = '', $categories = array (1), $overrideParams = array('number' => 1, 'maxlength' => 85, 'overrideTemplatePath' => tpl_site . 'plugins/lastnews_4'));
}

//
// $orderby			- param for news order in show (SQL expression, NO SECURITY CHECK !!!)
// $categories		- a list of categories - array of elements, each element may be a category ID or an array of categories
// $overrideParams	- a list of overriding params
//   * number		- number of news to show
//   * offset		- news number offset
//   * dateformat	- manually set date format for display [default: "{day0}:{month0}:{year}"]
//	* {day}		- day number
//	* {day0}	- day number with leading zero
//	* {month}       - month number
//	* {month0}      - month number with leading zero
//	* {year}        - year (in 4 digit format)
//	* {year2}       - year (in 2 digit format)
//	* {month_s}     - month name, short
//	* {month_l}     - month name, long
//	* {hour}        - hour
//	* {hour0}       - hour with leading zero
//	* {minute0}     - minute with leading zero
//
//   * maxlength	- maximum length of news title (cut)
//   * overrideTemplatePath - path for template
function plugin_lastnewsGenerator($orderby = '', $categories = array(), $overrideParams = array()) {
	global $config, $mysql, $tpl, $lang, $langShortMonths, $langMonths, $parse, $PFILTERS;

	// Generate cache file name [ we should take into account SWITCHER plugin & calling parameters ]
	$cacheFileName = md5('lastnews'.$config['theme'].$config['default_lang'].var_export($categories, true).var_export($overrideParams, true)).'.txt';

	if (extra_get_param('lastnews','cache')) {
		$cacheData = cacheRetrieveFile($cacheFileName, extra_get_param('lastnews','cacheExpire'), 'lastnews');
		if ($cacheData != false) {
			// We got data from cache. Return it and stop
			return $cacheData;
		}
	}

	if (intval($overrideParams['number']) <= 1) {
		$number = 1;
	} else {
		$number = intval($overrideParams['number']);
	}
	$offset = isset($overrideParams['offset'])?intval($overrideParams['offset']):0;

	if (intval($overrideParams['maxlength']) <= 1) {
		$maxlength = 100;
	} else {
		$maxlength = intval($overrideParams['maxlength']);
	}

	// Determine paths for all template files
	if (isset($overrideParams['overrideTemplatePath']) && $overrideParams['overrideTemplatePath']) {
		$tpath = array('entries' => $overrideParams['overrideTemplatePath'], 'lastnews' => $overrideParams['overrideTemplatePath']);
	} else {
		$tpath = locatePluginTemplates(array('entries', 'lastnews'), 'lastnews', extra_get_param('lastnews', 'localsource'));
	}

	$filter = array ('approve = 1');

	//
	$catfilter = array();
	foreach ($categories as $cat) {
		if (is_array($cat)) {
			$catsubfilter = array();
			foreach ($cat as $subcat)
				$catsubfilter [] = "(catid regexp '[[:<:]](".$subcat.")[[:>:]]')";
			$catfilter [] = '('.join (' AND ', $catsubfilter).')';
		} else {
			$catfilter [] = "(catid regexp '[[:<:]](".$cat.")[[:>:]]')";
		}
	}
	if (count($catfilter))
		$filter [] = '('.join(' OR ', $catfilter).')';

	// Preparation for plugin integration [if needed]
	$callingParams = array();
	if (extra_get_param('lastnews', 'pcall')) {
		$callingParams['plugin'] = 'lastnews';
		switch (intval(extra_get_param('lastnews', 'pcall_mode'))) {
			case 1: $callingParams['style'] = 'short';
					break;
			case 2: $callingParams['style'] = 'full';
					break;
			default: $callingParams['style'] = 'export';
		}

		// Preload plugins
		load_extras('news:show');
		load_extras('news:show:one');
	}

	$result = '';
	foreach ($mysql->select("select * from ".prefix."_news where ".join(" AND ", $filter)." order by ".($orderby?$orderby:"id desc")." limit ".$offset.",".$number) as $row) {
		// Execute filters [ if requested ]
		if (extra_get_param('lastnews', 'pcall') && is_array($PFILTERS['news']))
				foreach ($PFILTERS['news'] as $k => $v) { $v->showNewsPre($row['id'], $row, $callingParams); }
		
      list ($short, $full) = explode('<!--more-->', $row['content'], 2);
	  if (extra_get_param('lastnews', 'maxshort')!=0) 	{ $short = $parse->truncateHTML($short, extra_get_param('lastnews', 'maxshort')); }
		if ($config['blocks_for_reg'])					{ $short = $parse -> userblocks($short); }
		if ($config['use_htmlformatter'])				{ $short = $parse -> htmlformatter($short); }
		if ($config['use_bbcodes'])						{ $short = $parse -> bbcodes($short); }
		if ($config['use_smilies'])	 					{ $short = $parse -> smilies($short); }
        $tvars['vars'] = array(
        'link'        =>    newsGenerateLink($row),
        'views'        =>    $row['views'],
        'content'        =>  $short,  
        );
		

		// Set formatted date
		$dformat = (isset($overrideParams['dateformat']))?$overrideParams['dateformat']:(extra_get_param('lastnews','dateformat')?extra_get_param('lastnews','dateformat'):'{day0}.{month0}.{year}');
		$tvars['vars']['date'] = str_replace(array('{day}', '{day0}', '{month}', '{month0}', '{year}', '{year2}', '{month_s}', '{month_l}', '{hour}', '{hour0}', '{minute0}'),
						array(date('j',$row['postdate']), date('d',$row['postdate']), date('n',$row['postdate']), date('m',$row['postdate']), date('y',$row['postdate']), date('Y',$row['postdate']), $langShortMonths[date('n',$row['postdate'])-1], $langMonths[date('n',$row['postdate'])-1], date('G', $row['postdate']), date('H', $row['postdate']), date('i', $row['postdate'])), $dformat);

		if (strlen($row['title']) > $maxlength) {
			$tvars['vars']['title'] = substr(secure_html($row['title']), 0, $maxlength)."...";
		} else {
			$tvars['vars']['title'] = secure_html($row['title']);
		}

		// Execute filters [ if requested ]
		if (extra_get_param('lastnews', 'pcall') && is_array($PFILTERS['news']))
			foreach ($PFILTERS['news'] as $k => $v) { $v->showNews($row['id'], $row, $tvars, $callingParams); }

		$tpl -> template('entries', $tpath['entries']);
		$tpl -> vars('entries', $tvars);
		$result .= $tpl -> show('entries');
	}

	unset($tvars);
	$tvars['vars'] = array ( 'tpl_url' => tpl_url, 'entries' => $result);

	$tpl -> template('lastnews', $tpath['lastnews']);
	$tpl -> vars('lastnews', $tvars);

	$output = $tpl -> show('lastnews');

	if (extra_get_param('lastnews','cache'))
		cacheStoreFile($cacheFileName, $output, 'lastnews');

	return $output;
}

#455 Re: FAQ » FYI: Интересные возможности плагина lastnews (последние новости сайта) » 2010-07-31 20:10:35

Wolverine, спасибо.

Но встал вопрос обработки ббтегов, попробовал присобачить из top_news, но ничего не вышло.

Вот собственно код:

      list ($short, $full) = explode('<!--more-->', $row['content'], 2);
        $tvars['vars'] = array(
        'link'        =>    newsGenerateLink($row),
        'views'        =>    $row['views'],
        'content'        =>    $parse->truncateHTML($short, 300)
        $short = $parse -> bbcodes($short);
        $short = $parse -> smilies($short);
        );

Помогите пожалуйста сделать обработку тегов.

#457 Re: Тестирование версий » NGCMG версии 0.9.2 [Release Candidate 1] » 2010-07-30 12:49:22

Да, кстати, насчет 3) пункта у Trashcka, я то же с этим столкнулся, можно ли это как то исправить?

#458 "У меня не работает..." » При включении плагина voting, появляется ошибка. » 2010-07-27 16:52:01

Евгений
Ответов: 2
Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /home/galakt/public_html/engine/plugins/voting/voting.php on line 82

Вот такая вот ошибка вылетает при использовании плагина voting, как быть, в чем может скрываться проблема?
Подскажите пожалуйста.

Версия NG: Changeset 619
Версия плагина: 0.10

#461 Флейм » Best-Hoster лежит. » 2010-07-18 11:55:52

Евгений
Ответов: 2

Добрый день, думаю что не у меня одного такая проблема, есть ли такие же невезунчики? По определенным данным, хостинг в дауне уже третьи сутки, если кто нибудь что нибудь знает, то просьба поделиться информацией.

Заранее спасибо.

С уважением Евгений. 

#462 Re: "А как сделать..." » Визуальный редактор от Императив (нид хелп) » 2010-07-14 19:02:49

EsCaPeR, было бы разумным попросить помочь Trashcka, она уже занималась данным вопросом. Как мне кажеться, данный редактор будет очень хорошим вариантом для админки, особенно если его немного допилить под свои нужды, тем более разработчик не закинул развитие сего редактора, так что стоит обдумать этот вариант.
ИМХО: Наверное некоторые не согласятся по поводу админки, объясняется все просто, это стильно, это минималистично, это довольно функционально, единственный минус, использование jQuery.

#464 Re: "А как сделать..." » Визуальный редактор от Императив (нид хелп) » 2010-07-09 20:47:07

EsCaPeR, прикольный редактор, я был бы не против его использования.

#465 Re: "А как сделать..." » Рейтинг CMS » 2010-07-07 15:20:43

Поадаптировать старые шаблоны я то же готов.

#466 Re: Запросы плагинов » Система Бана » 2010-07-07 15:07:44

Luca, по нику бан уже есть, точнее блокировка. На страничке с юзерами, внизу в выпадающем списке есть строка: "Заблокировать пользователя".

#467 Re: "У меня не работает..." » Google Analytics » 2010-07-03 15:29:03

d7p4x, с конфигуратором? smile Все подробности в ICQ, или лучше даже в Jabber`e, заходи, обсудим. wink

#468 Re: "У меня не работает..." » Google Analytics » 2010-07-03 11:04:12

d7p4x, делает LinMas, и я в виде заказчика,дизайнера, и отдела по работе с новыми идеями. smile Я за программную часть дела не отвечаю, поэтому точную дату назвать не могу, но думаю что через пару недель уже будет на что посмотреть. wink

#469 Re: "У меня не работает..." » Google Analytics » 2010-07-02 14:36:12

Wolverine, я имел ввиду все сделаное с нормальным конфигуратором.

#470 Re: "У меня не работает..." » Google Analytics » 2010-07-02 01:28:09

Frankie, скоро будет плагин с выводом данных из Google Analytics, подожди. Пример работы плагина: http://habrahabr.ru/info/stats/

Подожди немного. smile

#472 Запросы на адаптацию » Адаптация шаблонов. CSS шаблоны. » 2010-06-30 18:12:29

Евгений
Ответов: 1

Принимаются просьбы по адаптации одностраничных CSS шаблонов. Работа выполняется на бесплатной и платной основах.

Адаптированы:
1. madbadjack, шаблон 026. Готово
2. Нубасик, шаблон RockUP Готово

Уважаемые пользователи, запросы на адаптацию составляются только по этой форме.

Исполнители:
1. panoptus
Отправить ЛС | Послать e-mail | Профиль |  ICQ:  |  Условие: всё в паблик, исключение личные шаблоны  | *
2. Евгений
Отправить ЛС | Послать e-mail | Профиль |  ICQ: 370-079-103  | * *
3. LinMas
Отправить ЛС | Послать e-mail | Профиль |  ICQ: 409-366-368  | * *

(* - бесплатные адаптации * - платные адаптации)

#473 Запросы на адаптацию » Форма для оставления запроса на адаптацию » 2010-06-30 16:44:53

Евгений
Ответов: 0

Для того что бы ваш шаблон адаптировали как можно скорее и без лишних запинок и вопросов, убедительная просьба пользоваться данной формой:

1. Название шаблона: (Template_1) *
2. Демо: (http://demo.ru/)
3. Запрос: (Платный, Бесплатный) *
4. Скриншоты: (желательно на Photoload) *
5. Ссылка на шаблон: (желательно в приложении к сообщению, или же на ifolder`e) *

(пункты помеченные "*" являются обязательными, запросы составленные не по форме будут удалятся без предупреждения)

(запросы на платную адаптацию можете писать непосредственно в ICQ, или же в Личные сообщения нужным вам исполнителям)

Все, удачных адаптаций! wink

#474 Запросы на адаптацию » Адаптация шаблонов. WordPress шаблоны. » 2010-06-30 15:03:28

Евгений
Ответов: 15

Принимаются просьбы по адаптации WordPress шаблонов. Работа выполняется на бесплатной и платной основах.

Адаптированы:
1. Пока пусто

Уважаемые пользователи, запросы на адаптацию составляются только по этой форме.

Исполнители:
1. infinity237
Отправить ЛС | Послать e-mail | Профиль |  ICQ: 471-477-2 |  Условие: все идет потом в паблик  | *
2. LinMas
Отправить ЛС | Послать e-mail | Профиль |  ICQ: 409-366-368  | * *

(* - бесплатные адаптации * - платные адаптации)

#475 Запросы на адаптацию » Список сайтов с бесплатными CSS шаблонами. » 2010-06-30 01:01:39

Евгений
Ответов: 6

Предлагаю сделать небольшой каталог с сайтами предоставляющими качественные CSS шаблоны, данный каталог будет полезен при выборе шаблона для запроса на адаптацию, что бы не плодить кучи стремных переделок для uCoz и DLE.

1.   http://www.freecsstemplates.org/
2.   http://opensourcetemplates.org/
3.   http://www.free-css-templates.com/
4.   http://www.solucija.com/templates/free
5.   http://csstemplatesfree.net/
6.   http://www.free-templates.ru/
7.   http://csscreme.com/freecsstemplates/
8.   http://www.getfreewebdesigns.com/
9.   http://www.opendesigns.org/
10. http://www.csstemplates.net/free-css-templates.php

Оставляйте ваши предложения в комментариях.

Подвал раздела

Работает на FluxBB