+0.76
Рейтинг
3.66
Сила

Sergey

Авто анонс

Задумался о добавлении возможности создания анонса. Полез в код… Оказывается, в ливстрит есть все, что нужно для создания анонса! Максу респект!

Но просто добавить новое поле в форму добавления топика мне показалось мало. Точнее я передумал. =)))

Вместо ручного добавления анонса решил сделать авто обрезание текста топика. Варианта три:

1) Отрезать определенное количество символов и тупо ставить троеточие.
2) То же самое, но до первого пробела. В этом случае целостность слов сохраняется.
3) То же самое, но до первого знака окончания строки. :)

Первый тупой и простой никому давно не интересен, поэтому расскажу, как сделать второй и третий.

Читать дальше →

Механизм хуков в движке

В продолжении топиков LiveStreet как платформа для модулей и Тест хуков в движке появилась поддержка хуков.

Использовать можно так:
1. В любом месте(модуле, экшене) установить вызов необходимого хука на метод модуля
$this->Hook_AddExecModule('topic_show','Test_MyHookRun',10);
регистрирует на событие topic_show вызов метода MyHookRun у модуля Test с приоритетом 10.
2. В любом месте установить вызов хука на функцию
$this->Hook_AddExecFunction('topic_show','var_dump',-5);
регистрирует вызов функции var_dump
3. Создать класс хука в каталоге /classes/hooks/ с именем файла HookTest.class.php с содержанием
<? 
class HookTest extends Hook {	
	public function RegisterHook() {
		$this->AddHook('topic_show','testHookFunct',__CLASS__,-3);
	}
	
	public function testHookFunct($aVars) {
		var_dump("Hook it!");
	}
}
?>

Читать дальше →

поддомены в LiveStreet для юзера

в Router.class.php
было

protected function __construct() {
		$this->LoadConfig();

		if (get_magic_quotes_gpc()) {
			func_stripslashes($_REQUEST);
		}

		$sReq=preg_replace("/\/+/",'/',$_SERVER['REQUEST_URI']);
		$sReq=preg_replace("/^\/(.*)\/?$/U",'\\1',$sReq);
		$sReq=preg_replace("/^(.*)\/\?.*$/U",'\\1',$sReq);

		self::$sPathWebCurrent = DIR_WEB_ROOT."/".$sReq;

		$aRequestUrl = ($sReq=='') ? array() : explode('/',$sReq);
		for ($i=0;$i<SYS_OFFSET_REQUEST_URL;$i++) {
			array_shift($aRequestUrl);
		}
		self::$sAction=array_shift($aRequestUrl);
		self::$sActionEvent=array_shift($aRequestUrl);
		self::$aParams=$aRequestUrl;
		}

стало

Читать дальше →

Добавляем количество просмотров топику

Многие хотели, но не знали как доковырять, показываю на простом примере.

Открываем файл Topic.class.php
И добавляем перед закрытием класса функцию
/**
	 * Обновляем топик без всяких примочек
	 *
	 * @param TopicEntity_Topic $oTopic
	 * @return unknown
	 */
	// 
	public function SetTopicCountRead(TopicEntity_Topic $oTopic) {		
		$this->oMapperTopic->UpdateTopic($oTopic);
		$this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array('topic_update',"topic_update_{$oTopic->getId()}"));
	}

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

Читать дальше →

[Beta] Модуль "Афиша"

Итак. Написание модуля Афиши подходит к концу. Спасибо всем, кто отвечал на мои вопросы в ходе разработки. Что сделали я покажу Вам завтра-послезавтра, а пока хочу опубликовать ТЗ на этот модуль, по которому мы делаем.

Модуль «Афиша»



1. Обзор события — информация о событии
1. Название события*
2. Описание события* (мин 50 символов)
3. Место проведения* — при отображении это будет работать по принципу меток
4. Дата начала*
5. Дата окончания
6. Время начала
7. Картинка события – сделать чтоб применялся шаблон и ресайзилась
8. Метки*
9. Создатель события
10. Количество голосов за событие
11. Количество людей, которые пойдут (Сколько муж, сколько жен)
12. Комментарии события
2. Типы события
1. Кино
2. Театр
3. Выставка
4. Пати – вечеринки, дискотеки и т.п.
5. Бизнес
6. Личные – например Д/Р человека и т.д.
7. Разные – всё остальное
3. Правила модуля «Афиши»
1. Создать событие могут только с определённой кармой
2. Промежуток между добавлением у одного чела должно быть определённое время
3. Не должно быть ссылок и HTML кода в описании и названии
4. Если Администратор, то можно удалять события, комментарии
5. Возможность просмотра комментарий «До начала события» и «После проведения события»
6. Общий RSS, а так же у каждого типа свой
7. Уведомление на e-mail (если галка в профиле стоит)

* обязательно для заполнения.

Сейчас реализовано на 80% функционала. За основу взяли здесь http://respectiva.ru/afisha/. Некоторые вещи убрали, многие добавили.

Если будут желающие, то продажа модуля есть. Сейчас уже есть 3 предварительных заказа. Сразу хочу сказать — бесплатно модуль не предоставляю, т.к. программист, который задействован работает за деньги. Плата небольшая, так что…

Доработать модуль "Галерея" от Benone

Необходимо доработать модуль «Галерея» от Benone.
Требуется реализовать:
— стилевое оформление;
— настройка во сколько колонок и рядов выводить фотки;
— постраничная навигация;
— возможность для админа устанавливать лимит на количество загружаемых фото (или как то увязать с рейтингом пользователя);
— рейтинги и комментарии к фото;
— вывод случайных фото в блоке.
Это первое, что пришло на ум. Прошу высказать свои предложения заинтересованным и как обычно, кто желает участвовать в коллективной заявке — милости прошу.

Обновление версии livestreet при наличии своих доработок

Задался на днях вопросом о том, как правильно делать агрейд версии ls при наличии своих доработок и как правильно делать доработки — пока не понятно.

Просматривал примеры допилов — изменения в шаблонах, в контроллерах и т.д. Т.е. довольно «хардкорно» в коде.
Все изменения канут в небытие при переходе на новую версию движка или же я что то не правильно понимаю?

Интеграция с Wiki

Сегодня стала доступна интегрированная в LiveStreet Wiki(DokuWiki).
Посмотреть её можно здесь — livestreet.ru/wiki/ Доступ на правку данной вики имеют пользователи с рейтингом больше 2.
Планирую собрать в ней всю справочную информацию по движку как для разработчика, так и для простого пользователя.
И конечно же надеюсь на вашу активную помощь в составление данной вики. Объявляю розыск активистов для этой архиважной задачи.

Скачать настроенную DokuWiki можно со страницы проекта LiveStreet sourceforge.net/project/platformdownload.php?group_id=235793 Для установки достаточно извлечь каталог wiki в корень вашего сайте на LiveStreet.
ВНИМАНИЕ! Wiki будет работать только с LiveStreet 0.3 из SVN не ниже 241 ревизии

Визуализация статистических данных

Как и обещал в прошлый раз, продолжаю роман с визуализацией данных движка Livestreet. На этот раз отобразим на графиках динамику следующих данных:
  • пользователи
  • комментарии
  • статьи


Читать дальше →

Использование поддоменов в LiveStreet

У многих возникает необходимость использовать поддомены для своих проектов на базе LiveStreet, например вынести на поддомены блоги.
Сделать это можно разными путями, например через реврайты в .htaccess, либо через роутер движка.
Я покажу как это можно сделать на примере последнего варианта, т.е. через роутер.

Читать дальше →