+2.56
Рейтинг
7.42
Сила

Роман

Выводим в Top блогов количество постов вместо рейтинга.

Возникла задача выводить в блоке Tоп блогов вместо абстрактного рейтинга количество постов. Актуально для новых сайтов или неактивных комьюнити.



Для начала находим Экшен блока. Структура LS подробно описана, поэтому легко находим нужный блок: /classes/blocks/BlockBlogs.class.php В блоке вызывается единственная функция: Blog_GetBlogsRating, с ней и будем работать.

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

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

Не всегда удаляются файлы аватаров

Писал функцию работы с аватарами для своего модуля. В качестве основы использовал работу с аватарами из класса Blog. Долго не мог понять почему не работает и нашел ошибку в функции.

Файл classes/modules/blog/entity/Blog.entity.class.php

public function getAvatarPath($iSize=48) {
        if ($sPath=$this->getAvatar()) {
                return preg_replace("#_\d{1,3}x\d{1,3}(\.\w{3,4})$#",(($iSize==0)?"":"_{$iSize}x{$iSize}\\1"),$sPath);
        } else {
                return Config::Get('path.static.skin').'/images/avatar_blog_'.$iSize.'x'.$iSize.'.gif';


Вместо кода (($iSize==0)?"":"_{$iSize}x{$iSize}\\1",
должно быть (($iSize==0)?"\\1":"_{$iSize}x{$iSize}\\1"

В результате ошибки при размере аватара 0, отрезается расширение файла, и функция удаления получает неправильное имя из-за чего файл не удаляется. Потом приходится запускать всякие пылесосы и т.д.

Аналогичный код нашел в функции getProfileAvatarPath класса User.entity.class.php

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

Правила Livestreet.ru

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

Мы делаем проект на LS, за время работы накопилось много наработок, которыми хотелось бы поделится с сообществом, поэтому я зарегистрировался на livestreet.ru

И сразу замечание. Нигде нет ссылки на правила сообщества. Я вступил в несколько блогов, но написать могу лишь в некоторые из них. Я понимаю что так сделаны настройки, но пояснение для newcomers в отдельной ссылочке не помешали бы.

Как опубликовать пост в конкретные блоги? Какой должен быть рейтинг? За что дают, а за что снимают?

Чем лучше обозначена политика ресурса, тем меньше подобных вопросов и легче сделать первый шаг.

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