0.00
Рейтинг
0.25
Сила

Provolod

Кастомайзим интерфейс: лоудер

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



Это и многое другое качаем: www.preloaders.net/ www.ajaxload.info/ www.loadinfo.net/

Мелочь, а приятно.

UPD: понравившийся анигиф кладём вместо http://yoursite.ru/templates/skin/templatename/images/loader.gif

Плагин "Nice URL"

Плагин «Nice URL» приводит URL топиков к ЧПУ. Например, /blog/bugreport/123.html преобразует в /problema-pri-ustanovke.html. Это будет полезно тем, кто верит, что такие урлы способствуют продвижению сайта в поисковых системах.

Плагин доступен для скачивания в нашем каталоге — livestreetcms.com/addons/view/46/

UPDATE 1: Плагин обновился до версии 2.0
Изменения:
1. При активации пересохраняет все топики для перевода названия в транслит
2. Исправлен баг с переопределением экшена blog через $config['router']['rewrite']
3. И главное — произвольная настройка шаблона для URL, используя переменные: %year%, %month%, %day%, %hour%, %minute%, %second%, %login%, %blog%, %id%, %title%. Настройки находятся в в конфиге плагина.

Тестируем и отлавливаем баги.

UPDATE 2: Плагин обновился до версии 2.1
Изменения:
1. Для персонального блога можно указать логин автора
$config['url_personal_blog'] = '%login%';
2. Фикс проблемы с блоками на странице топика — необходимые блоки нужно указать в конфиге плагина

PS: если LS установлен в подкаталог и при переходе на топики возникает 404 ошибка, то необходимо применить этот фикс движка — trac.lsdev.ru/livestreet/changeset/1033

Добавляем возможность гостевого комментирования топиков

Тестировалось на LS 0.4, но, думаю, пойдет и на более старших версиях.

У вас должен быть в базе пользователь с ником Guest!

Открываем файл /classes/actions/ActionBlog.class.php
Находим функцию SubmitComment()
заменяем в ней:
if (!$this->User_IsAuthorization()) {
	$this->Message_AddErrorSingle($this->Lang_Get('need_authorization'),$this->Lang_Get('error'));
	return;
}

на:
if (!$this->User_IsAuthorization() and (getRequest('is_guest') != '1')) {
	$this->Message_AddErrorSingle($this->Lang_Get('need_authorization'),$this->Lang_Get('error'));
	return;
}

$guest = false;
if (getRequest('is_guest') == '1') {
	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;
		return false;
	}
	unset($_SESSION['captcha_keystring']);
	$this->oUserCurrent = $this->User_GetUserByLogin('Guest');
	$guest = true;
}


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

Подписка на блоги - иконки с подписью

Мне одному кажется, что на странице блога иконки RSS и подписки на блог еле заметны? Незнающий человек даже не обратит внимание, и не поймет, что на блог вообще можно подписаться. Как ни странно, но «Редактировать» и «Удалить» написано текстом…
Я думаю добавить к этим иконкам текстовую подпись. Но т.к. в программировании не силен, прошу помощи…

Исходный код:
<li class="rss">
 <a href="{router page='rss'}blog/{$oBlog->getUrl()}/"></a>
</li>					
{if $oUserCurrent and $oUserCurrent->getId()!=$oBlog->getOwnerId()}
<li class="join {if $oBlog->getUserIsJoin()}active{/if}">
 <a href="#" onclick="ajaxJoinLeaveBlog(this,{$oBlog->getId()}); return false;"></a>
</li>
{/if}

Для RSS я просто добавляю текстом RSS, это понятно. А как быть с подпиской в читатели? Хочется, чтобы менялся текст «Подписаться» <-> «Отписаться» в зависимости от того, подписан ли юзер на этот блог. Тогда что у нас получается?

Недоделанный код:
<li class="rss">
 <a href="{router page='rss'}blog/{$oBlog->getUrl()}/"><i>RSS</i></a>
</li>					
{if $oUserCurrent and $oUserCurrent->getId()!=$oBlog->getOwnerId()}
<li class="join {if $oBlog->getUserIsJoin()}active{/if}">
 <a href="#" onclick="ajaxJoinLeaveBlog(this,{$oBlog->getId()}); return false;">{if $oBlog->getUserIsJoin()}Отписаться{/if}</a>
</li>
{/if}

Помогите, плз, люди добрые… 0:)

Вид топика с музыкой/подкастинг Часть 2

Всем привет!
По следам топиков livestreet.ru/blog/2903.html и livestreet.ru/blog/paidorders/1577.html хотелось бы узнать, может кто-то уже реализовал данный функционал на 4.0.2 или планирует реализовывать?
Готов подписаться на коллективный заказ.
Спасибо.

Модель ORM

Важно: это лишь предлагаемая мною примерная альфа-версия модели, для ознакомления с идеями, скорее всего она будет отличаться от реальной модели, котораябудет введена в LS.

Синтаксис отношений $aRelations.


Существует 4 типа отношений:

belongs_to — связь 1 к 1, или многие к 1. в таблице обязательно наличие foreign key вида relationalias_id. Примеры:
$aRelations = array('belongs_to' =>
  array(
    'User' => 'autor',
    'Blog',
    'PluginBill_ModuleEvent' => 'event'
  )
);
// поля таблицы prefix_topic
topic_id | topic_title | ... | autor_id | blog_id | event_id
// доступные функции:
$oTopic()->getAutor(); $oTopic()->setAutor();
$oTopic()->getBlog(); $oTopic()->setBlog();
$oTopic->Save();

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

Livestreet: дао разработчика - 2

Первая часть цикла

Дао — это действие, процесс, поток. Чем чаще вы смотрите на код других плагинов, тем больше вы понимаете, как делать свой.
Накачайте плагинов под 0.4.2 и расматривайте, что у них внутри. Без этого вы не сможете начать писать свои плагины.

Я сделал типовой шаблон, из которого удобно делать свои собственные плагины. Располагается он тут:
http://github.com/medar/livestreetplugin
Чтобы скачать его, надо нажать в правом верхнем углу кнопку «Download Source». Желающие могут форкать и вносить изменения.

В файле находится «рыба» плагина с названием abcplugin.
Читать дальше →