helpix Опубликовано 24 Декабря 2004 Жалоба Поделиться Опубликовано 24 Декабря 2004 Название: RSS For Yandex и не толькоДобавил: helpixДобавлен: 24 Дек 2004Обновлен: 24 Дек 2004Категория: IP.Board 1.x.x Выдает последние сообщения, опубликованны в форуме, в rss Шаблон выдачи зашит внутри функции do_lastposts. Там же определяются количество элементов для выдачи и "служебные форумы", в которых сообщения трогать не надо. Сделано было мною для добавления форума в яндексовский поиск по форумам и блогам. Сделано на основе мода"Блок последних сообщений из форума IBF для PHP-Nuke" Инструкция: Переименовать файл в yandex.php, положить в корень форума. Скормить Яндексу urlhttp://yourdomain.ru/forum/yandex.php Проверялось только на версии форума 1.3.1. Вполне возможно, что будет работать на 1.1 и 1.2. Прошу прощения за неаккуратность кода - php не знаю http://www.ibresource.ru/forums/html/emoticons/smile.gif Замечания приветствуются. Нажмите здесь, чтобы скачать файл Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 24 Декабря 2004 Жалоба Поделиться Опубликовано 24 Декабря 2004 как уже говорил на версии 1.2 наблюдаеться глюк_сЪ в сроке function load_words($current_lang_array, $area, $lang_type) { require "lang/".$lang_type."/".$area.".php"; файла functions.php так выглядят строки моего файла поскольку форум расположен в корневой директории. остальным вместо ROOT_PATH установить путь ручками. скрипт продолжает тестироваться под FeedDemon. автору спасибо которое не булькает Добавлено в [mergetime]1103900121[/mergetime] тьху ... второй раз на те же грабли с lo-fi. function load_words($current_lang_array, $area, $lang_type) { require "/home/clients/board/www/lang/en/".$area.".php"; /home/clients/board/www/lang/en/ /* заменить на свой путь к файлу с русскими датами*/ Добавлено в [mergetime]1103902119[/mergetime] что бы не мучались, что бы добавить иконку RSS для отображения броузером рихтуем шаблон форума добавляя строчку <link rel="alternate" type="application/rss+xml" title="RSS" href="http://you_forum.net/yandex.php"> Ссылка на комментарий Поделиться на других сайтах Прочее
s0laris Опубликовано 25 Декабря 2004 Жалоба Поделиться Опубликовано 25 Декабря 2004 Вот кто бы еще и для второй версии сделал такую вещь. Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 28 Декабря 2004 Жалоба Поделиться Опубликовано 28 Декабря 2004 Сделано плохо.Писать id разделов в коде очень плохой подход.Называется "разводить сопли".Попробую я его поправить. Ссылка на комментарий Поделиться на других сайтах Прочее
helpix Опубликовано 28 Декабря 2004 Автор Жалоба Поделиться Опубликовано 28 Декабря 2004 Давай, дело хорошее. Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 28 Декабря 2004 Жалоба Поделиться Опубликовано 28 Декабря 2004 Вот значит что у меня получилось.Правда я сначала писал для своего форума, а потом переводил для стандартных, поэтому может чего не заметил, говорите. Только предупреждаю всех у кого стоят моды скрытия чего-либо: ссылок, части постов и прочего (моды HIDE, SPOIL и прочие), все эти моды в RSS работать не будут!Всё что вы скрываете в общедоступных форумах, будет видно в поисковой машине.yandex.zip Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 28 Декабря 2004 Жалоба Поделиться Опубликовано 28 Декабря 2004 видать туплю, но к базе это создание не конектиться ... Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 28 Декабря 2004 Жалоба Поделиться Опубликовано 28 Декабря 2004 Dekker а чего пишет? Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 28 Декабря 2004 Жалоба Поделиться Опубликовано 28 Декабря 2004 Song http://crimea-board.net/ya_rss.php An error occured whilst processing this directiveCannot connect to database Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 28 Декабря 2004 Жалоба Поделиться Опубликовано 28 Декабря 2004 Dekker ааа.. понял.Это у меня $DB->connect переписан.Ну тогда либо 1) Убери проверку на $DB->connect в скрипте2) либо сделай $DB->connect как у меня function connect() { if ($this->obj['persistent']) { $this->connection_id = mysql_pconnect( $this->obj['sql_host'] , $this->obj['sql_user'] , $this->obj['sql_pass'] ); } else { $this->connection_id = mysql_connect( $this->obj['sql_host'] , $this->obj['sql_user'] , $this->obj['sql_pass'] ); } if ( !mysql_select_db($this->obj['sql_database'], $this->connection_id) ) { echo ("ERROR: Cannot find database ".$this->obj['sql_database']); return FALSE; } return TRUE; } Ссылка на комментарий Поделиться на других сайтах Прочее
Наблюдатель Опубликовано 29 Декабря 2004 Жалоба Поделиться Опубликовано 29 Декабря 2004 Song $to_require = $root_path."sources/Drivers/".$INFO['sql_driver'].".php";В двушке НЕТ такой директории... Что делать? Пишет Fatal error: Cannot instantiate non-existent class: session in /pub/home/путь/файл.php on line 41стр.41 $sess = new session(); Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 29 Декабря 2004 Жалоба Поделиться Опубликовано 29 Декабря 2004 так, внял, дело оказалось в функции old_get_date, на самом деле у меня такая функция не описана, у меня описана get_date поэтому и срабатывала проверка $DB->connect на FALSE Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 29 Декабря 2004 Жалоба Поделиться Опубликовано 29 Декабря 2004 так, внял, дело оказалось в функции old_get_date, на самом деле у меня такая функция не описана, у меня описана get_date поэтому и срабатывала проверка $DB->connect на FALSEDekker при всём уважении, но вдумайся чего ты пишешь Проверка $DB->connect идёт раньше.Поэтому до old_get_date оно даже не доходило.А когда сделаешь чтоюы connect*() возвращала резльтат, вот тогда открывается второй глюк. Да действительно забыл я переименовать old_get_date в get_date.Сейчас обновлю файл. Добавлено в [mergetime]1104337212[/mergetime] Наблюдатель Что делать?открой index.php посмотри как там сделано подключение к БД и авторизация. Добавлено в [mergetime]1104337460[/mergetime] Dekker обновил файл в RSS For Yandex и не только Попробуй.Теперь должно работать без правок драйвера. Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 29 Декабря 2004 Жалоба Поделиться Опубликовано 29 Декабря 2004 Song у меня последний день раздачи корпоративных заказов, так что думать тяжело Попробуй. Теперь должно работать без правок драйвера.спасибо, попробуем. завтра отпостю результаты, сегодня сил нет и не предвидиться. Ссылка на комментарий Поделиться на других сайтах Прочее
Наблюдатель Опубликовано 29 Декабря 2004 Жалоба Поделиться Опубликовано 29 Декабря 2004 Всё ясно... Многие поля БД не соответствуют полям двушки. Почти добился работоспособности, но... что делать с forum_id, который напрочь отсутствует в базе? - вопрос риторический, т.к. я совершенно не рублю в пхп-писании и мне это просто не по силам - нужно весь скрипт переписывать... Может есть фанаты, которые сподвигнуться на ентот подвиг? Ну и ладно... Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 30 Декабря 2004 Жалоба Поделиться Опубликовано 30 Декабря 2004 Если кому интересно. Для IPB 2.0 в приложенном файле. А по версии для 1.х....Заменили бы функцию parse_template.75 постов по 10 preg_replace на каждый.... Не красиво... SongА какой смысл в авторизации ? Мож я че не догоняю... rss_ipb.zip Ссылка на комментарий Поделиться на других сайтах Прочее
SphinX Опубликовано 30 Декабря 2004 Жалоба Поделиться Опубликовано 30 Декабря 2004 Вот кто бы еще и для второй версии сделал такую вещь.Во втором ssi.php для этих целей может служить... И кстати служит вполне прилично. Ссылка на комментарий Поделиться на других сайтах Прочее
Наблюдатель Опубликовано 30 Декабря 2004 Жалоба Поделиться Опубликовано 30 Декабря 2004 urisoft, спасибо! Отлично работает... на одной конфе... А на второй какой-то глюк - может глянешь?Хотя, в агрегаторе всё это смотрится, и даже картинки показывает... Правда цитаты, которые множественные... некрасивенько, но... в принципе... и так пойдёт, хотя... нужно дорабатывать... рамочку им что-ли припендюривать... Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 30 Декабря 2004 Жалоба Поделиться Опубликовано 30 Декабря 2004 SphinX Во втором ssi.php для этих целей может служить...И кстати служит вполне прилично.Таки точно... И в 1.3 также в ssi.php все есть Правда неудобные ссылки получаются. ?a=out&f=1,2,3,4,5,6,......&show=10&type=rss Но работает вроде. SongПонял я про авторизацию. Не теми прогами пользовался (без IE и Мозилы). Добавлено в [mergetime]1104398225[/mergetime] Наблюдатель А на второй какой-то глюк - может глянешь?Про смайлы я забыл <#EMO_DIR#> остается в посте.Обновил я файлик. (В посте выше).Теперь и авторизация должна работать. Ссылка на комментарий Поделиться на других сайтах Прочее
SphinX Опубликовано 30 Декабря 2004 Жалоба Поделиться Опубликовано 30 Декабря 2004 ?a=out&f=1,2,3,4,5,6,......&show=10&type=rssЗато можно ссылкой формировать список форумов, из которых нужно эскпортировать новости. Полезно бывает, можно каждому новостному разделу свою фиду сделать. Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 30 Декабря 2004 Жалоба Поделиться Опубликовано 30 Декабря 2004 А какой смысл в авторизации ? Мож я че не догоняю...не всем пользователям все форумы доступны.В моей правке этого мода авторизация используется как способ отсечь недопустимые к просмотру текущим юзером форумы. Добавлено в [mergetime]1104407926[/mergetime] но... что делать с forum_id, который напрочь отсутствует в базе? -Достать его из ibf_topics, а последний связать с ibf_posts по topic_idНо в этом случае тогда вся моя оптимизация идёт к чертям, т.к. своей правкой я стремился убрать все сложные запросы, разбив их на маленькие + использование массивов и добился кстати своего.Сложным запросом ibf_topics + ibf_posts у меня тот запрос выполнялся за 8..10 секунд, а после оптимизации вся группа запросов стала работать 2 секунды.Вообще от связки ibf_posts + ibf_topics нужно отказываться везде где это возможно.При больших этих таблицах мускул просто впадает в ступор и тормозит всю очередь запросов.Поэтому, urisoft, я до сих пор смотрю с большим ужасом на твой мод Topic Hints где ты их проджойнил 3!!! раза.То что вы запустили этот скрипт один раз он отработал за 2..10 секунд и всё ок, ещё ничего не говорит. Вы ж не знаете с какой частотой яндекс будет его запускать!? А если он будет бомбордировать вашу БД заходя на RSS каждую минуту? Что тогда будет с форумом? Правильно, он будет работать полностью на Яндекс. Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 30 Декабря 2004 Жалоба Поделиться Опубликовано 30 Декабря 2004 Song не всем пользователям все форумы доступны.В моей правке этого мода авторизация используется как способ отсечь недопустимые к просмотру текущим юзером форумы.Это понятно. Просто программы которые я использовал для просмотра имели свой интерфейс для доступа в инет и не умели работать с куками. В этом случае не понятно как будет проходить авторизация и зачем она тогда вообще нужно (достаточно использовать права группы гостей). А оказалось, что есть куча прог использующих IE и Мозилу в которых все работает на ура. Админ видит что ему положено, а гость соответственно что положено ему. где ты их проджойнил 3!!! раза.Не 3 раза, а 2 раза Разберемся с хинтами. Скрипт генерации тем, постов и мемберов затер у себя. Напишу заново и потестирую. А по поводу скрипта выложенного тут.... Ну кто не уверен в достаточном быстродействии и кому "кажется", что скрипт тормозит, найдите в скрипте строку:define( 'USE_DEBUG', 0 );и замените на:define( 'USE_DEBUG', 1 );После чего в rss ленте появиться сообщение с заголовком Debug Info, в котором будет время выполнения скрипта и количество запросов. Эхплайны запросов можно будет увидеть добавив в браузере ?debug=1 к имени скрипта. Подтвердите свои догадки реальными фактами у меня тот запрос выполнялся за 8..10 секундА ты циферки не попутал ? Секунд ??? Ссылка на комментарий Поделиться на других сайтах Прочее
Наблюдатель Опубликовано 30 Декабря 2004 Жалоба Поделиться Опубликовано 30 Декабря 2004 Подтвердите свои догадки реальными фактамиScript Execution time: 0.0444 Кстати, Яндекс и прочие боты постоянно пасутся у меня на конфе и я не вижу смысла юзать новую фичу Яндекса по поиску на конфах и в блогах - боты делают своё дело и без этого... Зато с RSS, как это сделал Юрисофт, юзеры писают кипятком просматривая новые сообщения через свои агрегаторы. Я юзаю через RSS-плагин к Мозилле - Aggreg8 и... не вижу дат сообщений. Т.е. мне думается, что для повышения комфорта юзера нужно улучшать "вид" отображения в их агрегаторах. Такой продукт вполне можно продавать админам - он будет пользоваться популярностью... Зная позицию Юрисофта по этому вопросу, могу предложить ему стандартный вариант - ex.USSR бесплатно, а остальным за пару баксов (чем дешевле, тем популярней продукт. 30 много, а 1 мало... Ну, м.б. 5 баксов...). Добавлено в [mergetime]1104451233[/mergetime] Здесь код ошибки..., хотя на второй конфе всё проходит на "ура"... (по моей ссылке выше) Я так подозреваю, что это в 211 строке... Но... на одной конфе проходит, а на второй нет. Замечу, что эти конфы "живут" на одном сервере и используют базы данных, тоже с одного сервера... На всякий случай скопирую сюда ошибку...ошибка запроса mySQL: SELECT p.pid, p.author_name, p.post_date, p.topic_id, p.author_id, p.post, t.forum_id, t.title FROM ibf_topics t, ibf_posts p WHERE t.forum_id IN (0,) AND t.approved=1 AND t.state <> 'link' AND p.topic_id=t.tid AND p.queued <> 1 ORDER BY pid DESC LIMIT 75 Ошибка mySQL: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND t.approved=1 AND t.state <> 'link' AND p.topic_id=t.tid AКод ошибки: Когда: 31 Dec 2004 02:52:07Добавлено в [mergetime]1104452509[/mergetime] И ещё... Не отображаются смайлики. Если ссылка на картинку полная, то показ есть, а если такая <img src='style_emoticons/default/4u.gif' border='0' style='vertical-align:middle' alt='4u.gif' />, то нет (т.е. тут сервер не указан и в тексте отображается только поле alt) Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 31 Декабря 2004 Жалоба Поделиться Опубликовано 31 Декабря 2004 А ты циферки не попутал ? Секунд ???именно.Зайди-ка на мой форум посмотри скока тама сообщений. Ну имеется ввиду вместе с временем вывода html в браузер.Добавлено в [mergetime]1104469339[/mergetime] Это понятно. Просто программы которые я использовал для просмотра имели свой интерфейс для доступа в инет и не умели работать с куками. В этом случае не понятно как будет проходить авторизация и зачем она тогда вообще нужно (достаточно использовать права группы гостей). А оказалось, что есть куча прог использующих IE и Мозилу в которых все работает на ура.Админ видит что ему положено, а гость соответственно что положено ему.а при чём тут "программы"? ведь это мод сделан для поисковых машин.А поисковые машины нормально авторизуются. Добавлено в [mergetime]1104470016[/mergetime] Не 3 раза, а 2 разаты забываешь ещё про JOIN который уже есть в стандартном запросе Ссылка на комментарий Поделиться на других сайтах Прочее
Наблюдатель Опубликовано 31 Декабря 2004 Жалоба Поделиться Опубликовано 31 Декабря 2004 Song, интересно, а для чего вообще придуман RSS? Думаю, не для поисковых машин..., а для юзанья именно юзерами и именно через специализированный софт. О нём и речь. Просто сейчас все блоги уже обзавелись своими RSS-лентами, сайты тоже... медлено, но верно, обзаводятся. Время за конфами. Вот здесь у Юрисофта и флаг в руках... Яндекс не отстаёт от тенденций развития инета и предлагает свой сервис, который специально заточен под RSS-ленты сайтов, блогов и конференций. Но главное здесь поиск лент с тем, чтобы юзер мог схватить нужную RSS-ленту и подключиться к ней. А эти RSS-ленты могут быть просмотрены только через агрегаторы - браузеры этих лент. Т.е. всё замыкается именно на агрегатор... Всё остальное (вставка новостей из RSS-ленты на сайт) - вторично. У меня на Арбузе (см. подпись) RSS-лента есть на САЙТЕ, в БЛОГАХ (как в каждом блоге, так и суммирующая), а теперь и на конфе... Кроме этого, я ПОКАЗЫВАЮ на конфе новости с двух RSS-лент (с сайта Арбуз и с сайта Деканат). Т.е. я удовлетворяю юзера почти по всем его информационным потребностям... Не хочешь конфу посещать - не надо... - включи мою ленты и получай на свой агрегатор новые сообщения с... конфы, и/или из блога Наблюдателя или Васи Пупкина... и т.п.... Сорри за многословность - политику описывал, однако... DEBUG::[ UserID: 2 ] [ Script Execution time: 0.0604 ] [ 3 queries used ] Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения