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

Андрей

Прикрепляем топик без плагина

В LS существует множество возможностей для реализации самого разного функционала как с использованием плагинов, так и без них.

Допустим мы хотим реализовать следующий функционал: на главной странице для гостей сверху всегда выводится определенный топик. Конечно мы можем написать под эту задачу несложный плагин, повесить его на хук в шаблоне и радоваться, но мы поступим проще (на все про все уйдет 4 строчки c учетом замечаний kpoxas три строчки). Сделаем все в шаблоне, написав при этом минимальное кол-во кода. Итак.

Нас интересует главная страница, а значит экшен Index, шаблон вывода которого находится в файле templates/skin/synio/actions/ActionIndex/index.tpl который и будем изменять.

Сразу приведу код
{if !LS::CurUsr() and !Router::GetActionEvent()}
	{include file='topic_topic.tpl' oTopic=$LS->Topic_GetTopicById(8)}
{/if}
Да-да, больше ничего не нужно, результат достигнут ;)


А теперь подробности того как это все работает

Запрет на постинг в персональных блогах (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>

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

Проблема с флагами

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

Пытаюсь прикрутить вывод флагов. Спрайт и css к нему я взял отсюда: flag-sprites.com.
Css файл и сам спрайт закинул в папку шаблон/css, в config.php подключил flags.css:

$config['head']['default']['css'] = array( 
	          ........
	"___path.static.skin___/css/flags.css",
	
);


В окне создания поста пишу:

<img src="blank.gif" class="flag flag-cz" alt="Czech Republic" />


Но флаг, как вы догадались, не выводится.

Код картинки(в просмотре кода страницы) при этом выглядит вот так:

<img src="http://blank.gif" alt="Czech Republic">


Атрибут «class», как я понимаю, не передается вообще. Прошу помощи.

И ещё вопрос вдогонку: как лучше реализовать что то вроде bb кодов для флагов, что бы юзер писал :ru: или [ru] и выводился соответствующий флаг?

Закрытие security бага в LS

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

Уведомляем вас о закрытии в LiveStreet 0.4.2 уязвимости XSS.
Уязвимость была обнаружена в сторонней библиотеке CSSTidy, используемой в LS.
Для исправления этой уязвимости вы можете скачать обновленный архив LiveStreet 0.4.2 — http://livestreetcms.com/download/
Либо просто вручную удалите у себя файл /engine/lib/external/CSSTidy-1.3/css_optimiser.php.

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

UPDATE
Это приложение к первому письму, в котором мы, к сожалению, упустили еще один важный баг безопасности.
Для исправления этой уязвимости вы можете скачать обновленный архив LiveStreet 0.4.2 — http://livestreetcms.com/download/
Либо внесите изменения вручную:
1. Найдите в файле /engine/modules/text/Text.class.php 213 строчку: return array($sTextShort,$sTextNew,$sTextCut);
2. Замените её на строчку: return array($sTextShort,$sTextNew,$sTextCut? htmlspecialchars($sTextCut): null);
Изменения можно посмотреть в SVN.

Использование LiveStreet как фреймворка

LiveStreet — это не просто хабра-подобный движок. И даже не столько движок для
создания сообществ, сколько замечательный фреймворк, который подходит для создания самых разнообразных сайтов.
Получается, что от хостинга требуется только php, т.к. для простого сайта-визитки работать с БД совсем необязательно!
Разумеется сайт из пары страниц можно оставить на простом html, но этим постом я хочу показать, что LS можно использовать для создания сайтов абсолютно любого типа.
В общем, кому стало интересно — прошу под кат.
Читать дальше →

Список файлов шаблона

/blog/add — страница создания/редактирования блога
/blog/admin — страница управления блогом
/blog/blog — страница профиля блога
/blog/comment — комментарии
/blog/index — главная страница блогов
/blog/topic — страница топика

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

myFiles 0.2

Небольшой апдейт модуля загрузки файлов.

Изменения:
Исправлен баг с «пустой» заливкой и невозможностью удалить файл из списка загруженных.
Исправлен баг с незакрывающимся окном после заливки файла.
Добавлены картинки типов файлов в менеджере файлов.
Часть скриптов и конфига вынесена в отдельные файлы для удобства.
Добавлена возможность обработки тегами на основании типа закачки (экспериментально).
Используются иконки из комплекта Fugue icons, авторства Yusuke Kamiyamane.


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

Кое-какие записи по поводу шаблонов

Решила переделать сама шаблон.
Изучаю. Решила параллельно писать заметки.
Постоянно обновляется запись.
Изменить логотип
файл header.light.tpl в строчке
<h1 class="lite-header"><a href="{$DIR_WEB_ROOT}">Live<span>Street</span></a></h1>

файл header_top.tpl в строчке
<h1><a href="{$DIR_WEB_ROOT}"><strong>Live</strong>Street</a></h1>

Как вставить логотип-картинку
правильно указывать путь к логотипу — например вместо
<h1><a href="{$DIR_WEB_ROOT}"><strong>Live</strong>Street</a></h1>
вставить логотип-картинку, которая находится в папке images текущего шаблона, помнить что это картинка, поэтому для тех пользователей кто отключает картинки, а также для поисковиков, нужно добавить атрибут alt к тегу img:
<a href="{$DIR_WEB_ROOT}"><img src="{$DIR_STATIC_SKIN}/images/logo.gif" alt="название сайта" border=0/></a>

при изменении стандартного шаблона new не удалять
<h1 class="lite-header"> 
иначе логотип уплывет
Читать дальше →