Плагин "My Login"


Основной функционал плагина:
  • Позволяет пользователям менять логин;
  • Поддержка коротких ссылок для профилей пользователей (site.com/user1);
  • Поддержка поддоменов для профилей пользователей (user1.site.com);

То есть, плагин позволяет пользователю изменять свой логин. Эта функция доступна в настройках аккаунта. В совокупности с остальным функционалом плагина, мы получаем полезный инструмент для поднятия мини соц. сетей. Ведь, мы все этим занимаемся! ;D

Так же тут учтено то, чего нет в shortprofile: при регистрации или изменении логина не возможно выбрать такой логин, какой бы вёл на существующие разделы сайта, например, не можно зарегистрировать пользователя с логином blogs.

С ссылками на профиль дело обстоит так: мы можем включить одну из функций, или короткие URLs, или поддомены, или оставить как есть, используя при этом только функцию изменения логина. А можно и наоборот: включать только ссылки.

При этом, для работы поддоменов вы должны настроить сервер так, чтобы все запросы с поддоменов передавались на основной домен. То есть, нужно прописать alias вида *.site.com. Дальше скрипт всё сделает сам.

При всём этом, я постарался сделать плагин совместимым с NiceURL. Тут основным условием является, то что надо обязательно указывать в NiceURL постфикс для ссылок (.html, .htm или .php). А также, добавил фикс для того, чтобы подружить NiceURL и RusURLs, но для этого плагин «My Login» должен всегда быть выше в списке plugins.dat, чем NiceURL

Установка:
После активации плагина, получаем ошибку 404, и это нормально. Так происходит потому, что в плагине меняется адрес админки: site.com/admin на site.com/ls_admin. Это нужно для того, чтобы не было конфликта между коротким адресом профиля админа и админкой. То же самое происходит и при дезактивации.

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

Для правильной работы плагина нужно в config.local.php указать вручную `path.root.web` (настоящий адрес сайта, например: «site.com.ua»).

Настройка:
Плагин настраивается в config/config.php.
$config['functions'] = array(
    'change_login' => true, // изменение логина
    // тип ссылки на профиль
    'profile_type' => 'subdomain',   // 'default' - site.com/profile/admin/
                            // 'subdomain' - admin.site.com/
                            // 'short' - site.com/admin/
);

// не допустимые логины
$config['banned_logins'] = array(
    'www',
    'error',
);

[Решено] Очистка кеша после сохранения настроек

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

UPD. Никто не знает/поможет?
UPD2. Перед сохранением, надо было, передать в сущность текущего пользователя новые данные.
— есть текущий пользователь, полученный из бд (сущность)
— вы получаете сабмит формы и обновляете В ТАБЛИЦЕ данные настроек сущности пользователя
— но текущая сущность пользователя $this->User_GetUserCurrent() все также остается со старыми настройками, её никто не обновлял
Спасибо PSNet .

Плагин: настройка "сложного" роутинга. Вопрос

Подскажите, пожалуйста, есть ли в ЛС встроенная возможность настройки роутинга для плагина следующего типа.
Есть плагин с названием plugin. Плагин, помимо вывода базовой странички, реализует достаточно обширный API для некоего приложения.
В плагине есть несколько модулей, к примеру, BasePage, Api1, Api2, Api3.

Как правильно настроить роутер средствами LS, что бы была возможность обрабатывать Экшины не в одном ActionPlugin, а разнести экшины в соответствии с модулями (ActionBasePage -> BasePage, ActionApi1 —> Api1...)?

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

Создание простого плагина. Пошаговая инструкция для новичков. Часть 1

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

Создадим простой плагин, который будет создавать объект «Book» из введенных пользователем данных и сохранять в базу данных. А на отдельной страничке — выводить все созданные объекты Book списком.

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

Плагин "Время прочтения и просмотра" (обновление)

Всё не угомонюсь я со своим плагином. Вот и обновление.


Теперь плагин умеет считать не только время нужное для прочтения топика, но и время для просмотра видео из топика.
К тому же, я вывел информацию в хук topic_show_info. Есть также указать и другие хуки (несколько сразу), в которых есть объект $oTopic.

Плагин может считать видео с таких ресурсов как Youtube, Vimeo, Rutube и Coub. При этом ссылки на видео должны быть вставлены через тег video.

GitHub: github.com/sgavka/lsplugin-time-of-reading
В каталоге: catalog.livestreetcms.com/addon/view/503/

Плагин "Время прочтения"

Возникла нужда реализовать подсчёт и вывод времени прочтения топика и то, что получилось я решил оформить плагином.
В настройках плагина указывается скорость прочтения (симв./сек.), а также, если нужно, количество символов после которых округлять время до минуты.
Также, для вывода написал плагин для Smarty который можно настроить для вывода в минутах и секундах или только в минутах или секунд (есть и другие настройки). Но главное, что плагин автоматически склоняет слова «минута» и «секунда» для разных чисел.
Пример вывода:
{amount_minutes_seconds seconds=$oTopic->getTimeOfReading()}


UPD: Обновил плагин. Исправил то о чём подсказал PSNet . Добавил кнопку «Пересчитать время всех топиков» в админку. И теперь при активации не пересчитываются все топики, эту функцию можно включить в конфиге.

Ссылка на плагин в каталоге: catalog.livestreetcms.com/addon/view/503/
GitHub: github.com/sgavka/lsplugin-time-of-reading

Плагин «Документация для шаблона»

Делал прежде всего для себя, однако может кому еще надо подобное.

Простой мини плагин для разработчиков шаблонов. Позволяет создавать страницу с документацией. Или можно сделать FAQ например.

Что он делает?

— Создает страницу /about
— Добавляет ссылку в админку на страницу /about
— Показывается страница только админу
— Подключает style.css для оформления страницы
— Языковые файлы
— Шаблон страницы index.tpl

Размещение в каталоге платного модуля с лицензией на домен (?)

Здравствуйте!
Подскажите, пожалуйста, как осуществляется процедура продажи в каталоге платных модулей с привязкой к домену? Может просто не нашел функционала индивидуальных продаж?

Спасибо!