+148.20
Рейтинг
447.45
Сила

Serge Pustovit

Новый функционал фреймворка - поведения (behavior)

В новой версии LS 2.0 появится функционал поведений (behaviors), который очень поход на подобный в Yii.
Суть сводится к тому, что теперь определенному типу объектов (пользователи, топики, блоги и т.п.) или конкретному объекту можно назначить через поведения определенный новый функционал.
Добавить новое поведение в объект достаточно просто, можно у объекта определить свойство $aBehaviors. Например:
	protected $aBehaviors=array(
		'category'=>'ModuleCategory_BehaviorCategory',
		'property'=>array(
			'class'=>'ModuleProperty_BehaviorPropertyEntity',
	        	'target_type'=>'article'
		)
	);

В этом примере добавляются два поведения — категории и дополнительные поля. В качестве ключа используется название поведение (далее по этому ключу можно обращаться к поведению), а в качестве значения идут параметры. Параметры идут произвольным массивом имя/значение, 'class' — это служебный параметр, означающий класс поведения. Если у повеления нет параметром, то его можно записать в короткой форме (смотри 'category'). Альтернативным (скорее дополнительным) способом добавления поведения является прямой вызов метода AttachBehavior, например:
$oTopic->AttachBehavior('property','ModuleProperty_BehaviorPropertyEntity');

// далее можно убрать поведение
$oTopic->DetachBehavior('property');


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

Дополнительные поля - использование в плагинах

В новой разрабатываемой версии LiveStreet есть функционал дополнительных (пользовательских) полей. Сейчас он задействован для топиков. Суть сводится к удобной возможности добавлять в различные объекты новые поля разных типов.

Сейчас поддерживаются следующие типы полей:
  • Целое число
  • Дробное число
  • Строка
  • Текст
  • Чекбокс
  • Дата
  • Выпадающий список
  • Теги
  • Ссылка на видео
  • Файл
  • Изображение

Постепенно мы наращиваем функционал и количество типов.
За весь функционал по полям отвечает модуль Property. Рассмотрим пример подключения функционала дополнительных полей к плагину «Статьи» на базе ORM.

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

Отключение автогенерации ссылок из урлов в тексте

Для того чтобы при публикации статьи текст вида something.com не преобразовывался в something.com необходимо в конфиг jefix вставить:
    // автоматическое преобразование URL в ссылку
    'cfgSetAutoLinkMode' => array(
          array(false)
     ),    

StreetDroid (клиент для Android) теперь Open Source

Около 8 месяцев назад я анонсировал клиент LiveStreet для Android. В данный момент приложение находится в Google Play Store.

К сожалению, у меня недостаточно времени продолжать проект, в связи с этим код полностью выложен в открытый доступ и опубликован на GitHub.

Если будут какие-то вопросы — обращайтесь, постараюсь ответить, правда не гарантирую, что быстро.

Интересное решение на неявном преобразовании типов

Задача, собственно, проста: ненавязчиво напоминать пользователю когда он последний раз читал топик надписью в заголовке о количестве дней, прошедших с момента последнего его прочтения. Делается так:
{$numberOfDays = ($smarty.now|date_format:"%Y%m%d"-0)-($oTopic->getDateRead()|replace:"-":""-0)}
{if ($numberOfDays != 0) }
    <div style="font-size: 10px; display: inline; color: #d3d3d3;">
        (Прочитано {$numberOfDays} дней назад)
    </div>
{/if}

Комментировать дальше не буду, но на вопросы отвечу).

Ежедневное вознаграждение пользователей за визит

Уважаемые коллеги,

Может кому-то будет полезно описание решения задачи ежедневного вознаграждения пользователей за заход на ЛС-сайт (для версии 1.0.1).
Читать дальше →

я хотел бы ещё раз затронуть тему — веб сервера и хостинга для ls, а так же посещаемости и нагрузки, которая она создаёт.

Привет, я хотел бы ещё раз затронуть тему — веб сервера и хостинга для ls, а так же посещаемости и нагрузки, которую она создаёт.
Читать дальше →

Открытый бета-тест плагина "Backup"

Здравствуйте уважаемые хабровчане LSовцы.
Представляю Вашему вниманию плагин для резервного копирования\сохранения сайта на LiveStreet.
Его можно найти здесь https://github.com/1099511627776/lsbackup

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