Рейтинг
+6.78

LiveStreet

8 читателей, 51 топик

Первый ОТЛИЧНЫЙ релиз

LiveStreet


В 2011 не было хороших релизов. Самый классный релиз оставался для меня 0.4.2 с 2010, когда мне и приглянулся LiveStreet как CMS, чтобы потестить. Тогда я и создал alice2k.me, например, потестить двигло, и оно мне понравилось, что я закрыл 404666.ru и решил вести блог на ls :)
И вот прошел 2011, половина 2012 — одно уныние было сплошное.

И вот первый релиз, которому — Я рад.
Почему?
  • Возможность изменять ширину сайта, делать ее фиксированной или резиной с ограничениями по максимальной и минимальной ширине. параметры задаются в конфиге шаблона.
  • Возможность в настройках профиля указать часовой пояс.

Теперь можно и обновиться, наконец.
Подробнее тут http://livestreet.ru/blog/dev_livestreet/11602.html

Протестировал на lsme и на a404.
a404 хотел обновить, но он за 10 минут не обновился. Видимо сначала нужно его до 0.5.1 обновить, а потом уже до 1.0.1, т.к. таблицы в sql херятся. Или возможно нужно просто чистку навести плагинного мусора прошлого.
А вот livestreet.me — нормально получилось.

Оповещение безопасности LiveStreet CMS

LiveStreet
С почты.

Здравствуйте!

В LiveStreet CMS 0.5.1 обнаружена XSS уязвимость.
Патч, исправляющий баг — github.com/livestreet/livestreet/commit/7c9f79c2ebafc9ba1694c3c850ba8299aeef1ac3

Подробнее можно прочитать здесь — livestreet.ru/blog/dev_livestreet/10536.html

С уважением, команда LiveStreet CMS

Раскрашиваем комментарии в LS, как на бонине например

LiveStreet
Выделяем цветом комментарии топикстартера

1. В файле comment.tpl находим следующие строчки:
<div id="comment_id_{$oComment->getId()}" class="comment {if !$oUserCurrent or ($oUserCurrent and !$oUserCurrent->isAdministrator())}not-admin{/if} {if $oComment->getDelete()} deleted{elseif $oUserCurrent and $oComment->getUserId()==$oUserCurrent->getId()} self{elseif $sDateReadLast<=$oComment->getDate()} new{/if}" >

и добавляем:
{if $oTopic and $oComment->getUserId() == $oTopic->getUserId()}topicstart{/if}

получаем:
<div id="comment_id_{$oComment->getId()}" class="comment {if !$oUserCurrent or ($oUserCurrent and !$oUserCurrent->isAdministrator())}not-admin{/if} {if $oComment->getDelete()} deleted{elseif $oUserCurrent and $oComment->getUserId()==$oUserCurrent->getId()} self{elseif $sDateReadLast<=$oComment->getDate()} new{/if} {if $oTopic and $oComment->getUserId() == $oTopic->getUserId()}topicstart{/if}" >

2. В файле comments.css добавляем стиль:
.comment.topicstart  { background: #желаемый цвет; }

При должной сноровке и смекалке можно изменить не только цвет блока.

Другой цвет у комментариев админа
Можно получить другое визуальное оформление комментариев оставленных администратором сайта.
1. В файле comment.tpl в следующие строчки:
<div id="comment_id_{$oComment->getId()}" class="comment {if !$oUserCurrent or ($oUserCurrent and !$oUserCurrent->isAdministrator())}not-admin{/if} {if $oComment->getDelete()} deleted{elseif $oUserCurrent and $oComment->getUserId()==$oUserCurrent->getId()} self{elseif $sDateReadLast<=$oComment->getDate()} new{/if}" >

добавляем:
{if $oUser->isAdministrator()}admin{else}user{/if}

получаем:
<div id="comment_id_{$oComment->getId()}" class="comment {if !$oUserCurrent or ($oUserCurrent and !$oUserCurrent->isAdministrator())}not-admin{/if} {if $oComment->getDelete()} deleted{elseif $oUserCurrent and $oComment->getUserId()==$oUserCurrent->getId()} self{elseif $sDateReadLast<=$oComment->getDate()} new{/if} {if $oUser->isAdministrator()}admin{else}user{/if}"  >

2. В файле comments.css добавляем стиль:
.comment.admin  { background: #желаемый цвет; }

Если подключить немного фантазии, то можно изменить не только цвет блока комментария, но и его визуальное оформление полностью.

Кому-ниб, нужно раскрасить его комменты? :)))

Хранение img на бесплатном сервисе ImageShack

LiveStreet
ImageShack
livestreet CMS

Фотографии сперва ресайзатся, потом заливаются на сервер ImageShack.
Поддерживаются: вставка изображения в топики, комментарии к ним, аватарки, фотка в профайле, и фотосет.

Реализована поддержка одного флага в конфиге, называется: do_local_reserve_copy. Если установить данный флаг в true, то фотография после ресайза не будет удалятся с вашего сервера, так же в БД будет добавлено строчка соответствия вида: файл на сервере ImageShack — файл на вашем сервере. Для чего это нужно. Для того, что бы если вдруг по каким-то причинам вас забанят, вы сможете восстановится с данного бекапа. если do_local_reserve_copy false, то файл после заливки на сервер ImageShack удаляется с вашего сервера.

Получить ключ dev key для вашего домена здесь: stream.imageshack.us/api/

Скачать плагин: 2me.be/x/imageshack.rar
*зеркало тут

Unisender - бесплатные качественные рассылки на email для LS

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

