Автоподключение свежерегнутых юзеров к коллективным блогам, по выбору

LiveStreet
Иногда есть домены c livestreet, где владельцу сайта хотелось бы сделать так, чтобы все новые пользователи автоматически присоединялись бы к заданным блогам. (а это и авто-рассылка на email и прочее, если включено в настройках)

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

Плагин: 2me.be/z/mhb-1.0.0.zip

Sticky Topics

LiveStreet
сайт/admin/stickytopics – Админка.
Зайти могут не только администраторы всего сайта, но и пользователи, являющиеся администраторами в каких-либо блогах. А так же и обычные пользователи — администраторы своих персональных блогов.

Можно запретить админам блогов использовать настройку прикрепления, отредактировав файл config/config.php и установив параметр allow_blog_admins в значение false. Для запрета обычным пользователям прикреплять записи в их персональных блогах, следует установить параметр allow_personal_blogs в false.

В двигле.
Прикрепленные топики на главной странице сайта.
Открываем файл из каталога шаблона actions/ActionIndex/index.tpl
Перед строчкой
{include file='topic_list.tpl'}

Вставить строчку
{hook run='get_sticky_topics' aTopics=$aTopics}

Чтобы убрать прикрепленные топики со страниц после первой, следует использовать такой вызов хука:
{hook run='get_sticky_topics' aTopics=$aTopics aPaging=$aPaging}

Еще может быть случай, когда прикрепленные топики требуется вывести как-то по-другому, нежели стандартной лентой. Может быть просто названия. Тогда к вызову хука надо добавить параметр outName, который задает имя массива, в который будут помещаться прикрепленные записи.
{hook run='get_sticky_topics' aTopics=$aTopics aPaging=$aPaging outName=aSticky}
{if $aSticky}
{foreach from=$aSticky item=oTopic}
{$oTopic->getTitle()|escape:html}
{/foreach}
{/
if}

Тогда в результате работы хука в массиве шаблона aSticky окажутся прикрепленные топики, а массив aTopics останется неизменным. Если, все же, из массива aTopics требуется убрать прикрепленные топики, то хуку надо задать параметр removeSticky
{hook run=’get_sticky_topics aTopics=$aTopics aPaging=$aPaging outName=aSticky removeSticky=true}

Прикрепленные топики на странице конкретного блога.
Для того, чтобы вывести прикрепленные топики для каждого блога надо редактировать файл шаблона action/ActionBlog/blog.tpl
Единственное, чем отличается использование хука в конкретных блогах это, собственно, указание из какого, конкретно, блога брать записи. Делается это с помощью параметра blog_id:
{hook run='get_sticky_topics' aTopics=$aTopics blog_id=$oBlog->getId()}

Такой вызов хука в шаблоне блога прикрепит топики для текущего блога.
Все случаи, описанные для главной страницы сайта применимы и для конкретного блога, при добавлении параметра blog_id

Прикрепленные топики в персональном блоге пользователя
Тут надо менять шаблон action/ActionMy/blog.tpl
Для вывода прикрепленных топиков к персональному блогу требуется задать параметр blog_id равным -1 и указать дополнительный параметр oUser в который передать объект профиля пользователя. Для экшена ActionMy это объект oUserProfile
{hook run='get_sticky_topics' aTopics=$aTopics blog_id=-1 oUser=$oUserProfile}

Плагин: 2me.be/z/stickytopics-1.0.6.zip

Сделать ему ? Или пусть сам ? Это все таки "не за 1 час лепенить"

Вебмастерское
Какой-то ХЗ чел, на днях(наверно из-за акции за спасибо) у меня просил «посоветовать ему всякой работы». Ну я ему перечислил десяток методов, от норм, до сеонистического говна, если он неэтичный.



Я думал, он отвалит, потому что, почему то верил, что сеонист какой-то пишет. Но он тут такой чистый оказывается.

Так вот, сделать или забить? Ибо это блять не визитка на вордпресе, это уже лепенить, не 1 час, а пару полных дней, или недельку фанового времени потратить.

Каптчу делаем хорошую

LiveStreet
livestreet captcha yandex

