+20.99
333 читателя, 272 топика

Неправильная замена &

При вставке символа
&
он заменяется на такую штуку
&

Конкретно это происходит при вставке flash слайд-шоу с яндекс.фоток когда я беру от туда код плеера и засовываю его в редактор.

FlashParamParser не работает

Код плеэра
<object type='application/x-shockwave-flash' data='http://www.jampo.com.ua/plugins/bitgravity_player_v6_0_25.swf' width='640' height='370'><param name="wmode" value="opaque"></param><param name="wmode" value="opaque"></param><param name='bgcolor' value='#000000'></param><param name='allowfullscreen' value='true'></param><param name='allowscriptacces' value='always'></param><param name='flashvars' value='LogoImage=http://www.jampo.com.ua/img/common/jampo_video.png&LogoPosition=bottomright&LogoLink=http://video.jampo.com.ua/&Thumbnail=http://gt2.video.jampo.com.ua/a7f151391bbd9112d710496b6418a1a5.flv_preview.png&File=http://gt2.video.jampo.com.ua/a7f151391bbd9112d710496b6418a1a5.flv_hi.flv&FileQuality2=http://gt2.video.jampo.com.ua/a7f151391bbd9112d710496b6418a1a5.flv&FileLabel=Normal&FileQuality2Label=Low&FileBitrate=1117&FileQuality2Bitrate=128&DefaultLevel=1&Mode=ondemand&ScrubMode=advanced&AutoPlay=false&VideoFit=automatic&BufferTime=1.5&DefaultRatio=1.777778&ColorBase=#FFFFFF&ColorControl=#666666&ColorHighlight=#7FBF3C&ColorFeature=#7FBF3C'></param></object>


обрезает все короткие param вместо того чтоб зделать их полными Версия ЛС 0.3.1 и 0.4.1 (без разницы)

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

Столкнулся с интересным багом LS 0.4

На сайте sitomania.ru если в блоге перейти на любую страницу кроме главной то пропадают все блоки.

Пример:


UPD: Решение найдено! Подсказал Banditt0.

Фикс:

Необходимо внести следующие изменения в config/config.php:
/**
* Настройки вывода блоков
*/
$config['block']['rule_index_blog'] = array(
'path' => array(
'___path.root.web___/blog$',
'___path.root.web___/blog/*$',
'___path.root.web___/blog/*/*$',
'___path.root.web___/index/*$',
'___path.root.web___/blog/*/*\.html$',
'___path.root.web___/blog/*\.html$',
'___path.root.web___/top$',
'___path.root.web___/top/*$',
'___path.root.web___/top/*/*$',
'___path.root.web___/my/*$',
'___path.root.web___/my/*/*$',
),

Цикличность установки (Шаг 2)

При попытке установить LiveStreet на домашний сервер, столкнулся с проблемой — установка зацикливалась на «Шаге 2». Нажимаешь «далее» и ничего. Та же страничка.

Расследование выяснило, что в файле install/index.php функция ValidateDBConnection() возвращала «false» и никакая ошибка не выводилась.

Фикс

Строка 1060:
if(!version_compare(mysql_get_server_info(), '5.0.0', '>')) {
	$this->aMessages[] = array('type'=>'error', $this->Lang('valid_mysql_server'));
	return false;
}

Допущена ошибка, пропущено "'text'=>".

Необходимо: array('type'=>'error', 'text'=>$this->Lang('valid_mysql_server'));

Статистика пользователей

В связи с тестированием сервиса ВКонтакте в базе появляются лищние пользователи…
Захожу в базу данных, убиваю соответствующие записи руками… Все отлично…
А теперь смотрю статистику пользователей… весело смотрится количество заблудившихся -3 человека…
Уважаемые учатники, подскажите, как с этим бороться?..

Бага или фича с аватарами?

Заметил, что в базу сохраняется адрес аватара полный, то есть с названием сайта. На девелоперской машине использую одно название, в инет другой домен, при переносе, аватары теряются. Так и должно быть?

Делегирование в плагинах

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

Итак, по порядку, что уже было:
1) (fixed) ошибка с определением названия экшена при делегировании: создал тикет
2) предложение об автоподстановке префиксов делегатов ( livestreet.ru/blog/dev_documentation/3710.html#comment59803, пункт 2 )
3) (fixed) отсутствие поддержки делегирования на основе данных из xml-файла (по-видимому, функция просто ещё в разработке)

