+4.52
5 читателей, 84 топика

Набор плагинов, которые нужны на любом LS я считаю

  • Адсенс. Собсно все описано, картинкой.
    Скачать и активировать, вот и все.
  • Происходит, автоматическое подключение блогов при создании топика. Т.е. пользователю, не нужно сначала вступать в блог, чтобы писать в него. Но если у вас от 100 коллективных блогов, например, то он не подойдет, ибо при написании любого топика, пользователю сразу вся сотня предложится для выбора.
    Скачать и активировать
  • Автоматически вставляет тег cut, если длина топика превышает заданный параметр. Если люди нубы, не знают что такое «под кат», то это как раз пригодится.
    Скачать и активировать
  • Автозаполнение города, в профиле, при регистрации.
    Скачать и активировать
  • Добавляет возможность вставлять видео, через код
    <iframe>
    , сейчас это новый код ютуба, да вконтактиве всякие и вимедии.
    Скачать и активировать.
    *алсо можно вставлять через тег
    <video>
    который в LS, прямо по ID видосов, или через ссылки вида youtu.be и прочих коротких.
  • Возможность использовать Граватары. Ну, кто не знает — gravatar.com
    Скачать и активировать
  • Приветствия. Вверху, в сайдбаре, цитаты рандомно появляются. Хотя конечно с лепры же стырено.
    Скачать и активировать
    Настройка текста тута: plugins/greetings/templates/skin/default/list.txt Тексты разделяются, просто — каждая отдельная строка выводится.
  • Расширенное залитие картинок. Добавление первьюшек и предпросмотра.
    Скачать и активировать
  • Листинг страниц с бегунком, как тут внизу. Портит индексацию, т.е. по странично роботы не ходят.
    Скачать и активировать
  • Автозаполнение поиска. Ну, вводите в поиск что-то, не успели дописать слово, а оно уже высветилось, если оно есть в базе.
    Скачать и активировать
  • Кстати, про поиск. Он в livestreet по умолчанию не работает. Нужно устанавливать aceadminpanel и потом еще acemysearch. Тогда все ок будет. Но во первых, этот модуль доп админки не прошит доконца, видел как из-за нее находили дырки. Во вторых, короче это еще и ресурс жрет, на говно тарифах типо виртуального хостинга или мелких vps с 128 памяти, будет не очень. (вообще, vps покупайте от 1гб всегда, к слову)
    Поэтому я советую заюзать поиск от гугла. Делать его тута.
    Или замутить поиск от яндекса. Делается вот так.

    Еще, об этом модуле админки. С помощью него вы можете удалять/банить пользователей. Делать списки инвайтов и еще пару плюшек. Но сразу хочу предупредить, в LS структура по ID в базе. Тут расчитано на то, что тут ничего не удаляется никогда, а просто рейтингом сносится в минусы, если мозолит глаза на главной. (рейтинги в конфиге двигла настриваются, там по разному можно структуры придумывать). Поэтому у вас могут возникнуть проблемы, если вы начнете удалять юзеров. Например коллективные лс собьются, если было лс на 3 человека, а одного из них удалили, то вывод этих трех id, в модуле лс, конечно проебался. И у чела будет глючный лс ящик, и он даже не сможет удалить такие лаго лс и отлистать в прошлое. Или например, в январе я случайно всех users удалил :) У меня везде комменты пропали, ибо вывод комментов идет с id коментатора. Ну короче совет — продумайте зарание структуру коллективных блогов, их тоже лучше не удалять. :)
  • Похожие записи. Например, откройте любую запись, и вы увидете похоже записи в сайдбаре. Они берутся из критериев: метки, автор, блоги. Находится схожесть короче.
    Скачать и активировать
  • Спойлер. Добавляется тег спойлер.
    Скачать и активировать
  • Все метки. Добавляет страницу, где будет абсолютно все метки, а не токо самые популярные, как в сайдбаре.
    Скачать и активировать
  • Добавляет, в сайдбар, где Блоги / Комментарии, еще блок Твиттор. В конфиге указывается аккуант и кол-во выводимых постов.
    Скачать и активировать
  • OpenId — регистрация через vkontakte, facebook, rambler, yandex, google, twitter.
    Скачать и активировать.
    Потом настройка в /plugins/openid/config/config.php
    Для авторизаций, нам нада регнуть свой домен в приложениях тех систем.
    Для rambler, yandex, google не нужно. А вот для facebook, vkontakte, twitter нужно.
    Итак. Вконтакте — vkontakte.ru/apps.php?act=add&site=1, Фб — facebook.com/developers/createapp.php, twitter — dev.twitter.com/apps/new.
    Потом соответсвенно заполняем полученные ID в конфиге и секретные ключи.
    Еще отмечу, для твитора важно сделать так. А в FB, нужно указать домен в настройках. т.е. не важно где у вас установлен LS, поле домен должно быть — корневой домен, а не поддомен или там /blog и еще что-то. Вот.
  • Комментирование, через VK и FB.
    Скачать и активировать
    Опять, как и с OpenId — создать приложения в соц сетях. И настроить конфиг.
  • OpenId через Loginza.
    Все тоже самое, что у OpenId, но не нужно никаких конфигов править. Вы пользуетесь, напрямую через сервис Loginza, который поддерживает Yandex. Т.е. как бы люди регаются, через их приложения, а не ваши ;)
    Скачать и активировать
  • Добавление в профиль, полей для джебберов, скайпов и прочего.
    Скачать и активировать
  • Возможность добавлять к постам подпись.

    Скачать и активировать
    Настройка, в конфиге config/config.php
    А саму подпись(для админа), делать тута: plugins\topicsignature\templates\skin\default\sign_admin.tpl
  • Плагин комментарии к статичным страницам
    Скачать и активировать.

