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

Экcпорт последних тем на другой сайт


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

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

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

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

Возращаясь к ошибке - не найдете ли время пофиксить?

 

попробовать так

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

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

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

 

Для тех кому не нужны кэшированные значения

находим

$fp_create = fopen("./export.js", 'w+');

@$fw = fwrite($fp_create, $html_buffer);

fclose($fp_create);

заменяем на

echo $html_buffer;

 

вызываем скрипт так

<script language='JavaScript' src='http://faq.pp.ru/export.php'></script>

вместо faq.pp.ru полный путь к скрипту

 

 

=======================================================

4 столбца в 2 (т.е. |топик|автор| )

находим

$html_buffer.=<<<EOF

{$open_js} <td valign=\"middle\" width=\"40%\" class=\"small\"><a href=\"{$this->url_forum}?act=ST&f={$sql->forum_id}&t={$sql->topic_id}\" onmouseover=\"return overlib('Сообщение:<BR/><b>{$sql->post}</b>')\" onmouseout=\"return nd();\">{$sql->title}</a> ответов {$sql->posts}</td>{$close_js}

{$open_js} <td valign=\"middle\" width=\"10%\" class=\"small\">{$sql->starter_name}</td>{$close_js}\r\n

EOF;

-----------------Меняем на

$html_buffer.=<<<EOF

{$open_js}<td valign=\"middle\" width=\"40%\" class=\"small\"><a href=\"{$this->url_forum}?act=ST&f={$sql->forum_id}&t={$sql->topic_id}\" onmouseover=\"return overlib('Сообщение:<BR/><b>{$sql->post}</b>')\" onmouseout=\"return nd();\">{$sql->title}</a> ответов {$sql->posts} автор{$open_js}{$sql->starter_name}</td>{$close_js}\r\n

EOF;

Добавлено в [mergetime]1102605388[/mergetime]

Как в один столбец чтоб отображало то?

пишу на вскидку

==ищем этот блок==========

while ($sql = mysql_fetch_object ($result))

{

if($td_open==0)

{

$html_buffer.="{$open_js} <tr>\");\r\n";

}

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

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

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

$html_buffer.=<<<EOF

{$open_js} <td valign=\"middle\" width=\"40%\" class=\"small\"><a href=\"{$this->url_forum}?act=ST&f={$sql->forum_id}&t={$sql->topic_id}\" onmouseover=\"return overlib('Сообщение:<BR/><b>{$sql->post}</b>')\" onmouseout=\"return nd();\">{$sql->title}</a> ответов {$sql->posts}</td>{$close_js}

{$open_js} <td valign=\"middle\" width=\"10%\" class=\"small\">{$sql->starter_name}</td>{$close_js}\r\n

EOF;

if($td_open==1)

{

$html_buffer.="{$open_js} </tr>{$close_js}\r\n";

$td_open=-1;

}

$td_open++;

}

 

==конец=============

 

==меняем его на========

while ($sql = mysql_fetch_object ($result))

{

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

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

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

$html_buffer.="{$open_js} <tr>\");\r\n";

$html_buffer.=<<<EOF

{$open_js} <td valign=\"middle\" width=\"40%\" class=\"small\"><a href=\"{$this->url_forum}?act=ST&f={$sql->forum_id}&t={$sql->topic_id}\" onmouseover=\"return overlib('Сообщение:<BR/><b>{$sql->post}</b>')\" onmouseout=\"return nd();\">{$sql->title}</a> ответов {$sql->posts}</td>{$close_js}

{$open_js} <td valign=\"middle\" width=\"10%\" class=\"small\">{$sql->starter_name}</td>{$close_js}\r\n

EOF;

$html_buffer.="{$open_js} </tr>{$close_js}\r\n";

}

===================

 

далее находим

====================

{$open_js} <tr>{$close_js}

{$open_js} <td vAlign=\"top\" align=\"left\" colspan=\"2\" class=\"big\">{$this->my_forum}</td>{$close_js}

{$open_js} <td vAlign=\"top\" align=\"right\" colspan=\"2\" class=\"copyright\"><a class=\"none_d\" href='http://ibresource.ru'><span class=\"copyright\">IBR TEAM ©</a></td>{$close_js}

{$open_js} </tr>{$close_js}\r\n

=конец===============

 

 

меняем на==============

{$open_js} <tr>{$close_js}

{$open_js} <td vAlign=\"top\" align=\"left\" colspan=\"2\" class=\"big\">{$this->my_forum} <a class=\"none_d\" href='http://ibresource.ru'><span class=\"copyright\">IBR TEAM ©</a></td>{$close_js}

{$open_js} </tr>{$close_js}\r\n

=конец================

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

  • 3 недели спустя...
У меня на локалке стоит IPB 2.0.3 (русский). После загрузки странички со вставленной ссылочкой на js все замечательно отображается ( сделал по прочитанным вверху хелпам в один столбец) , т е все работает по отображению прекрасно .. но .... когда я пытаюсь зайти по ссылке на последний топик из выведенной табличке то получаю от форума "Ссылка, по которой Вы попали на эту страницу является битой или удалённой." . Посмотрел оказывается все ссылки без исключения направляют на http://netportal/forum/index.php?act=ST&f=&t= , и соответственно не могу перейти в нужный топик. Как это лечить ? Заранее благодарю за совет.
Ссылка на комментарий
Поделиться на других сайтах

Приветствую всех!

Захотел создать блок для РНР-нуке 7.3. форум у меня IPB 2.0

Всё что можно у вас перечитал и сделал так: создал новый блок с таким содержанием:

<img src="http://мой_сайт/export.php" width="1" height="1">
<script language=''JavaScript'' src=''http://мой_сайт/export.js''></script>

И в итоге ничего.. абсолютно.. путой блок, как будто его и нет..

Потом попробовал другой вариант.. Файл export.php кинул как блок и админке создал новый блок на основе этого файла, и... и опять ничего..

Скажите, как это можно сделать для форума 2.0 и РНР-нуке..

Подобный мод у меня прекрасно шел с форумом 1.3. а на этом не пашет ну вапще никак.

ПОМОГИТЕ!!!!!!

Добавлено в [mergetime]1103951759[/mergetime]

Кстати, в файле export.js записи появились.. мне бы теперь вывести их в блок РНР-нуке.

Народ, ХЕЛПАНИТЕ!!!

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

когда я пытаюсь зайти по ссылке на последний топик из выведенной табличке то получаю от форума "Ссылка, по которой Вы попали на эту страницу является битой или удалённой." . Посмотрел оказывается все ссылки без исключения направляют на http://netportal/forum/index.php?act=ST&f=&t= , и соответственно не могу перейти в нужный топик. Как это лечить ?

 

Неправильно "заполнена" эта переменная!!!

var $url_forum ='http://ВАШ_САЙТ/ВАШ_ФОРУМ/index.php';//полный путь до скрипта форума!!! index.php на конце обязательно!!!

 

Вполне возможно должно быть http://netportal.ru/forum/index.php

вместо .ru (ВАШ домен 1-го уровня)

 

=========================================================

по второгому вопросу

1-ое посмотреть какие атрибуты у файла export.js, попробуйте ftp менеджером присвоить 777

2-ое зайти браузером на http://мой_сайт/export.php, ftp менеджером посмотреть изменился ли файл export.js? нет ли в нем последних сообщений вашего форума.

 

третий вариант, изменить режим работы скрипта! Что бы сам скрипт в браузер скидывал сообщения, минуя файл export.js

 

вызываем скрипт так!!!

<script language='JavaScript' src='http://faq.pp.ru/export.php'></script>

вместо faq.pp.ru полный путь к скрипту расположенном на вашем сайта

изменить
$sql->post=substr($sql->post,0,200);
$sql->post=str_replace( "'" , '',$sql->post);
$sql->post=str_replace("'", '', $sql->post);

Для тех кому не нужны кэшированные значения
находим!!!
$fp_create = fopen("./export.js", 'w+');
@$fw = fwrite($fp_create, $html_buffer);
fclose($fp_create);
заменяем на!!!
echo $html_buffer;

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

А по моему вопросу как? Мне что сделать?

 

 

Читай предыдущий топик начиная от

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

Valera :

Все заполнено правильно , у нас маленькая локалочка (200 человек всего) на свичах , даже домена нет :D Так что проблема по прежнему актуальна ! Может быть какой либо нестык с версией 2.0.3 ?

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

Valera

Я все это делал. и 777 ставил и все остальное.. в скрипт сообщения записываются, однако в блоке они не выводятся..

Есть другие мысли?

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

в скрипт сообщения записываются, однако в блоке они не выводятся..

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

 

Может быть какой либо нестык с версией 2.0.3 ?

Не должно быть!!!

 

Можно еще попробовать сделать вот что,

после строки где написано маэскул коннект написать

echo "SELECT p.forum_id, p.topic_id, t.title, t.starter_name, t.posts, t.last_poster_name, p.post, f.id, f.read_perms
FROM {$this->table_prefix}posts p, {$this->table_prefix}topics t, {$this->table_prefix}forums f
WHERE p.new_topic =1 AND p.topic_id = t.tid AND p.forum_id = f.id AND f.read_perms = '*' 
ORDER BY p.topic_id DESC 
LIMIT {$this->number_topic};";

зайти браузером на экспорт.пхп, скрипт должен вывести запрос к базе, скопировать запрос и вставить его mysqladmin и посмотреть на возникающие ошибки.

 

чтобы темы в новом окне открывались?

           <td bgColor="#fbfbfd" valign="middle" width="50%"><font face="verdana,arial,helvetica" size="1">{$sql->starter_name} пишет:<br/>{$sql->title}<br/>{$sql->post}<br/><a href="{$this->url_forum}?act=ST&f={$sql->forum_id}&t={$sql->topic_id}">читать далее...</a> ответов {$sql->posts}</font></td>

исправить на

           <td bgColor="#fbfbfd" valign="middle" width="50%"><font face="verdana,arial,helvetica" size="1">{$sql->starter_name} пишет:<br/>{$sql->title}<br/>{$sql->post}<br/><a href="{$this->url_forum}?act=ST&f={$sql->forum_id}&t={$sql->topic_id}" target="_blank">читать далее...</a> ответов {$sql->posts}</font></td>

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

зайти браузером на экспорт.пхп, скрипт должен вывести запрос к базе, скопировать запрос и вставить его mysqladmin и посмотреть на возникающие ошибки.

 

загружаю export.php , получаю такой запрос :

 

SELECT p.forum_id, p.topic_id, t.title, t.starter_name, t.posts, t.last_poster_name, p.post, f.id, f.read_perms FROM ibf_posts p, ibf_topics t, ibf_forums f WHERE p.new_topic =1 AND p.topic_id = t.tid AND p.forum_id = f.id AND f.read_perms = '*' ORDER BY p.topic_id DESC LIMIT 8;

 

Вставляю его в mysql-front (я думаю ведь без разницы куда его вставлять) , на что сервер возвращает ошибку : Unknown column 'p.forum_id' in 'field list'

 

Народ , у кого-нибудь этот скрипт заработал под 2.0.3 версией форума ??

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

Кинь сюда структуру таблицы ibf_posts

==========

об ошибке,

пишет что в таблице ibf_posts нет поля forum_id

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

Вот поля таблицы ibf_posts :

 

pid , append_edit , edit_time , author_id , author_name , use_sig , use_emo , ip_adress , post_date , icon_id , post , queued , topic_id , post_title , new_topic , edit_name , post_parent , post_key , post_htmlstate .

 

Поля forum_id тут как и предполагалось нет , но такое поле есть в таблице ibf_topics .

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

А такой запрос что выводит?

 

SELECT p.topic_id, t.title, t.starter_name, t.posts, t.last_poster_name, p.post, f.id, f.read_perms FROM ibf_posts p, ibf_topics t, ibf_forums f WHERE p.new_topic =1 AND p.topic_id = t.tid AND f.read_perms = '*' ORDER BY p.topic_id DESC LIMIT 8;

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

Спасибо, скачал буду разбираться.

 

Странно после конвертации база весившая 23 мега (версия форума 2.0.0), стала весить 50 мег!!!

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