Скачиваем и распаковываем архив.
Папку Zloy_Taburet кладем в engine/lib/external/
Изображения zloy_taburet_arrow.gif и zloy_taburet_post.gif кладем в папку images вашего шаблона:
для шаблона new — \templates\skin\new\images\

Находим в файле \templates\language\russian.php строчку:
'registration_captcha' => 'Введите цифры и буквы',

и меняем на:
'registration_captcha' => 'Введите цифры слева',


Вставляем капчу в шаблон:

Для шаблона NEW
Находим в файле \templates\skin\new\actions\ActionRegistration\index.tpl:
{$aLang.registration_captcha}:<br />
                       
<img src="{$DIR_WEB_ROOT}/classes/lib/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}">
                       
<p><input type="text" class="input-text" style="width: 80px;" name="captcha" value="" maxlength=3 /></p>

и меняем на:
<div class="zloy_taburet">
             
<img class="taburet" src="{cfg name='path.root.engine_lib'}/external/Zloy_Taburet/index.php?{$_sPhpSessionName}={$_sPhpSessionId}" onclick="this.src='{cfg name='path.root.engine_lib'}/classes/lib/external/Zloy_Taburet/index.php?{$_sPhpSessionName}={$_sPhpSessionId}&n='+Math.random(); return false;" alt="" />
                               
<img class="captcha" src="{cfg name='path.static.skin'}/images/zloy_taburet_arrow.gif" alt="" />
                               
<div class="zloy_taburet_license">
                                       
<label for="zloy_taburet_name">{$aLang.registration_captcha}:</label><br />
                                       
<p><input type="text" class="input-text" style="width:80px;" name="zloy_taburet_name" value="" maxlength="6" /></p>
                               
</div>
                               
<div class="clear"></div>
                       
</div>