Еще немного иногда полезных плагинов

Добавление возможности голосовать гостям в опросах.
Поддерживается голосование, как зарегистрированных так и анонимных пользователей. Анонимные пользователи могут голосовать раз в сутки.
Скачать и активировать.

Проверка грамотности при помощи Yandex spell API.
Позволяет проверять корректность текстов топиков при помощи яндекса. В данной версии выводит специальный блок, в правой части экрана, при нажатии на нем осуществляется проверка грамотности написания топика.
Скачать и активировать.

Добавление к посту, ссылки на источник.
Пойдет тем, кто прямо батхерит, когда их копипастят через rss или граберами всякими. Теперь копипаститься будет и ссылка на исходный пост ;)
Скачать и активировать.

Список топиков из этого же блога, под постом.
Данный плагин выводит после текста топика, список топиков из этого же блога и переключаться между ними. Что бы им воспользоваться нужно будет поменять файл topic.tpl
найти
<li class="author"><a href="{$oUser->getUserWebPath()}" rel="nofollow">{$oUser->getLogin()}</a></li>
</ul>

после добавить
{hook run='topic_after_tags' oTopic=$oTopic} 

После этого скачать и активировать.

Плагин «Topic Delete»
Плагин решает проблему с удалением записей из таблицы prefix_topic_content при удалении топика. (по умолчанию из sql ничего не удаляется)
В комплекте файл sql.php который чистит записи из prefix_topic_content уже удаленных топиков. (запускается httр://_ваш_сайт_/plugins/topicdelete/sql.php)
Скачать.

Прикрепление файлов к топику
Скачать.

Переключалка скинов
Добавляет меню, переключения стилей.
Скачать плагин.

Переключалка языков
Добавляет меню, переключения установленных языков.
Скачать плагин.

Feedback (Обратная связь)

Обратную связь по сути можно и не делать :) Но если кому-то, хочется, Отдельной Формочкой, как по старинке.
Умеет: анти-флуд контроль; возможность отображени обратной связи для гостей в закрытом режиме работы сайта; возможность вывода ссылки на обратную связь в формы регистрации и авторизации; возможность вывода ссылки на обратную связь в главное меню сайта; возможность замены текстового поля «Тема письма» выпадающим списком; возможность указывать несколько ящиков, на которые будут приходить письма.
Входящий адресс(а) указывается в файле: \plugins\feedback\config\config.php
Все настройки находятся в файле: \plugins\feedback\config\config.php
Добавить элементы в выпадающий список тем можно в файле: \plugins\feedback\templates\language\язык.php
Шаблон письма можно отредактировать в файле: \plugins\feedback\templates\skin\скин\notify\язык\notify.feedback.tpl
Скачать и активировать.

