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

RSS лента в виде js


Чиж

Вопрос

Люди, нужна помощь по RSS. Хочу вставить темы с форума в сайт html. У кого есть опыт? Наткнулся на скрипт, который переделывает темы с форума для html, но нужен формат js. Где взять ссылку форума на этот формат. С чужого форума вставляю ссылку типа http://форум/export.php?type=js все работает. В этом же форуме типовая ссылка в формате RSS выглядит так http://форум/export.php?type=rss. Моя же ссылка в RSS формате выглядит так http://форум/index.php?act=rssout&id=1. Как будет выглядеть ссылка в формате js у меня на форуме?
Ссылка на комментарий
Поделиться на других сайтах

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

  • 0
Чтобы вставить на страницы js, вставляемый файл должен быть на js: строки выводить через
document.write('выводимая строка без кавычек, использующихся в коде, в данном примере одинарные кавычки');

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

  • 0

Подробней, по-моему, некуда...

Задавайте конкретный вопрос. Если затыки с js - попробую помочь.

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

  • 0

Форумы IPB поддерживают новостную ленту в различных форматах. Как передать ленту в формате rss мне понятно. У себя на форуме беру ссылку http://форум/index.php?act=rssout&id=1 и вставляю в RSS приемник.

Не ясно как передать ленту в формате js.

Если исходить из Ваших рекомендаций,

вставляемый файл должен быть на js

то файл с форума уже передается в этом формате.

Как заставить форум передавать ленту в формате js?

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

  • 0
Как заставить форум передавать ленту в формате js?

Найти, где собирается HTML-код ленты, добавить парсинг одинарных кавычек на \' , и сделать добавление кода js в начало и конец каждой строки, чтобы получалась команда вывода текста.

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

  • 0
А что такое "формат js"? :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Если я правильно понял, топикстартер хочет вставлять на сайт кодом типа:

<script src="http://сайт.ру/форум/rss.php?type=js" type="text/javascript"></script>

Я и пишу, что rss.php должен отдавать каждую строку, обрамленную открывающим document.write(' и закрывающим '); и при этом слешить одинарные кавычки в тексте, чтобы не было ошибки джаваскрипт.

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

  • 0
FatCat, я с этом-то как раз согласен, всё верно обсуждаете, просто хотелось бы это от топикстартера услышать :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Найти, где собирается HTML-код ленты, добавить парсинг одинарных кавычек на \' , и сделать добавление кода js в начало и конец каждой строки, чтобы получалась команда вывода текста.
:D;):)

Ну конечно же речь о JavaScript. В одном из форумов нашел идею, но она сырая или я что-то не так делаю. Даю ссылку.

http://help.ibresource.ws/viewtopic.php?id=6

Соль в следующем, если приведенный скрипт вставить в хтмл-страничку, с сылкой на этот форум, то результат достигнут.

Как реализовать мне аналогичную ссылку на своем форуме?

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

  • 0

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

http://www.portal.kharkov.ua/soft/js-export.zip

 

Может есть спецы, кто прикрутит этот плагин к форуму?

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

  • 0
Есть отличный плагин для Wordpress

Есть не менее отличный плагин для IPB 1.х.

В действии можно посмотреть например на http://vesvalo.net/export.php

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

  • 0
FatCat, я рад, что меня поняли. Спасибо за помощь и терпение. На днях опробую на версии 2.3.5 этот плагин.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
FatCat, а что на счет безопасности в этом случае? Мы предоставляем прямой доступ к базе данных со всеми паролями и прочим? Или я ошибаюсь?
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Разве не существует возможность считать содержимое файла php? Для чего же тогда IP.Board рекомендует закрывать исполняемые файлы паролем?

 

О плагине. Возмоно я что-то делаю неправильно, но на страничке html не хочет появлятся всплывающее окно, если импортируемые заголовки тем с форума располагаются в правой части страницы. Точнее, если всплывающее окно вылазит за пределы экрана, то оно не появляется. Теоретический этого не должно быть, т.к. в файле overlib_mini.js определяется местоположение окна и если оно попадает на правый край, то окно должно всплывать слева. И ишо одна проблемка. Убрал таблицу, но никак не могу сократить расстояние между заголовком и первой имортируемой темой с форума. Этот промежуток где-то устанавливается в файле overlib_mini.js.

 

