Перейти к контенту

Журнал - Дневник


Рекомендуемые сообщения

  • Ответы 1k
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Ребята.. помогите.. не работает Тэги в Дневнике.... Выделяешь текст..... кликаешь на тэг.. типа но ничего не происходит... не добавляется этот тэг в текст... Форум 2.2.1

 

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

 

ipb_bbcode.js

 

Позаимствовал с 2.0.3 - и все заработало....... Осталось только сделать чтобы работали

 

Guided Mode

Normal Mode

 

Никто не поможет?

 

Поставил, дневник на версию 2.2.2, точно не работают тэги. Может кто знает как решить проблему не добавляя ipb_bbcode.js?

 

 

Я писал чуть выше.... почитай.. там одного файла нет ;)

 

 

 

Ребят , а у вас Смайлы так же стоят? :D

СКРИН

Ссылка на комментарий
Поделиться на других сайтах

Ребят , а у вас Смайлы так же стоят?

У меня такой же вид имеют.

 

Я писал чуть выше.... почитай.. там одного файла нет

Видимо для форума он не нужен, интересует, что можно сделать не добовляя файл ipb_bbcode.js, из версии 2.0.х

Ссылка на комментарий
Поделиться на других сайтах

Ребят , а у вас Смайлы так же стоят?

У меня такой же вид имеют.

Ну это же неправильна :D хотелось бы узнать , как сделать стандартное окошко для смайлов .

У меня эти смайлы не работают , пока не откроешь окно "Показать все" :) :) :)

У кого такая проблема была , и он её исправил , отпоститесь , пожалуйсто! ;)

Ссылка на комментарий
Поделиться на других сайтах

Ребят , а у вас Смайлы так же стоят?

У меня такой же вид имеют.

Ну это же неправильна :D хотелось бы узнать , как сделать стандартное окошко для смайлов .

У меня эти смайлы не работают , пока не откроешь окно "Показать все" :) :) :)

У кого такая проблема была , и он её исправил , отпоститесь , пожалуйсто! ;)

Народ, вы читать форум будите или как?

Уже писалось про это.

Самый просто способ

Журнал - Дневник

Ссылка на комментарий
Поделиться на других сайтах

Хитрая проблема (очевидно других у меня не бывает):

 

Стоят 2.0pb7 дневники на 2.0.4 форуме. Включаем модуль поиска внутри дневника.

 

Производим поиск по комментариям по слову-образцу и получаем в выводе на странице браузера 3 результата. Вроде бы все найдено правильно и грамотно, НО:

 

есть такая таблица jsearch в которой в течение часа лежат результаты поиска в колонках cache_1 и cache_2, так вот число результатов поиска было не 3, а 6, поскольку именно столько cid найдено по поиску LIKE %слово% по таблице jcomments.

 

Возник вопрос, все ли верно упало в таблицу jsearch и колонку cache_1? Ищем через PHP My Admin по таблице jcomments с owner_id и LIKE %слово% и получаем именно те 6 cid, которые лежат в таблице jsearch.

 

Куда же делись еще 3 результата поиска? Почему они были найдены и не были выведены на экран?

 

Просмотрев сложный запрос в user_search.php на SELECT по таблице jcomments, где задействовано implode и массив найденных $cids, я для начала просто заменил сортировку результатов запроса с DESC на ASC и был удивлен безмерно, когда увидел в выводе уже 2 комментария, но совершенно не те, которые в первый раз, хотя они тоже соотвествовали моему запросу. В каком месте запроса возникает ошибка? И виноват ли вообще в ней этот запрос? Этому запросу предшествуют еще ряд запросов, и не исключено, что где-то возникает проблема, но мне не удалось выяснить на каком уровне, хотя на 95% я подозреваю в этом код user_search.php файла тот что ниже этого запроса.

 