Находим в файле \templates\skin\developer\css\style.css строчку:
.center-block .error { color: #f20909; }

и после нее добавляем это:
.center-block .zloy_taburet { height:74px; background:url("../images/zloy_taburet_post.gif") no-repeat 0px 0px; }
.center-block .zloy_taburet img.taburet { width:200px; height:60px; float:left; padding:7px 0 7px 5px; cursor:pointer; }
.center-block .zloy_taburet img.captcha { float:left; margin:30px 8px 0 15px; }
.center-block .zloy_taburet .zloy_taburet_license { float:left; margin-top:4px;}
.center-block .zloy_taburet .clear { clear:both; }


Находим в файле \classes\actions\ActionRegistration.class.php строчку:
if (!isset($_SESSION['captcha_keystring']) or $_SESSION['captcha_keystring']!=strtolower(getRequest('captcha'))) {

и меняем на:
if (!isset($_SESSION['captcha_keystring']) or $_SESSION['captcha_keystring']!=strtolower(getRequest('zloy_taburet_name'))) {


Если вам не нужна старая капча, то удалите папку \engine\lib\external\kcaptcha\

{literal}код{/literal}

LiveStreet
Наверняка у вас будет проблема, с вставками в стиль, каких-либо элементов.

Например код яндекс метрики.

Нада. В фаиле стиля обрамиь через {literal}
например /templates/skin/new/header.tpl
<body onload="prettyPrint()">

{literal}
<!-- Yandex.Metrika -->

её код

<!-- /Yandex.Metrika -->
{/literal}

{hook run='body_begin'}

Если надо вставить в другое место, то просто вставляем в теги {literal}код_счетчика{/literal}

обязательно сделать когда установите дефолт ls

LiveStreet
  • Скопировать все содержимое файла comment.tpl и вставить его в файл comments_tree.tpl, вместо строки
    {include file='comment.tpl'}  

    тоже самое сделать, с topic_list.tpl + topic.tpl

    Итого — full time на топиках с 1000+ комментариев будет без тормозов.
  • Удалить нахуй у себя файл /engine/lib/external/CSSTidy-1.3/css_optimiser.php
  • И еще вот это.
    Найти в файле /engine/modules/text/Text.class.php
    213 строчку:
    return array($sTextShort,$sTextNew,$sTextCut);

    Заменить ее на строчку:
    return array($sTextShort,$sTextNew,$sTextCut? htmlspecialchars($sTextCut): null);

livestreet vs wordpress

LiveStreet
Если что-то забыл, добавьте ;)



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

Поговорил о открытых. Чем же livestreet лучше wordress?
  • Никакого спама в комментах. В wp всегда засирало тоннами, это меня бесило и до сих пор бесит. Даже с акисметами, каптчами, дерьмо просачивалось. А тут же, с октября, как я стал личный фан бложек вести на ls(хотя давно еще хотел в 2010 даже, но лень было), уже по ID нащелкалось 6к комментов, и не одного спама ;)
  • Удобная структура. С теми же rss (если помните, когда-то очень давно, я вообще стал вести бложеки на доменах, а не сервисах, потому что мне нужно было что-то, что могло бы в rss отдавать, ну и тогда я был нубее чем щас, и тогда я не знал, что есть твитор, а он бы мне, в 2008 подошел как никак лучше, нежели я делал всякие nio4em.com для высера в rss). Настройки, уведомления по мылам и все такое. Не только по rss можно быть в курсе. Куча вариантов подписаться.
  • Если позиционировать блог, сразу, с десятком постоянных авторов, то конечно livestreet удобнее. Как структура. Если не нужна рега или комменты, то их можно запретить наконец :) Но для сообщества авторов, ls охуеть как удобно.
  • Плюс можно делать открытые и закрытые коллективные блоги. Короче можно делать закрытые разделы всякие. Типо перетереть там что нужно.
  • Так же система лс. Можно коллективные лс, типо долгосрочных чатиков делать. Не все люди же дрочат каждый в инете, и имеют стабильный инет. Можно юзать коллективные лс, или же закрытые блоги, для «своих», которым скидываешь что-то, через пару дней чел читает и в курсе.
  • Удобные понятные редакторы и теги. Один livestreet можно сразу позиционировать на кучу подкатегорий, разного рода. На wp можно делать рубрики всякие, но не тематики. Потому что у каждой тематики, еще пару-тройка подуровней всяких. На wp это реализовывается через метки, рубрики всякие. Но и все. А тут можно гораздо глубже копнуть. Сразу кучу блогов, разных тематик, которые разбросаны по разным wordpress например, объединить в один, по коллективным(а их тоже на подкатегории, такое возможно).
  • Наконец, ls можно напичкать плагинами всякими. И делать социальность, типо барахолок, внутренних валют и тому подобное. Рынок это всегда движуха. Но пост не о плагинах. Пост был если брать ls токо для блого-потока. Все равно, даже такой, он лучше wp.
  • И еще. Базы sql меньше чем базы wp. Дада :) Реально объемы баз гораздо меньше. При охуенных данных(почему? потому что тут нету спама и дубликатов всяких копий, при редактировании постов, как в wp). Нагрузка у livestreet больше конечно, но если его настроить, то все будет заебись.

Вообщем. Что я хотел сказать. Что я сейчас, считаю, что даже личные бложеки, или всякие фановые-простые, гораздо проще и удобнее мутить на livestreet, чем на wordpress'aх.

Блять, под любую нужду короче, можно использовать ls. Кому нада, пишите, сделаю вам livestreet'ы за спасибо ;)

RSS в livestreet

LiveStreet
Спорю многие не знали ;)
Что тут можно подписаться на записи, которые попадают на главную. alice2k.me/rss/index/
Можно подписаться отдельно, на записи, с кого-то коллективного блога. alice2k.me/rss/blog/ongoing/
А так же можно подписаться на бурление комментов, в какой-то записи. alice2k.me/rss/comments/696/
Это думаю многие знали.
Но вот, что можно подписаться на метку. Уверен не знали.
Например на метку маст-си или inukami alice2k.me/rss/tag/Inukami/

авто-рейтинг блогов в livestreet

Вебмастерское
Заметил, что за блог редко, кто голосует. Голосуют в основном за топики. Всем похуй и все такое.

Итак, чтобы сделать рейтинг блогов зависимым от оценок постов, опубликованных в этих блогах.
в Rating.class.php

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