И теперь ещё кое-какие мысли (пока все в файле /engine/classes/ActionPlugin.class.php).

— Сейчас, при делегировании экшена (например {plugin_dir}/classes/actions/ActionSettings.class.php) происходит автоматическое делегирование соответствующей директории темплейтов, что не очень хорошо, т.к. это совершенно необязательно по логике и придется тупо копировать всю папку actions/ActionSettings в плагин.
Сейчас там проверяется только наличие в плагине папки с соответствующим шаблоном:
$sTemplateName=in_array(Config::Get('view.skin'),array_map('basename',glob(Config::Get('path.root.server').'/plugins/'.$aMatches[1].'/templates/skin/*',GLOB_ONLYDIR)))
				? Config::Get('view.skin')
				: 'default';

хорошо бы проверять наличие папки с соответствующим экшеном:
$fGetTpl = create_function('$sPath','preg_match("/skin\/([\w]+)\/actions/i",$sPath,$aMatches); return $aMatches[1];');
$sTemplateName=in_array(Config::Get('view.skin'),array_map($fGetTpl,glob(Config::Get('path.root.server').'/plugins/'.$aMatches[1].'/templates/skin/*/actions/Action'.ucfirst($aMatches[2]),GLOB_ONLYDIR)))
				? Config::Get('view.skin')
				: 'default';


— В методе SetTemplateAction() код
$this->getTemplatePathPlugin().'/actions/Action'.ucfirst($aMatches[2]).'/'.$sTemplate.'.tpl'
в случае без делегирования вернет /actions/ActionSettings/profile.tpl, а надо actions/ActionSettings/profile.tpl, поэтому первый слэш переносим отсюда в getTemplatePathPlugin():
$sDir=Config::Get('path.root.server')."/plugins/{$aMatches[1]}/templates/skin/{$sTemplateName}/";


— Дублирование кода в GetTemplate() лучше заменить на
if (is_null($this->sActionTemplate)) {
    $this->SetTemplateAction($this->sCurrentEvent);
}


— В дополнение к первому:
Чаще всего нужно изменить не все шаблоны экшена, а только некоторые, зачем же копировать не измененные? Сделаем проверку, есть ли они в делегирующей папке, и, если нет, вернем стандартные:
protected function SetTemplateAction($sTemplate) {
if($sActionTemplate=preg_match('/^Plugin([\w]+)_Action([\w]+)$/i',$this->GetActionClass(),$aMatches)) {
      $sTplFile = 'actions/Action'.ucfirst($aMatches[2]).'/'.$sTemplate.'.tpl';
      $sActionTemplate = is_file($this->getTemplatePathPlugin().$sTplFile)
        ? $this->getTemplatePathPlugin().$sTplFile
        : $sTplFile;
    }
    $this->sActionTemplate = $sActionTemplate;
	}


Вот такие вот мысли.
Что скажете?

PS — также с нетерпением ждем описания функционала кастомных модулей.

Друзья

История такая. Я отправляю предложение «дружить» Юзеру. Юзер заявку отклоняет. Затем, осознав, что нажал не на ту кнопку, заходит в мой профиль и нажимает «Добавить в друзья». Пок всё в порядке.

Теперь я прочитав, что заявка отклонена, захожу в профиль юзера, удаляю его из друзей — все получается. Потом снова в профиле юзера нажимаю «добавить в друзья». Читаю зеленое окошко, но друг при этом не появляется ни у меня ни у юзера…

То же самое наблюдается у юзера. Он в моем профиле нажимает «Добавить в друзья» читает зеленое сообщенияе, но я в друзьях не появляюсь…

Ситуация реальная, то есть я не делал никаких действий ради эксперемента. Тем ни менее зашел в тупик.

Блок облака тегов городов юзеров

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

Предположительно, блок облака тегов городов не обновляется со старых релизов…
Пример: Магадан есть в блоке, а Маркса нет, хотя и там и там один юзер. Но первый зарегился в 2008 году, а второй 6 декабря 2009…