$DB->query("SELECT c.*, p.pid, p.title, p.closed, p.journal_id,
                                       m.id, m.name, m.mgroup,
                                       me.photo_type, me.photo_location, me.photo_dimensions, m.j_photo_dim, m.j_photo_type, m.j_photo, me.avatar_location, me.avatar_size, me.avatar_type
                                       FROM ibf_jcomments c
                                       LEFT JOIN ibf_jposts p ON (p.pid=c.post_id)
                                       LEFT JOIN ibf_jmembers m ON (m.id=c.author_id)
                                       LEFT JOIN ibf_member_extra me ON (me.id=c.author_id)
                                       WHERE c.cid IN (".implode(', ',$cids).")
                                       ORDER BY c.post_date DESC LIMIT ".$ibforums->input['st'].", ".$max_on_pages);

 

Кто-нибудь наблюдал подобную проблему?

Ссылка на комментарий
Поделиться на других сайтах

Проблема, описанная в вышестоящем посте решена.

Для вывода полного списка найденных результатов, нужно сделать следующее:

Открыть файл user_search.php.

Найти:

// process comments

			$attach_pids = array();
			$old_date = "";
			$start_post = true;

			while ($r = $DB->fetch_row())
			{
					list($r['date'],$r['time']) = explode("|",$journal->get_date($r['post_date'],"d F Y|H:i"));

 

После этого удалить следующие строки:

if ($old_date != $r['date'])
					{
							if (!$start_post)
							{
									$output['COMMENTS'] .= $journal->skin->html['posts']->comment_bottom();
							}
							$output['COMMENTS'] = $journal->skin->html['posts']->comment_top($r['date']);

Это оставить:

$old_date = $r['date'];

 

И после этого удалить вот это:

}
$r['date'] = "";

 

И после этого:

if (count($search['HLITE']))
					{
							foreach($search['HLITE'] as $val)
							{
									if ( preg_match( "/(^|\s|'|\"|>|\S)(".preg_quote($val, '/').")(\S|\s|'|\"|,|\.|!|\?|<br|$)/is", $r['post'] ) )
									{
									$r['post'] = preg_replace( "/(^|\s|'|\"|>|\S)(".preg_quote($val, '/').")(\S|\s|'|\"|,|\.|!|\?|<br|$)/is", "\\1\\2\\3", $r['post'] );
									}
							}
					}

					$output['COMMENTS'] .= $journal->skin->html['posts']->comment_row($r);

					$start_post = false;
			}

удалить эту строку:

$output['COMMENTS'] .= $journal->skin->html['posts']->comment_bottom();

 

Все :D

Изменено пользователем SfinkS
Ссылка на комментарий
Поделиться на других сайтах

У вас код то оригинальный, или непонятно откуда стянутый ?

 

Urisoft, привет, я писал на твою почту по этой проблеме, в аське почему-то не достучался. Мог бы ты дать намек на то как исправить вывод результатов, выводятся только за какие-то определенные даты, но не все? :D Моя проблема была именно с оригинальным кодом, подстветка там работает, но вывод результатов нет, а точнее там было две проблемы, одну я описал выше, а код который привел SfinkS уже исправлен на предмет следующей проблемы, с которой когда-то я столкнулся.

 

Сейчас опишу какая была проблема до этого.

 

Когда я имею домен www.name.ru и юзеры постят картинки и смайлы, то в поиске выбрасывается код смайлов. Например поиск по rolleyes выбросит на страницу поиска HTML код сообщений. А поиск по слову user, выбросит user posted image и др. комментарии к тегам <img src>, который кстати тоже ищется. Поиск по имени домена name тоже выведет кучу путей до смайлов и картинок в сообщениях.

 

Может быть поэтому код SfinkS мог показаться отличным от оригинального, тем что в нем нет раскрытия HTML кода постов, но смею заверить, что в оригиналом была проблема с недовыводом всех результатов и раскрытием HTML кода постов.

 

Вобщем я уже запутался т.к. исправление одной проблемы совпало с исправлением другой.

 

Код user_search.php который работает на моем сервере не раскрывает HTML, но вывод результатов не полный.

 

О проблемах, с которыми я столкнулся я отписал, буду ждать ответов или советов.

 

Подождем комментариев SfinkS'a.

Ссылка на комментарий
Поделиться на других сайтах

urisoft

Если смущает часть, где насчет подсветки надо вставлять - сорри :D

Это там, где "Чтобы работала подсветка найденных слов найти:..."

Да, в оригинале там и так все работает. Я убирал этот span, потому что из-за него как раз вылезал глюк, описанный replicant'ом. И забыл про это благополучно ;)

 

Все остальные изменения относятся только к проблеме вывода найденных комментов.

 

А теперь по делу. У меня такая мысль:

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

Ссылка на комментарий
Поделиться на других сайтах

SfinkS

Все остальные изменения относятся только к проблеме вывода найденных комментов.

Все что ты предлагаешь удалить, это начало и окончание таблиц.

Посмотри в скинах comment_bottom и comment_top

Сам вывод коммента как был так и остался.

 

Я к сожалению не смог у себя воспроизвести эту ошибку как ни пытался...

Если есть возможность киньте на мыло:

1. Страницу с запросами результатов поиска. (Включить отладку и добавить к URL &debug=1). Там можно посмотреть сам запрос + кол-во найденных совпадений.

2. HTML код страницы с неправильным выводом результатов поиска.

Все с небольшими пояснениями типа "искалось слово "вася", найдено 6 совпадений, на экран выводится только 3", чтоб было понятно где искать ошибку.

 

Поиск по имени домена name тоже выведет кучу путей до смайлов и картинок в сообщениях

Да есть такое. Я не знаю как лечить.

1. Ставить запрет поиска определенных слов. Легко решается например поиском в user_search.php строки:

$name = preg_replace( "/^(?:img|quote|code|html|javascript|a href|color|span|div|border|style|class)$/", "", $name );

и добавлением сюда своих слов.

 

2. Писать в базу текст с тэгами, а при выводе на экран его парсить.

3. Держать 2 таблицы постов, в одной только текст без форматирования для поиска, в другой отформатированный текст для вывода юзеру.

 

Я просто других путей не знаю. :D

Ссылка на комментарий
Поделиться на других сайтах

1. Страницу с запросами результатов поиска. (Включить отладку и добавить к URL &debug=1). Там можно посмотреть сам запрос + кол-во найденных совпадений.

2. HTML код страницы с неправильным выводом результатов поиска.

Все с небольшими пояснениями типа "искалось слово "вася", найдено 6 совпадений, на экран выводится только 3", чтоб было понятно где искать ошибку.

 

Debug можно не включать, запросы бегают правильно, я все проверял 100 раз, как я уже упоминал в jsearch cache_1 ложатся совершенно правильные сid всех найденных комментариев. Запрос правильно выдергивает из базы все данные.

 

Даю наводку. Ошибку можно поймать только в случае если между результатами поиска большое кол-во дней! SfinkS правильно начал копать в сторону обработки результатов и подготовки вывода на экран и подметил, что это видимо зависит от даты комментария. Примечательно, что ошибка с комментариями как-то зависит от даты, скажет у меня в примере с 6-ю комментариями 3 из них за 15.09.2006, 2 за 13.02.2007 и один посерединке между ними.

 

Выводятся либо 3 за сентябрь 2006, либо 2 за февраль 2007, а тот, что посередине мы вообще не видим (меняя в запросе с ASC на DESC и наоборот). Если бы было за сентябрь 10 комментариев, то вывелись бы все 10, а за другие даты ничего бы не вывелось.

 

Для тестирования мы спецально создавали комментарии на тестовой машине с большим разбросом дат между ними и выявили эту особенность.

 

Наводку на способ борьбы с HTML кодом получил, буду изучать.

Ссылка на комментарий
Поделиться на других сайтах

Это может показаться бредом и неверным решением, но исходя из решения SfinkS'a, я заменил это

 

if ($old_date != $r['date'])

 

на это

 

if ($old_date != "")

 

поиск стал работать по всем датам в комментариях, а не только выводить комментарии за одну дату, т.е. фактически я заведомо изменил условие, подправив всего одну строчку.

 

Как бы только это все логически объяснить и уже сделать правильное решение?

 

Визуально вывод лишился строки (skin->html['posts']->comment_top($r['date']), где указывается дата комментария, но комментарии ищутся все целиком.

Ссылка на комментарий
Поделиться на других сайтах

replicant

Ошибка до банальности проста. Обычная опечатка. :D

Найти в коде:

$output['COMMENTS'] = $journal->skin->html['posts']->comment_top($r['date']);

Заменить на:

$output['COMMENTS'] .= $journal->skin->html['posts']->comment_top($r['date']);

 

ТОЧКА перед знаком равенства.

Ссылка на комментарий
Поделиться на других сайтах

replicant

Ошибка до банальности проста. Обычная опечатка. :D

ТОЧКА перед знаком равенства.

 

А-а-а, позор на мои седины, за большим не углядел малого, спасибо за свежий взгляд. Мой уже видимо замылился в коде. ;)

 

Вот теперь с поиском все как надо.

 

Вторая проблема, которую я уже описывал - это раскрытие HTML кода. Я решил ее примерно так, но при этом пришлось расстаться с подсветкой результатов поиска. Берем два файла main_search.php и user_search.php в каждом из них надо подправить две строки, т.к. одна строка отвечает за поиск по записям, а другая - по комментариям. Файл main_search.php - это поиск по всем дневникам, а user_search.php - только под одному дневнику.

 

Пример:

 

найти

 $r['post'] = preg_replace( "/(^|\s|'|\"|>|\S)(".preg_quote($val, '/').")(\S|\s|'|\"|,|\.|!|\?|<br|$)/is", "\\1
<span class='searchlite'>\\2</span>\\3", $r['post'] );

 

заменить на

$r['post'] = preg_replace( "/(^|\s|'|\"|>|\S)(".preg_quote($val, '/').")(\S|\s|'|\"|,|\.|!|\?|<br|$)/is", "\\1
\\2\\3", $r['post'] );

 

Как видите просто убирается упоминание класса, в котором прописан background стиля, для подсветки результатов. Это конечно не очень удобно, но:

- больше не выводится код страницы

- поиск по ключевым словам можно запретить методом, который предложил чуть выше urisoft

 

Как я тестировал:

При поиске слова yellow выведется не только текст, содержащий это слово, но и все тексты желтого цвета, но они в результатах поиска останутся желтыми т.е. текст будет иметь нормальный вид, а не yellow'>текст, как было ранее.

Теги color у меня тоже оставлены как запрещенные к поиску, потому что в итоге будет слишком много результатов, также я запретил attachid, img src, span остальные по-умолчанию.

 

Если кому-то интересно посмотреть как это происходит и на что влияет, то сделайте текст желтого цвета или любого другого, скажем чтобы название цвета было более или равно 4 буквам и пробуйте искать по названию цвета. Дальше все понятно. НО: данный метод полностью уничтожает подсветку результатов поиска!

Ссылка на комментарий
Поделиться на других сайтах

Люди добрые, подскажите пожалуйста, как лечить подобную ошибку:

 

Failed loading Skin and CSS info !

 

 

Из-за чего возникла не знаю, вроде файлов не трогал. Но стоит очень посещаемый дневник. Обидно. :D

Ссылка на комментарий
Поделиться на других сайтах

mobland

Перезалей файлы шаблонов, скинов, а потом "Загрузить шаблоны" в админке дневников еще сделай.

Ссылка на комментарий
Поделиться на других сайтах

mobland

Перезалей файлы шаблонов, скинов, а потом "Загрузить шаблоны" в админке дневников еще сделай.

спасибо за совет.

в админке дневников есть только импортировать скин, импортировать стиль. где бы взять эти файлы для импорта?

Ссылка на комментарий
Поделиться на других сайтах

еще не работает сохранение шаблонов - исчезают кавычки.

Какие кавычки? Можно поподробнее, может быть у нас уже такое встречалось и было поправлено?

 

mobland

Перезалей файлы шаблонов, скинов, а потом "Загрузить шаблоны" в админке дневников еще сделай.

спасибо за совет.

в админке дневников есть только импортировать скин, импортировать стиль. где бы взять эти файлы для импорта?

В архиве есть файлы скина, надо загрузить шаблоны из php-файлов в управлении шаблонами. Там есть такая опция. Если эта ошибка только с одним дневником, то поставь ему стандартный стиль и стандартный шаблон, может быть поможет. Преустановить параметры дневника можно напрямую в БД, если доступ к дневнику невозможен из-за повреждения файлов шаблона.

Ссылка на комментарий
Поделиться на других сайтах

В архиве есть файлы скина, надо загрузить шаблоны из php-файлов в управлении шаблонами. Там есть такая опция. Если эта ошибка только с одним дневником, то поставь ему стандартный стиль и стандартный шаблон, может быть поможет. Преустановить параметры дневника можно напрямую в БД, если доступ к дневнику невозможен из-за повреждения файлов шаблона.

извините, что сразу не сказал, у мну версия mJournal v2.0pb3

захожу по ссылке Import\Export, там Импорт/Экспорт скина, Импорт/Экспорт макросов, Импорт/Экспорт стиля. Где импорт такая надпись:

 

Загрузите файл для импорта:

Вы должны указать файл с расширением .xml либо .xml.gz

 

С таким расширением в архиве только один файл

journal/install/jskin_template.xml

 

Его загружаю, все нормально стили импортируются, но выходит та же картина:

Failed loading Skin and CSS info !

 

И так для всех дневников у всех пользователей.

Ссылка на комментарий
Поделиться на других сайтах

В архиве есть файлы скина, надо загрузить шаблоны из php-файлов в управлении шаблонами. Там есть такая опция. Если эта ошибка только с одним дневником, то поставь ему стандартный стиль и стандартный шаблон, может быть поможет. Преустановить параметры дневника можно напрямую в БД, если доступ к дневнику невозможен из-за повреждения файлов шаблона.

извините, что сразу не сказал, у мну версия mJournal v2.0pb3

захожу по ссылке Import\Export, там Импорт/Экспорт скина, Импорт/Экспорт макросов, Импорт/Экспорт стиля. Где импорт такая надпись:

 

Загрузите файл для импорта:

Вы должны указать файл с расширением .xml либо .xml.gz

 

С таким расширением в архиве только один файл

journal/install/jskin_template.xml

 

Его загружаю, все нормально стили импортируются, но выходит та же картина:

Failed loading Skin and CSS info !

 

И так для всех дневников у всех пользователей.

 

 

это опять я. есть ли смысл стучатся в саппорт IPB или они не должны помогать с не их скриптами?

Изменено пользователем rfgbnjirf
Ссылка на комментарий
Поделиться на других сайтах

vzpor

+1 , дайте два!

Спасибо огромное!!! :D

 

усё... я рат-)

Изменено пользователем TRka
Ссылка на комментарий
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.