Объединение пользователей двух сайтов livestreet

Есть одна база данных, в ней два сайта с разными префиксами ls_ и ls2_, и нужно объединить таблицу ls_user так чтобы пользователям одного сайта не приходилось регаться второй раз

1. для начала выбираем главную таблицу, пусть будет ls_user,
2. Идем на второй сайт config/config.local.php ищем там строчку
$config['db']['table']['prefix'] = 'ls2_';

3. Ниже неё добавляем
$config['db']['table']['prefix_ls'] = 'ls_';

4. Там-же ищем строчку
$config['db']['table']['user'] = '___db.table.prefix___user';

5. Заменяем ее на
$config['db']['table']['user'] = '___db.table.prefix_ls___user';

Рекламные блоки для LS

Плагин «Ad units»
Рекламные блоки для LS


Добавляет пользователям возможность размещать на сайте рекламные блоки на страницах своих блогов и топиков в виде ссылок, банеров, медиа контента.
для управления рекламными блоками переходим в настройки профиля и добавляем свою рекламу или по ссылке _ваш_сайт_/settings/adunits/

/plugins/localflv/config/config.php:
/* включение/отключение возможности размещать рекламу всем пользователям: all - для всех, admin - только для админов*/
    Config::Set('config.adunits.permit.user', 'all');


