Попробую ниже детально описать, как сделать возможность при создании топика ограничивать некоторую информацию по уровню рейтинга пользователя. Для этого, надо будет при добавлении топика разрешить новый тег и добавить кнопку в панельку для него (чуть позже). На втором этапе, надо будет перед отдачей топика в шаблонизатор проверять текст на наличие этого тега и делать соответствующие правки. Для этого будет использоваться следующий следующий синтаксис при создании топика:
<rating min="2">Виден пользователям с рейтингом большим или равным 2.</rating>
Добрый день!
Случилось следующее: изображения в топик были вставлены не через форму загрузки, а просто (насколько я понял) был скопирован html-код этих фотографий с сайта ljplus.ru. Там для изображений прописаны параметры 'width' и 'height'. В конфиге стоит сжатие изображений до 500px по ширине. Но в загруженных изображениях размеры указаны как 800x600 или 640x480 и т.п. В результате они не ужались до нужных 500px и выходят за размеры топика. Как я понимаю, эти параметры перебивают настройки конфига? Можно ли сделать обратное? Посмотреть можно здесь: http://versta.train-team.org/blog/photo/106.html
Переписал код ajax-запросов. Теперь нет ajax-ошибки. И есть кеш запросов. Работать стало немного быстрее вроде как… Но я сравнивал тока по ощущениям, а они могут быть обманчивы.
Сделано 2 варианта. Для 0.3.1 и для последней SVN. Смотрим, устанавливаем, проверяем, комментим.
Читать дальше →
Начиная с 617 ревизии SVN стандартный редактор текста Livestreet обзавелся новыми функциями. Теперь есть возможность превратить выделенный текст в заголовок h4, h5 или h6, а также в один клик оформить нумерованный или маркированный список.
Для полноценного использования этого функционала были исправлены старые баги парсера — добавление лишних отступов строк между пунктами списка и после заголовков (сделанные фиксы касаются external-библиотеки Jevix, а не только ядра).
Ввиду большого числа писем о некорректной работе этого редактора в версии 0.3.1 — под катом правила по корректному переносу.
Хочу чтобы картинки в LS вставлялись более удобно и была возможность их просматривать как галерею. Это просто необходимо для создания постов с галереями. В поисках решения для галереи наткнулся на проект JonDesign's SmoothGallery
Это галерея на MooTools, которой всего то и нужно добавить скрипт в шапку, да сформировать html код вроде
Ребят, разработчики, кто может интегрировать ее для вставки в посты? Нужно просто добавить новую кнопку для добавления галереи и чтобы она закачивала картинки, использовала встроенный в этот скрипт генератор тумбов для миниатюр и выдавала данный html.
Как вариант — slimbox. Там через LS надо будет делать миниатюрки.
5 часов ждать не хочу, так что публикую тут одну доработку.
Выравнивание по-центру несправедливо не было добавлено. Исправляем.
1 Открываем в шаблоне window_load_img.tpl
Добавляем после
if (isset($aParams['align']) and in_array($aParams['align'],array('left','right'))) {
$sText.=' align="'.htmlspecialchars($aParams['align']).'" ';
На
if (isset($aParams['align']) and in_array($aParams['align'],array('left','right','center'))) {
$sText.=' class="'.htmlspecialchars($aParams['align']).'" ';
3 В файле
После
'uploadimg_align_right' => 'справа',
Побавить
'uploadimg_align_center' => 'по центру',
4 В css шаблона добавляем классы
.center {margin:0 auto !important;display:block;}
.left {float:left;}
.right {float:right;}
5 А теперь небольшое вмешательство в движок. Нужно настроить парсинг текста, так как стандартно тег class запрещен, но мы сделаем возможность использования его вместо align
Откроем
Возможность редактирования комментариев пользователей(для админов) + возможность редактирования комментариев пользователем в течении определенного времени, а то сильно раздражает когда ошибку допустил или что-то глуппое ляпнул — а изменить уже никак :(
В общем пользуемся на здоровье :)
Как обычно пример можете посмотреть на: ecovoice.ru (просьба не флудить и писать осмысленно)
Линк на модуль: livestreet.ru/addons/105/ (пока на модерации)
Дело, было как обычно вечером :) И лежало на мне уже давно задание — добавить «похожие темы» к проекту, но ввиду приоритетов откладывалось оно на потом постоянно. Полазил по LS, нашел уже готовый бесплатный модуль: livestreet.ru/blog/2053.html
Но незадача :( нужен fulltext для InnoDB… уже хотел похерить задание и отложить опять до лучших времен, но что-то дернуло меня все-таки покопаться чуток. А именно, вспомнил я про уже готовый fulltext поиск реализованный на sphinx'e в дефолтной сборке LS. Там как раз есть тайтл + текст, так что впринципе больше и не надо :)
В общем, пришлось чуток модифицировать имеющийся модуль + добавить ф-цию в Sphinx.class.php
К действиям:
1) берем имеющийся модуль
2) удаляем папку и ее содержимое /classes/modules/similartopics/mapper
3) заменяем полностью содержимое файла(/classes/modules/similartopics/SimilarTopics.class.php) на:
<?php
##### [hack] similar_topics_sphinx #####
class LsSimilarTopics extends Module {
public function Init() {
}
public function GetSimilarTopics($oTopic){
$sTitleTags=$oTopic->getTags();
$aTopics=array();
$data=$this->Sphinx_FindSimilarTopics($sTitleTags,SIMILARTOPICS_COUNT+1);
if(is_array($data['matches']) && sizeof($data['matches'])>0){
foreach($data['matches'] as $k=>$v) if($k!=$oTopic->getId()) $aTopics[]=$this->Topic_GetTopicById($k);
return $aTopics;
}else return false;
}
}
##### [hack] similar_topics_sphinx #####
?>
4) добавляем в класс(classes/modules/sphinx/Sphinx.class.php):
##### [hack] SimilarTopics #####
public function FindSimilarTopics($sTerms,$iLimit){
$cacheKey=SEARCH_ENTITY_PREFIX."similartopics_{$sTerms}_{$iLimit}";
if(false===($data=$this->Cache_Get($cacheKey))){
$this->oSphinx->SetMatchMode(SPH_MATCH_ANY);
$this->oSphinx->SetLimits(0,$iLimit);
if(!is_array($data=$this->oSphinx->Query($sTerms,SEARCH_ENTITY_PREFIX.'topicsIndex'))) return FALSE;
# no results = no cache
if($data['total']>0) $this->Cache_Set($data,$cacheKey,array(),60*15);
}
return $data;
}
##### [hack] SimilarTopics #####
лично я оставил поиск по тэгам, хотя — можете добавить и по тайтлу, как было первоначально в плагине
5) все, радуемся жизни :)
п.с. должен быть настроен уже sphinx и работать поиск через sphinx
п.п.с. делаем на свой страх и риск, так что не забываем о том что надо бэкапить файлы ;)
Думаю из названия топика и блога всё понятно.
Ищется разработчик, который уже имел sphinx опыт разработки со sphinx.
И ищутся люди, которые хотели бы скинутся на данный модуль.
1 вопрос: Если найдётся человек который захочет взяться за разработку, пусть оговорит цену ниже.
1 момент: С деньгами напряжно, поэтому если цена будет большой, а желающих скинуться на разработку не будет, то заказ отменяется и буду разбираться сам.
Пару моментов и особенностей:
а) для движка 0.4;
б) список похожих постов не храниться в базе, а запрашивается на лету (чтобы учитывались новые записи);
в) блок формируется под статьей в ответ на ajax-запрос, будет удобнее для пользователя, но для целей СЕО не подходит.
г) «срочной» реализации не будет. Т.е. будем постепенно «разгонять» систему, подбирая варианты. Может 2-3 недели уйдет на эксперименты.
Оплата: Полностью модуль будет стоить 125$. Таким образом, чем больше людей наберём — тем меньше с каждого индивидуума возьмём. Хотя, я считаю, цена и так очень и очень небольшая…
P.S. Ещё раз отпишите, кто согласен со всеми условиями и точно будет «скидываться» на модуль. Я буду постепенно вносить вас в список:
1) Собственно я.
2) aisico
3) Mmka
4) Анонимный участник №1
5) diGreez
6) Fanta
7) potboiler
8) _et
9) Daaa
10) g3n0m
Делать было нечего, дело было ночью…
Вот сделал вот такой модуль-блок…
Блок выводиться там где и все блоки (его необходимо подклчить или менеджером блоков или руками )
руками делаем так:
идем в classes/actions и поочереди открываем экшены в которых мы хотим видеть нах блок.
для главной например делаем так:
открываем classes/actions/ActionIndex.class.php
ищем
public function Init() {
$this->Viewer_AddBlocks('right',array('baner','stream','tags','blogs'));
и добавляем в нужное место наш блок:
public function Init() {
$this->Viewer_AddBlocks('right',array('baner','stream','tags','blogs','lsads'));
В блок выводяться последние три записи. настройки пока не выносил. И вобще ещё незнаю во что буду растить этот модуль… думаю вы насоветуете? =)
PS можно использовать как блок новостей если прикрутить дату. можно давайть юзеру напоминание-обьявление (выводить не в блок в наподобии формы логина) юзер закрыл, сохранили в куках. ну вобщем много чего придумать можно.
UPD in 1.1:
1. Записи добавляются и выводятся с датой.
2. Добавлено поле под ссылку на полную новость (выводиться если заполнено поле ссылка)
3. Заголовок блока выводиться если определён в ленг файле (если заголовок ненужен просто удалить его в ленг файле)
Благодарности и стимуляторы принимаются на WebMoney — R281184606654 и Z936826414488
P.S.
Также готов рассматривать личные доделки модуля для желающих за вознаграждение.
Также проведу работы по установке, настройке и тд (всё для ЛС) за вознаграждение.
Настрою vds\vps (Ubuntu Server only) и тд.
Также не забываем про модуль ИмпортРСС