+60.64
450 читателей, 105 топиков

Как не потерять текст при написании топика



Порой при добавлении/редактировании топика случаются казусы, при которых можно потерять уже написанный/отредактированный текст. Например, случайно закрыли вкладку, перешли назад, кликнули по какой-либо ссылке и т.п.

Чтобы избежать этого, мы можем выводить предупреждение по событию beforeunload, т.е. перед тем как пользователь покидает страницу. Только перед этим проверим были ли изменения в полях ввода.

Как реализовать?
Необходимо на страницах добавления и редактирования топика добавить скрипт. На мой взгляд проще всего это сделать через php-хук движка:
Читать дальше →

Как сохранить совместимость при адаптации js шаблона (плагина) к js движка

Зачастую при адаптации шаблонов/плагинов так и тянутся руки поправить js в движке, что чревато потерей совместимости с другими шаблонами и плагинами.

Чтобы разобраться с этим вопросом и с целью самообразования, решил написать этот топик — может кому-то пригодится.

Какие есть варианты:
  1. Редактировать js-файлы прямо в движке
  2. Переписать (переопределить) нужный метод

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

Меняем компрессор js

Нет, нет — это инструкция не для владельцев Мерседеса.
Речь идет о библиотеке JSMin для сжатия js-файлов.
Я заглянул на репозитарий либы на github, где черным по-белому по-русски написано что мол проект больше не поддерживается, и что не стоить использовать, ведь есть более достойные инструменты, среди которых есть JShrink.

Итак:
Читать дальше →

Как вынести количество публикаций каждого пользователя на страницу пользователей

Данный топик — расширенный ответ на вопрос, заданный в этом топике т.к. мне уже не первый раз задают этот вопрос.

Нужно в файле сущности пользователя \classes\modules\user\entity\User.entity.class.php (например, после 453 строки) дописать метод:
/**
 * Возвращает количество созданных пользователем топиков и комментариев
 *
 * @return int
 */
public function getPublicationsCount() {
  $iCountTopicUser = $this->Topic_GetCountTopicsPersonalByUser($this->getId(), 1);
  $iCountCommentUser = $this->Comment_GetCountCommentsByUserId($this->getId(), 'topic');
  return $iCountTopicUser + $iCountCommentUser;
}


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

Борьба с попаданием автоматических писем с сайта в спам [ЧАСТИЧНОЕ РЕШЕНИЕ]

Потратил кучу времени на решение проблемы, а именно письма-оповещения с сайта попадали в СПАМ, особенно остро стояла проблема с Google. На данный момент я смог побороть этот недуг и хочу поделиться с вами своим решением.



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

Шаг навстречу новым пользователям

Многие люди, которые заходят на сайты livestreet даже не догадываются что они могут писать свои новости! А все потому что они не видят кнопочку создать новость.

Давайте сделаем кнопочку «создать» видимой для незарегистрированных пользователей.
Читать дальше →

С наступающим 2015-м годом!

Уважаемые пользователи, коллеги.
Поздравляю с наступающим 2015-м годом. Желаю вам всего самого наилучшего, творческих и профессиональных успехов, мира, здоровья и процветания.
Небольшой плагин на праздник под катом.


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

Еще один способ отсечения спам-ботов.

Думаю многие сталкивались с проблемой спам-ботов на своих сайтах LS. В своё время я решил этот вопрос с помощью настроек конфига, а так же небольшого плагина.
Суть защиты сводится к тому, что минимальное значение рейтинга для возможности создания топика устанавливается больше 0. А что бы новые пользователи могли без проблем создавать топики, то им начисляется дополнительный рейтинг за заполнение полей профиля. Этот рецепт позволил мне забыть о проблеме спам-ботов.
Что бы повторить мой путь необходимо:
1. Внести изменения в config.php:

$config['acl']['create']['topic']['limit_rating']  = 0.5


2. Установить и активировать плагин: