Перейти к контенту
  • 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();

?>

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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