2.0.0

 

  	 

$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};");

 

2.0.3 (реактивный запрос)

$result = mysql_db_query ($this->db_database,"
SELECT p.topic_id,t.forum_id, t.title, t.starter_name, t.posts, t.last_poster_name, p.post
FROM {$this->table_prefix}posts p, {$this->table_prefix}topics t
WHERE p.new_topic=1
AND p.topic_id = t.tid
AND t.state='open'
ORDER BY p.post_date DESC
LIMIT 0 , {$this->number_topic};");

 

2.0.3 c сортировкой по дате обновления темы (быстрый запрос)

$result = mysql_db_query ($this->db_database,"SELECT p.topic_id,t.forum_id, t.title, t.starter_name, t.posts, t.last_poster_name, t.last_post, p.post
FROM {$this->table_prefix}posts p, {$this->table_prefix}topics t
WHERE p.new_topic=1
AND p.topic_id = t.tid
AND t.state='open'
ORDER BY p.post_date DESC, t.last_post DESC
LIMIT 0 , {$this->number_topic};
");

 

в t.forum_id идентификатор форума, при необходимости добавить AND t.forum_id!='ид_запрещенного_форума'

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

Спасибо за проделанную работу теперь все работает как надо ! Но есть еще пара вопросов :

1. Что можно сделать с некорректной обработкой смайлов в альте ссылки на топик ? То есть можно ли сделать так , чтобы в альте смайл либо отображался либо вообще не обрабатывался ?

2. Можно ли сделать , чтобы имя создавшего тему было ссылкой на его профайл и в альте отображалось например количество его постов на форуме ?

 

sql запрос можно позаимстовать отсюда,

экспорт тем в html файл

после корректировки скрипта будет выводить ссылку на профиль.

 

А надо ли гостям форума знать у кого сколько постов? :D

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

  • 3 недели спустя...

Valera

как вывести дату перед топиком и вместо автора топика вывести автора последнего сообщения?

 

Спасибо :D

Добавлено в [mergetime]1106819210[/mergetime]

2.0.3 c сортировкой по дате обновления темы (быстрый запрос)

с этим запросом выдает ошибку страницы Error: Expected ')'

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

Добавить в запрос поле start_date, это дата когда тема была начата.

 

=============================================

2.0.3 c сортировкой по дате обновления темы (быстрый запрос)

кстати last_post есть дата последнего сообщения в теме,

last_poster_name имя автора последнего сообщения в теме.

=============================================

 

 

с этим запросом выдает ошибку страницы Error: Expected ')'

А где эта ошибка? :D

Кстати, а вы линк на ибресурс и копирайт из скрипта не убрали? ;)

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

  • 2 недели спустя...
QUOTE

чтобы темы в новом окне открывались?

 

 

 

CODE

 

        <td bgColor="#fbfbfd" valign="middle" width="50%"><font face="verdana,arial,helvetica" size="1">{$sql->starter_name} пишет:<br/>{$sql->title}<br/>{$sql->post}<br/><a href="{$this->url_forum}?act=ST&f={$sql->forum_id}&t={$sql->topic_id}">читать далее...</a> ответов {$sql->posts}</font></td>

 

 

 

исправить на

 

CODE

 

        <td bgColor="#fbfbfd" valign="middle" width="50%"><font face="verdana,arial,helvetica" size="1">{$sql->starter_name} пишет:<br/>{$sql->title}<br/>{$sql->post}<br/><a href="{$this->url_forum}?act=ST&f={$sql->forum_id}&t={$sql->topic_id}" target="_blank">читать далее...</a> ответов {$sql->posts}</font></td>

 

Странно но то что необходимо заменить я так и ненашёл в скрипте!

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

  • 2 недели спустя...

Скачал, очень понравилось, то что нужно!

Автору респект.

 

Только вот что это за дикий способ запускать php-скрипт через img?

Не лучше ли делать так:

По крайней мере через img у меня не работало, а вот - так - на ура.

Добавлено в [mergetime]1109736093[/mergetime]

Кстати <script language='JavaScript' src='http://faq.pp.ru/export.php'></script> не работает.

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


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

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

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