Очень понравилась оптимизация движка.
Вчера без особых натяжек выдержал 4300 уникальных посетитель (8500 просмотров), все эти пользователи пришли начиная с 15 часов дня. Хостнг шаринг, тип кеширования — мемори.
В принципе эта задача одним запросом решается, если вам это разово сделать нужно, то вот запросы переноса из vBulletin в LS 0.3.1 (под php-nuke переделать, думаю, не сложно будет):
1. Перенос пользователей (ls — база с LS (предполагается свежеустановленный LS без пользователей), vb — база с vBulletin):
INSERT INTO ls.prefix_user (user_login, user_password, user_mail, user_date_register, user_ip_register, user_profile_icq) SELECT username, password, email, passworddate, ipaddress, icq FROM vb.user;
2. Создание персональных блогов новых пользователей:
INSERT INTO ls.prefix_blog (user_owner_id, blog_title, blog_description) SELECT user_id, CONCAT('Блог им. ', user_login), '' FROM ls.prefix_user
Суть такова — делаем insert, указываем нужные поля для переноса, и в качестве данных для insert подставляем результат select запроса из переносимой базы, соответственно поля выборки должны совпадать со вставляемыми в LS.
Возникает проблема с паролями — если принцип хранения разный (например, в исходном движке используется соль, а в LS — нет), то придется пользователей известить о смене пароля. Тут ситуации бывают разные.
Кстати, прямо сейчас, раз все равно шаблоны для миграции на 0.4 надо слегка модифицировать, можно пойти очень простым путем, чтобы включать свое меню в плагинах. Берем кусок
Всё предельно просто
ищем файл "\templates\skin\new\actions\ActionBlog\comment.tpl"
в нём находим textarea, у которой id=«form_comment_text»
в этот тег и надо вставить параметр:
onkeypress=«if(event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) lsCmtTree.addComment('form_comment',{$oTopic->getId()});»
про который писалось где-то выше… у меня работает!
Да про мапперы я что-то поторопился… Но я лишь для наглядности взял такой простой пример. Чаще всего пересечения идут между абсолютно разной функциональностью. Допустим возьмем шаблон topic_list. Он у нас описывает вид разных типов топиков. Совершенно логично, что топик-музыка и внутренний голос — это будут именно разные авторы и плагины. А пользователь захочет просто закачать два плагина и включив их увидеть у себя и то и другое. А третий плагин возможно будет добавлять количество просмотров топика.
Еще хороший пример — добавление в профиль пользователя микроблога и галереи одновременно.
В нашем случае придется либо отказаться от какого-то плагина, либо сделать новый, который будет совмещать необходимые конкретному проекту возможности. :-)
Честно говоря, я пока и сам не вижу решения, но проблема типичная для хаков.
Нашел еще одно решение для галереи — gallery2 и плагин для tiny mce, котый позволяет вставлять сразу сколько угодно изображений и в любом виде из standalone галереи. Это отличное решение, я считаю! Плагин позволяет только вставлять картинки, но заливать нужно в галерею каким-то другим методом. Давайте вместе помозгуем. Неужто только мне нужно вставлять по несколько картинок в пост?
проблема в том что автосохранение не знает что этот топик уже сохранен, сохраняет его снова и только тогда записывает в <input type=«hidden» name=«draft_id» value=«0» id=«draft_id»/> что топик сохранен под таким-то номером.
решается это так: <input type=«hidden» name=«draft_id» value="{$_aRequest.topic_id}" id=«draft_id»/>
предложения — я около 2 месяцев имел дело с сайтом, сделанном на этом движке. Чего очевидно не хватало — внизу каждого топика на главной странице рядом с ником есть число комментариев и число новых комментариев, а в `прямом эфире` только общее число комментов, без новых. Когда заходишь на сайт, первым делом смотришь, где в `прямом эфире` появились новые комменты и сколько, а их нет.
мне не хватало в опросах возможности при голосовании выбирать несколько вариантов ответа, т.е. кроме чтобы была возможность сделать не только опрос с radio button, но и опрос с несколькими checkboxами,
еще — делать в одном топике несколько опросов.
еще — возможность при входе на сайт выбирать цвет ника в сответствии с ответом на определенный вопрос и вести лог, сколько когда на сайте народу с определенным цветом
##### [hack] country_list #####
public function GetCountryList($full,$userCountry=''){
if($full==1) $sql="SELECT * FROM `base_countries` ORDER BY `country_name_ru` ASC";
elseif($full==0) $sql="SELECT * FROM `base_countries` WHERE `sort`>0 OR `country_name_ru`= ? ORDER BY `sort` ASC";
$aReturn=array();
if($aRows=$this->oDb->select($sql,$userCountry))
foreach($aRows as $aRow) $aReturn[]=array("id"=>$aRow['id_country'],"name"=>$aRow['country_name_ru']);
return $aReturn;
}
public function GetCityListByCountry($full,$cid,$ext,$userCity=''){
if($full==0){
$sql="SELECT
`city_name_ru`,`id_country`
FROM
`base_cities`
WHERE
(`id_country`= ?d AND `sort`>0)
{ OR city_name_ru = ? }
ORDER BY `sort` ASC";
$aRows=$this->oDb->select($sql,$cid,($ext==0) ? $userCity : DBSIMPLE_SKIP);
$_arr=array(); foreach($aRows as $a) $_arr[]=$a['city_name_ru']; $_arr=array_unique($_arr); # bug with equal city names
if(sizeof($_arr)<=1){
$sql="SELECT `city_name_ru`,`id_country` FROM `base_cities` WHERE `id_country`= ?d ORDER BY `city_name_ru` ASC LIMIT 10";
$aRows=$this->oDb->select($sql,$cid);
}
}elseif($full==1){
$sql="SELECT `city_name_ru`,`id_country` FROM `base_cities` WHERE `id_country`= ?d ORDER BY `city_name_ru` ASC";
$aRows=$this->oDb->select($sql,$cid);
}
$aReturn=array();
if($aRows) foreach($aRows as $aRow)
if($full==0 && $aRow['id_country']==$cid) $aReturn[]=$aRow['city_name_ru'];
elseif($full==1) $aReturn[]=$aRow['city_name_ru'];
return $aReturn;
}
public function GetCountryNameByCID($cid){
$sql="SELECT `country_name_ru` FROM `base_countries` WHERE `id_country`= ?d LIMIT 1";
$aRow=$this->oDb->selectRow($sql,$cid);
return $aRow['country_name_ru'];
}
##### [hack] country_list #####
Возможно ли сделать так чтобы РСС не попадали в НОВЫЕ — потому что их гораздо больше чем постингов от пользователей. Чтобы они рпосто были у себя в блоге и не вылезали! Как бы были приватными (есть такой вид топика)
Вчера без особых натяжек выдержал 4300 уникальных посетитель (8500 просмотров), все эти пользователи пришли начиная с 15 часов дня. Хостнг шаринг, тип кеширования — мемори.
Очень доволен.
1. Перенос пользователей (ls — база с LS (предполагается свежеустановленный LS без пользователей), vb — база с vBulletin):
2. Создание персональных блогов новых пользователей:
Суть такова — делаем insert, указываем нужные поля для переноса, и в качестве данных для insert подставляем результат select запроса из переносимой базы, соответственно поля выборки должны совпадать со вставляемыми в LS.
Возникает проблема с паролями — если принцип хранения разный (например, в исходном движке используется соль, а в LS — нет), то придется пользователей известить о смене пароля. Тут ситуации бывают разные.
и меняем его:
И все! А в плагине разработчики пусть набивают menu_text, чем хотят.
ищем файл "\templates\skin\new\actions\ActionBlog\comment.tpl"
в нём находим textarea, у которой id=«form_comment_text»
в этот тег и надо вставить параметр:
onkeypress=«if(event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) lsCmtTree.addComment('form_comment',{$oTopic->getId()});»
про который писалось где-то выше… у меня работает!
Еще хороший пример — добавление в профиль пользователя микроблога и галереи одновременно.
В нашем случае придется либо отказаться от какого-то плагина, либо сделать новый, который будет совмещать необходимые конкретному проекту возможности. :-)
Честно говоря, я пока и сам не вижу решения, но проблема типичная для хаков.
это конечно неполная и устаревшая версия хака, но в целом там видно, что надо делать
если найду архив с изменёнными файлами докину ссылку
Распаковываем в корень сайта и заходим потом на тсраницу
Будет такой вот список как тут —
Основная маркетинговая проблема ЛС — отсутствие roadmap, пусть даже с весьма расплывчатыми сроками.
решается это так: <input type=«hidden» name=«draft_id» value="{$_aRequest.topic_id}" id=«draft_id»/>
в файле /classes/lib/external/Jevix/jevix.class.php
находим строку:
и меняем ее на:
Таким образом, кнопка link стала работать и для вставки обычных ссылок, и для вставки магнет ссылок.
Может кому поможет :)
мне не хватало в опросах возможности при голосовании выбирать несколько вариантов ответа, т.е. кроме чтобы была возможность сделать не только опрос с radio button, но и опрос с несколькими checkboxами,
еще — делать в одном топике несколько опросов.
еще — возможность при входе на сайт выбирать цвет ника в сответствии с ответом на определенный вопрос и вести лог, сколько когда на сайте народу с определенным цветом
Вот так я думаю будет лучше…
Скачать:
Не хватало, говорите?