Бесплатный плагин "Debug Toolbar"
10
Хочу презентовать вам новый плагин, автором которого является наш разрабочик — Андрей Шкодяк.


Читать дальше
Плагин «Debug Toolbar»
Плагин предназначен для вывода технической информации о работе сайта на LiveStreet.
Читать дальше
Как вычестить базу от контента с содержанием определенной ссылки? (Решено)
3
Народ, возникла ситуация SOS, один проект попал в БАН гугла… теперь все ссылки с него, которые находятся на других проектах приводят к красному экрану смерти.
Файра и хром не пускает на такие сайты… мол они заражены, так как содержат контент с убитого сайта.
Вопрос в следующем, что забить в мускул, чтоб потереть все Комментарии и Топики содержащие ссылку… например site.ru
РЕШЕНИЕ… может кому понадобиться, сразу не додумался.
Тоже самое делаем и с топиками…
Ну а потом делит, на свой страх и риск.
Вместо Site.ru URL нужного сайта.
Файра и хром не пускает на такие сайты… мол они заражены, так как содержат контент с убитого сайта.
Вопрос в следующем, что забить в мускул, чтоб потереть все Комментарии и Топики содержащие ссылку… например site.ru
РЕШЕНИЕ… может кому понадобиться, сразу не додумался.
SELECT *
FROM `prefix_comment`
WHERE `comment_text` LIKE '%site.ru%'
LIMIT 0 , 30Тоже самое делаем и с топиками…
Ну а потом делит, на свой страх и риск.
Вместо Site.ru URL нужного сайта.
Не работает поиск, несмотря на видимое отсутствие ошибки в запросе
Плагин добавляет несколько полей к таблице Topic, после этого по ним необходимо настроить поиск. Модифицировал ACEMySearch, добавил функции по образцу имеющейся GetTopicsIdByRegExp, выводил получившийся запрос — базой обрабатывается корректно, результаты есть, но на страницу поиска ничего не попадает. Например, поиск по дате подачи объявления(это как раз объект, который добавляется плагином к топику):
Функция, которая ищет(делал на основе ACEMySearch):
Думал, DBSimple как-то переделывает подставленное значение, но при специально допущенной ошибке в sql выводится запрос, аналогичный приведенному выше, на который находится ненулевой результат. Работает только простейшая функция поиска по 2 полям, которые могут иметь значения 0 и 1(по строкам и с like, и с "=" не работает). С чем такое еще м.б. связано?
SELECT SQL_CALC_FOUND_ROWS DISTINCT topic_id
FROM new_topic
WHERE (
topic_driveType =1
AND topic_time1 = '2011-08-29'
)
ORDER BY topic_id ASC
LIMIT 0 , 20
Функция, которая ищет(делал на основе ACEMySearch):
public function GetTopicsIdByTime($Times, &$iCount, $iCurrPage, $iPerPage, $aParams)
{
$aResult=array();
if (!$aParams['bSkipTags']) {
if(isset($Times[1])){
$sql = "
SELECT DISTINCT topic_id
FROM ".Config::Get('db.table.topic')."
WHERE (topic_driveType= 0 AND topic_time1 = ? AND topic_time2 = ?)
ORDER BY
topic_id ASC
LIMIT ?d, ?d
";
$aRows=$this->oDb->selectPage($iCount, $sql,
$Times[0],$Times[1],
($iCurrPage-1)*$iPerPage, $iPerPage);
}else{
$sql = "
SELECT DISTINCT topic_id
FROM ".Config::Get('db.table.topic')."
WHERE (topic_driveType= 1 AND topic_time1 = ?)
ORDER BY
topic_id ASC
LIMIT ?d, ?d
";
$aRows=$this->oDb->selectPage($iCount, $sql,
$Times[0],
($iCurrPage-1)*$iPerPage, $iPerPage);
}
}
if ($aRows) {
foreach ($aRows as $aRow) {
$aResult[]=$aRow['topic_id'];
}
}
return $aResult;
}
Думал, DBSimple как-то переделывает подставленное значение, но при специально допущенной ошибке в sql выводится запрос, аналогичный приведенному выше, на который находится ненулевой результат. Работает только простейшая функция поиска по 2 полям, которые могут иметь значения 0 и 1(по строкам и с like, и с "=" не работает). С чем такое еще м.б. связано?
- 0
- 30 августа 2011, 14:13
- syjgin
- Оставить комментарий
Что происходит после удаления топика?
Когда я удаляю топик (на сайте, кнопкой удалить).
Из таблиц удаляется только prefix_topic т.е. информация о том, что существует некий топик.
Однако, содержание этого топика не исчезет(таблица prefix_topic_content). Подскажите, это так и должно быть? Таблицы у меня вроди бы как InnoDB
Из таблиц удаляется только prefix_topic т.е. информация о том, что существует некий топик.
Однако, содержание этого топика не исчезет(таблица prefix_topic_content). Подскажите, это так и должно быть? Таблицы у меня вроди бы как InnoDB
- 0
- 26 июля 2011, 21:31
- deputydeath
- 10
SQL error: Incorrect Information in file
Всем привет, с праздниками!
Прошу помочь в решении следующей проблемы:
Начала возникать просто при попытке зайти на основной урл сайта. Первый раз возникла при нажатии на страницу в паджинаторе в футере.
Заранее благодарю за советы!
Прошу помочь в решении следующей проблемы:
SQL Error: Incorrect information in file: './lis3/lis_topic.frm' at /classes/modules/topic/mapper/Topic.mapper.class.php line 191
Array ( [code] => 1033 [message] => Incorrect information in file: './lis3/lis_topic.frm' [query] => SELECT count(t.topic_id) as count FROM lis_topic as t, lis_blog as b WHERE 1=1 AND t.topic_publish = 1 AND t.topic_date_add >= '2011-05-01 15:00:00' AND ((b.blog_type='open')) AND t.blog_id=b.blog_id; [context] => /classes/modules/topic/mapper/Topic.mapper.class.php line 191 )Начала возникать просто при попытке зайти на основной урл сайта. Первый раз возникла при нажатии на страницу в паджинаторе в футере.
Заранее благодарю за советы!
Post запрос в базу из profile.tpl
Хочу вывести фамилию пользователя в профайл, чтобы была возможность его изменять, вот только не пойму, откуда берется значение name=«profile_name», так как хочу сделать по аналогии.
<p>
<label for="profile_name">{$aLang.settings_profile_name}:</label>
<input type="text" name="profile_name" id="profile_name" value="{$oUserCurrent->getProfileName()|escape:'html'}" class="w100p" /><br />
<span class="form_note">{$aLang.registration_name_notice}</span>
</p>
Построитель простейших SQL запросов на примере выборок модуля File
3
Может кто-то и не знал, но в XText есть построитель простых SQL запросов, который я использую в мапперах этого плагина.
Согласитесь, как некрасиво переопределять метод маппера какого-либо модуля, ведь при этом полностью переписывается запрос, содержащийся в этом методе. А если его переопределят два плагина? Да, правильно, отработает только последний :)
Ради красивости решения, я придумал объект модифицируемого запроса в виде Entity. Называется он PluginXtext_ModuleSql_EntityQuery.
Давайте рассмотрим его на примере маппера тех же файлов, о которых недавно шла речь.
Для наглядности, в этом маппере, методы разделены на два типа: первые отдают объект Sql-запроса, вторые же — его исполняют и возвращают результат методу модуля.
Читать дальше
Согласитесь, как некрасиво переопределять метод маппера какого-либо модуля, ведь при этом полностью переписывается запрос, содержащийся в этом методе. А если его переопределят два плагина? Да, правильно, отработает только последний :)
Ради красивости решения, я придумал объект модифицируемого запроса в виде Entity. Называется он PluginXtext_ModuleSql_EntityQuery.
Давайте рассмотрим его на примере маппера тех же файлов, о которых недавно шла речь.
Для наглядности, в этом маппере, методы разделены на два типа: первые отдают объект Sql-запроса, вторые же — его исполняют и возвращают результат методу модуля.
Читать дальше
Правильный способ модификации enum в плагинах.
8
Проблема заключается в том, что некоторые плагины заменяют поле target_type таблицы comment, тем самым создавая свои новые типы комментариев, но затирая при этом уже добавленные. Разработчики упрощают себе жизнь, ограничиваясь строкой в dump.sql (пример из плагина «компании»)
В список риска попадает практически всё, где используется target_type enum: favourite, vote, comment_online.
При установки нескольких таких плагинов начинается бардак. Такие недоработки я заметил в следующих плагинах: «Компании», «Объявления», «Вопросы и ответы», «Места и события». Так делать нельзя. Программист разберется и исправит ошибку, но что делать обычным людям, далеким от php и sql, которые просто используют движок и несколько таких плагинов?
Тру кодером оказался Алексей Волков, разработчик «Комментариев для статических страниц». При установке плагина он в функции Activate проверяет target_type и добавляет новое поле только если его там нет, сохраняя при этом его старое содержимое. Не спросясь разрешения Алексея (надеюсь он меня простит — за правое дело радею) выкладываю часть кода, отвечающего за это.
Уважаемые разработчики, не поленитесь обновить свои плагины и внести изменения.
Хотел опубликовать в тематическом блоге, например в «Дополнительные модули и доработки для LiveStreet», но видимо не хватает кармы, это мой первый пост/комментарий вообще на livestreet.ru
PS. в sql запросах типа ALTER проще использовать MODIFY вместо CHANGE, т.к. первый не требует указывать название поля два раза.
ALTER TABLE `prefix_comment`
MODIFY target_type enum('topic','talk','company','clan')
DEFAULT 'topic';В список риска попадает практически всё, где используется target_type enum: favourite, vote, comment_online.
При установки нескольких таких плагинов начинается бардак. Такие недоработки я заметил в следующих плагинах: «Компании», «Объявления», «Вопросы и ответы», «Места и события». Так делать нельзя. Программист разберется и исправит ошибку, но что делать обычным людям, далеким от php и sql, которые просто используют движок и несколько таких плагинов?
Тру кодером оказался Алексей Волков, разработчик «Комментариев для статических страниц». При установке плагина он в функции Activate проверяет target_type и добавляет новое поле только если его там нет, сохраняя при этом его старое содержимое. Не спросясь разрешения Алексея (надеюсь он меня простит — за правое дело радею) выкладываю часть кода, отвечающего за это.
$oDb = $this->Database_GetConnect();
$sql = 'SHOW COLUMNS FROM `'.Config::Get('db.table.comment').'`';
$aRows = $oDb->select($sql);
foreach ($aRows as $aRow) {
if ($aRow['Field'] == 'target_type') break;
}
if (strpos($aRow['Type'], "'page'") === FALSE)
{
// - Вносим изменение в поле target_type в таблице prefix_comment
$aRow['Type'] =str_ireplace('enum(', "enum('page',", $aRow['Type']);
$sql = "ALTER TABLE `".Config::Get('db.table.comment')."`
CHANGE `target_type` `target_type` " . $aRow['Type'] . "
NOT NULL DEFAULT 'topic'";
$oDb->query($sql);
}
Уважаемые разработчики, не поленитесь обновить свои плагины и внести изменения.
Хотел опубликовать в тематическом блоге, например в «Дополнительные модули и доработки для LiveStreet», но видимо не хватает кармы, это мой первый пост/комментарий вообще на livestreet.ru
PS. в sql запросах типа ALTER проще использовать MODIFY вместо CHANGE, т.к. первый не требует указывать название поля два раза.
Помощь с доработкой функционала движка
Прошу помочь мне с SQL запросом.
Сижу уже 4ый час, перековырял практически весь гугл, и не нашел ответа на поставленный вопрос, либо упустил его из-за незнания оного языка.
Суть в том, что в таблице prefix_blog есть поле blog_genre (жанр игры).
Я хочу сделать вывод игр по жанрам, но в этом поле есть такие значения как Action — с этим проблем не было, а есть значения MMO, RPG — вот тут я встал в ступор.
Т.е. если жанр обозначен просто как MMO выводятся все блоги с этим жанром, а если обозначен как MMO, RPG то этот блог не выводится.
Читать дальше
Сижу уже 4ый час, перековырял практически весь гугл, и не нашел ответа на поставленный вопрос, либо упустил его из-за незнания оного языка.
Суть в том, что в таблице prefix_blog есть поле blog_genre (жанр игры).
Я хочу сделать вывод игр по жанрам, но в этом поле есть такие значения как Action — с этим проблем не было, а есть значения MMO, RPG — вот тут я встал в ступор.
Т.е. если жанр обозначен просто как MMO выводятся все блоги с этим жанром, а если обозначен как MMO, RPG то этот блог не выводится.
Читать дальше
Проблема,помогите решить!!!!
Поставил я сайт, поставил модуль кланвары, перехожу на команды или кланвары выдается ошибка — SQL Error: Table 'san-ast_asd.prefix_clans' doesn't exist at сайт/modules/clans/mapper/Clans.mapper.class.php line 211
Array ( [code] => 1146 [message] => Table 'san-ast_asd.prefix_clans' doesn't exist [query] => SELECT * FROM prefix_clans WHERE owner_id = 1 [context] => сайт/classes/modules/clans/mapper/Clans.mapper.class.php line 211 )
Как исправить не могу найти!!!
Array ( [code] => 1146 [message] => Table 'san-ast_asd.prefix_clans' doesn't exist [query] => SELECT * FROM prefix_clans WHERE owner_id = 1 [context] => сайт/classes/modules/clans/mapper/Clans.mapper.class.php line 211 )
Как исправить не могу найти!!!