Пример здесь

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

  • 0

Смотрел Оперой 8 и 9, файерфоксом 2 и 3, ИЕ 6...

Во всех работает. И во всех трех свои глюки.

В Опере всплывает строка перехода и закрывает первую строку хинта; в файерфоксе хинт всплывает в довольно неожиданном месте: далеко внизу и правее; в ИЕ6 хинт уползает под нижележащий div...

 

Похоже, где-то стили конфликтуют.

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

  • 0

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

Чиж, паролем закрыта, вроде как, только админка. А что касается прочтения исполняемых файлов, то если можно будет прочитать этот файл, то что помещает сразу прочитать conf_global.php? ;) Так что дополнительных дыр это не создаёт, FatCat не просто так про входящие параметры сказал.

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

  • 0

В общем, плагин напильнику не поддался, слишком много лишнего в файле overlib_mini.js. Порубил топором. В результате заголовки тем с форума прекрасно выводятся на первую страницу html. Без конфликтов и ошибок.

Удалил файл overlib_mini.js и значительно упростил файл export.php. Может кому-нибудь и пригодится мой способ. Гуру, просмотрите на ошибки, может что еще сократиться.

 

Содержимое файла export.php

<?php

 

class ibf_news_to_js {

var $db_host ='localhost';

var $db_database='root';//имя базы данный

var $db_user ='uzer'; //юзер базы данных

var $db_pass ='parol'; //пароль базы данных

var $url_forum ='http://www.ваш сайт/index.php';//полный путь до скрипта форума!!! index.php на конце обязательно!!!

var $number_topic=10;//сколько новых тем экспортировать

var $table_prefix='ibf_';//префикс таблиц

 

function write_js()

{

$access="";

if($this->deny_forums!="")

{

$this->denys_forums=explode (",", $this->deny_forums);

$i=0;

while($this->denys_forums[$i])

{

$access.= " AND (t.forum_id != '".$this->denys_forums[$i]."')";

$i++;

}

}

$open_js='document.write("';

$close_js='");';

 

mysql_connect ($this->db_host, $this->db_user, $this->db_pass);

$result = mysql_db_query ($this->db_database,"SELECT t.tid,t.title,t.description,t.starter_name,t.posts,p.post

FROM {$this->table_prefix}topics t, {$this->table_prefix}posts p

WHERE state='open' AND t.tid=p.topic_id AND p.new_topic='1' {$access}

ORDER BY t.last_post DESC LIMIT 0 , {$this->number_topic};");

$td_open=0;//если 0 тогда тег <tr> открыть

if(mysql_num_rows($result))

{

while ($sql = mysql_fetch_object ($result))

{

if($td_open==0)

$sql->post=strip_tags($sql->post);

$sql->post=substr($sql->post,0,200);

$sql->post=str_replace("'", "", $sql->post);

$html_buffer.=<<<EOF

{$open_js}<a href=\"{$this->url_forum}?showtopic={$sql->tid}&view=getnewpost\"> {$sql->title}</a><br />{$close_js}

{$open_js} автор {$sql->starter_name}, ответов {$sql->posts}<br />{$close_js}

\r\n

EOF;

if($td_open==1)

{

$td_open=-1;

}

$td_open++;

}

mysql_free_result ($result);

if($td_open==1)

{

$html_buffer.=<<<EOF

\r\n

EOF;

}

}

$html_buffer=str_replace("\n","\r\n",$html_buffer);

$html_buffer=str_replace("\r\n\r\n","\r\n",$html_buffer);

$fpotok = fopen($_SERVER["DOCUMENT_ROOT"]."/forums/export.js", 'w') or die("Не могу открыть файл");

@chmod($fpotok, 0666);

flock($fpotok,2) or die("Невозможно заблокировать файл"); // блокируем файл

fwrite($fpotok, $html_buffer,strlen($html_buffer));

fclose($fpotok);

}

}

 

$ibf_news_to_js=new ibf_news_to_js;

$ibf_news_to_js->write_js();

?>

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

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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