-0.83
Рейтинг
1.18
Сила

Sisyphus - защита HTML формы

Sisyphus
Привет Сообщество!

Вчера днем, многие хабраюзеры могли прочитать о jQuery плагине Sisyphus.

Этот плагин подключается к HTML форме и на лету сохраняет данные в LocalStorage. Если до момента отправки формы рухнет браузер, случайно закроется вкладка или вырубят электричество — данные будут сохранены. При следующем открытии страницы с формой она будет заполнена сохраненными данными.



Плагин Sisyphus для LiveStreet подключает Sisyphus.js к форме создания топика (всех типов).
Для проектов написанных с использованием js-фрэймворка Mootools, jQuery будет загружен автоматически.
Плагин протестирован в 0.4.2 и 0.5.1 версиях LiveStreet.
Плагин не тестировался с WYSIWYG-редакторами. (есть мнение, что не заработает)


ORM и ActiveRecord в 0.5 и выше

Выход версии 0.5 для меня было нечто большим, чем добавление страницы активности и ленты топиков из подписанных блогов. В новой версии реализованы ORM и ActiveRecord. Вместе они дают мощнейший инструментарий для разработчика, избавляя того от кучи однотипного кода, который приходилось писать каждый раз при разработке плагина. Тот-же форум, о котором будет идти речь в статье, после обновления похудел на 2177 строк кода. В этой статье я хочу углубиться в ORM и AR на примере создания плагина для LiveStreet.

Читаем дальше...

Система блоков

Если пробежаться глазами по сайтам, созданным с ее помощью несложно заметить, что большинство из них наследует две колонки стандартных шаблонов.
Но ведь LS может похвастаться простой, но от этого не менее функциональной системой блоков. Почему владельцы сайтов не используют ее? Возможно, дело в документации?
Это я сегодня с Вашей помощью и попробую исправить.


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

Связи many to many в ORM

В транковой версии появилась полноценная поддержка связей типа many to many. Это значит, что теперь вся забота о поддержании, например, тегов в ваших плагинах ложится на ОРМ.

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

Плагин "Реферальная система"

Плагин добавляет в Livestreet реферальную систему.

Что это такое?
После активации у каждого юзера в профиле появляется ссылка по которой он может приглашать на Ваш сайт других пользователей. Приглашенные юзером пользователи будут отображаться в его профиле под блоком «Друзья».
Пока никаких плюсов для юзеров приглашающих пользователей на сайт по ссылке, пока не предусмотрено. (Предлагайте в комментах придумать плюсы )

Как это работает?
Пользователь XXX размещает на сайте sitename.ur/ ссылку вида «livestreet.ru/ref/XXX» (где XXX = %username%)

Каждый пользователь который перейдет по реферальной ссылке, будет переадресован на главную страницу сайта. В cookie его браузера запишутся данные сроком на 1 год. Если пользователь не зарегистрируется разу, а например через пару недель, то пользователь засчитывается рефералом юзера XXX.
Каждый следующий переход или переход по реферальной ссылке другого юзера cookie не перезаписывает.

Плагин можно скачать здесь

ToDo


— Добавление N рейтинга пригласившему, за каждого зарегистрированного по его реферальной ссылке
— Добавление N рейтинга юзеру зарегистрировавшемуся по реферальной ссылке
— Исправление несовместимости с плагином расширенной регистрации, Яндекс капчей и валидацией форм на ajax

Хак: "Солим" пароль

Как изветсно LS хранит пароли в очень простом виде — md5(password), обладая некоторым количеством паранойи я решил добавить к нему соль, после ниже описанных изменений пароль будет храниться в виде: sha1(salt+md5(password))

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

Новые возможности форматирования дат

В версии 0.4 значительно улучшены возможности по работе с датами. Ввиду большого числа писем по этому поводу, опишу здесь основные моменты и правила пользования новыми параметрами форматирования дат:

0. Вступление.

За оформление даты в Smarty-шаблоне отвечает тот же, что и раньше, smarty-тег {date_format}. Тег требует только один обязательный параметр 'date' — собственно дата. Простейший вариант вывода:
{date_format date=$oTopic->getDateAdd()}

в результате получаем самый обычный:
10 декабря 2009, 00:35

Информация для разработчиков: date_format работает теперь не через функцию в function.php, а через специально написанный для движка smarty-плагин.


Дополнительные параметры формата

Реферальная система начисления рейтинга

Навеяно http://livestreet.ru/blog/2375.html#comment29060
4. Сюдаже сотворил бы партнерку по привлечению «писателей», привел %юзернейм% друга, друг написал 50 годных постов, %юзернейм% получил балы

Только я сделал немного иначе. Просто начисляю копеечку с каждого поста того, кого инвайтили.

см начало в http://livestreet.ru/blog/2379.html

ls\classes\actions\ActionTopic.class.php

		// добавляем рейтинг пригласившему нас по инвайту
		$oUserInviteFrom=$this->User_GetUserInviteFrom($this->oUserCurrent->getId());
		if ($oUserInviteFrom!=NULL) {
			$oUserInviteFrom->setSkill($oUserInviteFrom->getSkill()+0.02);
			$oUserInviteFrom->setRating($oUserInviteFrom->getRating()+0.001);
			$this->User_Update($oUserInviteFrom);
		}

Начисление силы и рейтинга за посты

Предыстория.

Есть молодой блог по инвайтам, в который запустили 10 человек.
Эти люди переносят свое творчество.

Ожидается через неделю-другую открыть регистрацию для всех.
И что же увидит молодняк?
Кучу юзеров и тем с 0 рейтингом (мы друг друга знаем и все труды тоже. основное время тратим на перенос, а не на чтение)

Что бы это избежать, было решенно ввести премирование за написание постов.

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

Меняем логин на имя в верхней панели пользователя после авторизации

Для того что бы в верхней панели вместо логина выводилось имя нужно открыть файл header_top.tpl в папке с темой
Читать дальше →