+60.64
450 читателей, 105 топиков

Доработка хака «Выпадающее меню стран и городов»

Переписал код ajax-запросов. Теперь нет ajax-ошибки. И есть кеш запросов. Работать стало немного быстрее вроде как… Но я сравнивал тока по ощущениям, а они могут быть обманчивы.
Сделано 2 варианта. Для 0.3.1 и для последней SVN. Смотрим, устанавливаем, проверяем, комментим.
Читать дальше →

ajax-обновление кол-ва новых сообщений LS 0.3

Описание: У пользователя открыта любая страничка livestreet, на которой отображается сколько непрочитанных сообщений находится в почтовом ящике. Данный tip автомтически обновляет этот блок каждые 5 секунд. После 60 запросов, если страница не была обновлена скрипт останавливается (после 5 минут). Это сделано для того чтобы если пользователь забыл закрыть браузер на ночь, неделю, не было лишних запросов. После загрузки страницы скрипт опять запускается.
Читать дальше →

Использование Gravatar

Использовать у себя Gravatar.com очень просто. Аватарка выдаётся по url-у с md5-хешем e-mail-а пользователя.
Итого:
в classes\modules\user\entity\User.entity.class.php
находим функцию
public function getProfileAvatarPath($iSize=100) {   
    	if ($this->getProfileAvatar()) { 	
        	return DIR_WEB_ROOT.DIR_UPLOADS_IMAGES.'/'.$this->getId().'/avatar_'.$iSize.'x'.$iSize.'.'.$this->getProfileAvatarType();
    	} else {
    		return DIR_STATIC_SKIN.'/images/avatar_'.$iSize.'x'.$iSize.'.jpg';
    	}
    }

и изменяем всего одну строчку:
public function getProfileAvatarPath($iSize=100) {   
    	if ($this->getProfileAvatar()) { 	
        	return DIR_WEB_ROOT.DIR_UPLOADS_IMAGES.'/'.$this->getId().'/avatar_'.$iSize.'x'.$iSize.'.'.$this->getProfileAvatarType();
    	} else {
		return "http://www.gravatar.com/avatar.php? gravatar_id=".md5( strtolower($this->getMail()) )."&size=".$iSize;
    	}
    }


К сожалению, в комментариях так просто получить аватарку не получится — так как там используется своя функция
getUserProfileAvatarPath($iSize=100)
из TopicComment.entity.class.php

Меняем компрессор js

Нет, нет — это инструкция не для владельцев Мерседеса.
Речь идет о библиотеке JSMin для сжатия js-файлов.
Я заглянул на репозитарий либы на github, где черным по-белому по-русски написано что мол проект больше не поддерживается, и что не стоить использовать, ведь есть более достойные инструменты, среди которых есть JShrink.

Итак:
Читать дальше →

Запрет на постинг в персональных блогах (ls 1.0.3)

Моё решение:

В classes\actions\ActionTopic.class.php
Ищем 
$oBlog=$this->Blog_GetPersonalBlogByUserId($oTopic->getUserId()); 
и меняем на
//$oBlog=$this->Blog_GetPersonalBlogByUserId($oTopic->getUserId()); 
$oBlog=null;

Далее ищем 
$oBlog=$this->Blog_GetPersonalBlogByUserId($this->oUserCurrent->getId());
и также меняем на 
//$oBlog=$this->Blog_GetPersonalBlogByUserId($this->oUserCurrent->getId());
$oBlog=null;

В шаблонах actions\ActionTopic\add.tpl
Ищем 
<option value="0">{$aLang.topic_create_blog_personal}</option>
и меняем на 
<option>Выбор блога</option>

И вуаля — топики нельзя создать в личном блоге.