При переносе данных можно выбрать поля, требуемые для переноса (например, перенести имена пользователей для персонализации рассылки)


Плагин использует переопределине экшена ActionRegistration. Это нужно для возможности использования хука при регистрации, или активации, так как по дефолту оный отсутствует.
Эти переопределение можно отключить предварительно внеся изменения в экшен \classes\actions\ActionRegistration.class.php
после строчки
$this->DropInviteRegister();

добавить
$this->Hook_Run('user_add_after', array('oUser' => $oUser));

и после строк
$this->DropInviteRegister();
            $this->Viewer_Assign('bRefreshToHome', true);
            $this->User_Authorization($oUser, false);

добавить
$this->Hook_Run('user_add_activation_after', array('oUser' => $oUser))


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

Так же, в режиме автоматического добавления пользователей в список рассылок при регистрации, в конфиге нужно указать ID списков рассылок (через запятую) в которые нужно добавить пользователя. Узнать Id можно перейдя на страницу рассылки и посмотрев в строке браузера.

Скачать плагин: 2me.be/x/unisender.zip

Установка reCAPTCHA на LiveStreet

LiveStreet


Итак, идем сюда и получаем ключи: Public Key и Private Key. Public будем вставлять в JavaScript и он может быть найден в исходном коде, Private нужно хранить в секрете и использовать только на стороне сервера.
Итак, приступаем к замене каптчи. Идем в /templates/skin/название-темы/actions/ActionRegistration и открываем файл index.tpl, в котором заменяем
<img src="{cfg name='path.root.engine_lib'}/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}" onclick="this.src='{cfg name='path.root.engine_lib'}/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}&n='+Math.random();" />
 
		<p><input type="text" name="captcha" value="" maxlength="3" class="input-100" /></p>

на
<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=ЗДЕСЬ_ВАШ_Public_Key">
</script><noscript>Включите JavaScript или обновите ваш браузер!</noscript>

Только не забудьте заменить ЗДЕСЬ_ВАШ_Public_Key на полученный ранее Public Key. Перед этим еще можно добавить
<script type="text/javascript">
        var RecaptchaOptions = {
                custom_translations : {
                        instructions_visual : "Введите два слова:",
                        instructions_audio : "Введите что вы слышите",
                        play_again : "Включить заново",
                        cant_hear_this : "Скачать в формате MP3",
                        visual_challenge : "Визуальный режим",
                        audio_challenge : "Режим аудио",
                        refresh_btn : "Обновить",
                        help_btn : "Помощь",
                        incorrect_try_again : "Неверно. Пожалуйста, попробуйте еще раз.",
                },
                lang : 'ru', // Unavailable while writing this code (just for audio challenge)
                theme : 'white' // Make sure there is no trailing ',' at the end of the RecaptchaOptions dictionary
        };
		</script>

для русификации. Подробнее о кастомизации каптчи смотрите здесь.

Далее качаем саму библиотеку каптчи отсюда, распаковываем и кладем её содержимое в /engine/lib/external/recaptcha. Далее идем в /classes/actions, открываем файл ActionRegistration.class.php. Добавляем в начало файла подключение библиотеки
require_once ($_SERVER['DOCUMENT_ROOT']."/engine/lib/external/recaptcha/recaptchalib.php");

Затем удаляем или комментируем
if (!isset($_SESSION['captcha_keystring']) or $_SESSION['captcha_keystring']!=strtolower(getRequest('captcha'))) {
				$this->Message_AddError($this->Lang_Get('registration_captcha_error'),$this->Lang_Get('error'));
				$bError=true;

и добавляем
$resp = null;
if (array_key_exists('recaptcha_response_field',$_POST)){
$resp = recaptcha_check_answer ('ЗДЕСЬ_ВАШ_Private_Key',$_SERVER["REMOTE_ADDR"],$_POST["recaptcha_challenge_field"],$_POST["recaptcha_response_field"]);}
if ($resp==null or !$resp->is_valid){
$this->Message_AddError($this->Lang_Get('registration_captcha_error'),$this->Lang_Get('error'));
$bError=true;
}

Делаю уже третий LS для прогеров каких-то

LiveStreet
Ну случайно, находится кто-то, кому нужен livestreet, или по акции анти-мудаки-сеошники или еще как-то.
Я конечно, не отказываю.

И вот, все люди — прогеры. Настоящие, не говно кодеры. РЕАЛЬНО. Еще не было случая чтобы у меня попросил LS, кто-ниб другой, токо прогеры.
Они мне что-то втирают и вообще странно разговаривают. Серваки у них обычно настроенны так, что для меня «пиздец все распидорасило». А почему? Потому что такие люди, любят сами все ДЕТАЛЬНО настраивать, и никогда не покупают у хостера «первоначальную настройку ПО» например, которую долатать под себя, это гораздо проще/удобнее/надежнее даже, чем полностью с нуля все настраивать.

И все думают, что я супер программист, раз за сутки делаю такой охуенный функционал, с внутренней платежной системой, и всякими openid(openid и высеры через rss в социальные сети, для программистов это вообще что-то божественное оказывается, и они не имеют регистраций в сетках вообще), модулями, подписками и прочей ересью.
А я же, просто редактирую скаченный шаблон который им понравился, напичкиваю LS пачкой плагинов, как платных, так и халявных, что у меня уже тут дофига накопилось. И я даже им это объясняю, но все равно, им просто лень разбираться в этом. НО НЕ ЛЕНЬ писать код с нуля.

такая хуйня. разные люди. разное мышление о вебе.