При успешной акитивации в БД добавится таблица prefix_adunits из /plugins/adunits/dump.sql
в противном случае выполните sql-запрос из файла /plugins/adunits/dump.sql
CREATE TABLE `prefix_adunits` (
    `adunits_id` int(11) NOT NULL auto_increment,
    `user_id` int(11) NOT NULL,
    `adunits_code` longtext character set utf8,
    `adunits_setting` text character set utf8,
    `adunits_setting_more` longtext character set utf8,
    `adunits_date_add` datetime NOT NULL,
    `adunits_date_edit` datetime NOT NULL,
    PRIMARY KEY  (`adunits_id`)
  ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


Скачать плагин

Красивый номер инвайтов

Кому не нравится код инвайтов вида 5884804e763972972042b1fccd6f1d13.
Можно сделать красивые номера вида Y8EC-HRF-9I5.

Для этого открываем файл include/function.php и находим там функцию func_generator (81 строка). Не будем ее менять, так как она используется в других местах, а сделаем под ней свою:
/**
 * генерирует код инвайта
 */
function func_generator_invite() {
        $allowable_characters = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789";
        $ps_len = strlen($allowable_characters);
        mt_srand((double)microtime()*1000000);
        $pass = "";
        for($i = 0; $i < 12; $i++) {
                if(($i == 4) || ($i == 8)) {
                        $pass .= '-';
                } else {
                        $pass .= $allowable_characters[mt_rand(0,$ps_len-1)];
                }
        }
        return $pass;
}


Затем идем в файл classes/modules/user/User.class.php и находим функцию GenerateInvite (строка 444) и меняем там строку:
$oInvite->setCode(func_generator(32));

на
$oInvite->setCode(func_generator_invite());


Чтобы пользователи могли вводить код в любом регистре сделаем небольшое изменение в файле classes/modules/user/mapper/User.mapper.class.php изменив функцию GetInviteByCode (строка 444). Меняем строку:
if ($aRow=$this->oDb->selectRow($sql,$sCode,$iUsed)) {

на
if ($aRow=$this->oDb->selectRow($sql,strtoupper($sCode),$iUsed)) {

Напоминание о непрочитанном лс

Этим способом, можно ЗАЕБАТЬ СУКА ЛЮДЕЙ :)
Появление окна при начальной загрузке браузера, куки удаляются при закрытии.


В случае наличия сообщений выдает предупреждения. Необходимо включить обновление для новых писем.


Как включить обновление значков при появлении сообщений?
Правим код в конфиге:
// Модуль Talk
$config['module']['talk']['reload']     = true;

*это увеличит нагрузку на сервер.

Скачать и активировать.

Редактирование id

Если вам, все же, приспичило страдать хуетой.

То для редактирования Людей, или там Комментариев, есть два плагина.

Редактирование людей
Плагин позволяет админам редактировать все поля в профиле любого пользователя. Плюс дополнительно админ может регить пользователей, например это можно использовать для регистрации ботов если это нужно. Но думаю что больше этот пагин будет полезен разработчикам, например для тестирования своих наработок после установки чистого дистрибутива движка.
Скачать плагин.

Редактирование комментариев +TinyMCE

Для конфигурации доступны параметры условий возможности редактирования комментария для пользователя: срок, прошедший с момента публикации, уровень комментария в древе, роль пользователя на сайте, тип комментируемого топика.
Так же в конфиге есть возможность включить использование редактора TinyMCE в комментах. Для этого в таблице prefix_comment создается дополнительное поле comment_text_source.
Скачать и активировать.

НО, если все же что-то не так. (у меня не на всех стилях работало)
То делайте вот это.
comment_tree.tpl
на второй строчке, сразу после
<script ... src=".../comments.js"></script>

вставить
{include file='cmtedit_form.tpl'}

comment.tpl
перед кнопкой удаления коммента:
{if !$oComment->getDelete() and $oUserCurrent and $oUserCurrent->isAdministrator()}

вставить
{include file='cmtedit_button.tpl'}

в том же comment.tpl
найти
<div class="text">
        {if $oComment->isBad()}
                <div style="display: none;" id="comment_text_{$oComment->getId()}">
                {$oComment->getText()}
                </div>
                 <a href="#" onclick="$('comment_text_{$oComment->getId()}').style.display='block';$(this).style.display='none';return false;">{$aLang.comment_bad_open}</a>
        {else}  
                {$oComment->getText()}
        {/if}                                                           
</div>

заменить на:
<div class="text" id="comment_text_{$oComment->getId()}" {if $oComment->isBad()}style="display: none;"{/if}>
        {$oComment->getText()}
</div>                          
{if $oComment->isBad()}
        <div class="text-more">
                <a href="#" onclick="$('comment_text_{$oComment->getId()}').style.display='block';this.parentNode.style.display='none';return false;">{$aLang.comment_bad_open}</a>
        </div>
{/if}
{if $oComment->getCommentDateEdit()}
        <div class="text-more edit-info">
                {$oComment->getEditInfo()}
        </div>
{/if}

Отправка подписки через jabber

Все последующие шаги можно делать только если вы добавили поле jabber'а в профиль! :)
Например плагином Социальные контакты.

Берем необходимые файлики, копируем каталоги /classes/, /config/ и /template/languages/ соответственно в каталоги classes/ config/ и languages/ на хосте, где установлен LS.
Потребуется замена файла Notify.class.php

Копируем файлы из каталога templates/skin/new/notify в соответствующий каталог используемой вами темы.
Выполняем sql запрос: (на всякий не забывайте делать бекапы sql, при любой работе с sql, ибо если там что-то накосячится, то это геморой)
alter table prefix_user add user_settings_notice_method enum('mail', 'jabber') not null default 'mail' after user_profile_foto;

Находим в файле /classes/actions/ActionSettings.class.php
if (isset($_REQUEST['submit_settings_tuning'])) {
    $this->Security_ValidateSendForm();

и после этого добавляем:
$sNoticeMethod = getRequest('settings_notice_method');
            if ($sNoticeMethod == "jabber" && is_null($this->oUserCurrent->getProfileJabber())) {
                $this->Message_AddErrorSingle($this->Lang_Get('settings_tuning_no_jid'));
                return;
            }
            $this->oUserCurrent->setSettingsNoticeMethod( $sNoticeMethod );


Находим
$this->oUserCurrent->setProfileJabber(null);
и добавляем после этого:
$this->oUserCurrent->setSettingsNoticeMethod('mail');


в файле: /classes/modules/user/entity/User.entity.class.php находим:
return $this->_aData['user_profile_foto'];
    }

и добавляем после этого:
public function getSettingsNoticeMethod() {
        return $this->_aData['user_settings_notice_method'];
    }

находим:
$this->_aData['user_profile_foto']=$data;
    }

и добавляем после этого:
public function setSettingsNoticeMethod($data) {
        $this->_aData['user_settings_notice_method']=$data;
    }


в файле: /classes/modules/user/mapper/User.mapper.class.php находим:
user_profile_foto = ? ,

и добавляем следом:
user_settings_notice_method = ? ,

находим:
$oUser->getProfileFoto(),

и добавляем следом:
$oUser->getSettingsNoticeMethod(),


в файле /templates/skin/<ваша-тема>/actions/ActionSettings/tuning.tpl находим:
<label for=""><input {if $oUserCurrent->getSettingsNoticeNewFriend()}checked{/if} type="checkbox" id="settings_notice_new_friend" name="settings_notice_new_friend" value="1" class="checkbox" /> — {$aLang.settings_tuning_notice_new_friend}</label>


и после этого добавляем:
<br />
    <select name="settings_notice_method" style="width: 200px;">
        <option value="mail" {if $oUserCurrent->getSettingsNoticeMethod()=='mail'}selected{/if}>{$aLang.settings_tuning_notice_method_mail}</option>
        <option value="jabber" {if $oUserCurrent->getSettingsNoticeMethod()=='jabber'}selected{/if}>{$aLang.settings_tuning_notice_method_jabber}</option>
    </select>


конфиг /config/modules/jabber/config.php надо исправить в соответствии со своими настройками, указав jid от имени которого будут рассылаться уведомления.

Создание рассылок

Создание каких-то любых рассылок, по критериям из профиля юзеров.
Говно хосты, или vps с лимитами на отправку исходящего — не получится. Даже не пытайтесь.

  • Есть возможность фильтра получателей по свойству «Пол» («мужчины», «женщины», «не указан»)
  • Можно посмотреть список рассылок и статус хода рассылки
  • В списке рассылок можно приостановить начатую рассылку или возобновить приостановленную
  • Можно выбирать стартовать или не стартовать рассылку сразу после её сохранения
  • Рассылка производится не сразу, а пачками по 20 писем (количество можно менять в конфиге). Для этого нужно поцепить на cron скрипт рассылки /plugins/mailing/include/cron/send-mail.php
  • Отправленные сообщения не отображаются в вашем списке сообщений до тех пор пока пользователь не ответит на это сообщение (вам ведь важна обратная связь с пользователями?).

Для того, чтобы сообщения отправлялись нужно поцепить на cron скрипт рассылки /plugins/mailing/include/cron/send-mail.php. У нас он запускается каждые 5ть минут:
*/5 * * * * /var/www/domain.ru/www/plugins/mailing/include/cron/send-mail.php

*http://ru.wikipedia.org/wiki/Cron

сайт.ru/mailing/ Рассылка сообщений
сайт.ru/mailing/list Список рассылок

Скачать и активировать.