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

Скачивание темы


ОблачкО

Вопрос

Пытаюсь скачать тему в формате HTML. В результате скачиваются только первые 15 страниц темы из имеющихся 405. Как скачать всю тему целиком?
Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

То же самое! Из более чем 8000 ответов в топике в версии для печати присутствуют только первые 300 ответов.

 

При скачивании темы тоже скачиваютсят только первые 300 ответов.

 

Как СОХРАНИТЬ ВЕСЬ топик?

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

  • 0

theIggs

А URL есть?..

 

В Экслеровском форуме такая же фигня. Н-р, в теме где более 1000 ответов: http://forum.exler.ru/index.php?showtopic=41276, я могу сохранить (или вывести на печать) только первые 300 ответов.

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

  • 0

В общем, действительно, число постов принудительно ограничено в коде.

В sources/misc/print_page.php находим

$max_posts = 300;

и меняем на число побольше...

Или можно просто

ORDER BY pid LIMIT 0, ".$max_posts);

поменять на

ORDER BY pid");

сняв вообще любое ограничение.

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

  • 0

Сорри, что поднимаю тему, но я по ходу жизни форума "Шанса" 3 раза пытался решить эту проблему, но проблема, увы, не решилась...

Заменяю на

ORDER BY pid");

 

и получаю:

 

Parse error: syntax error, unexpected T_STRING in /home/shansua/public_html/forum/sources/misc/print_page.php(404) : regexp code on line 1

Fatal error: preg_replace(): Failed evaluating code: (FLASH MOVIE) in /home/shansua/public_html/forum/sources/misc/print_page.php on line 404

 

а в самом пхпшнике в этом месте:

		$message = preg_replace( "#<!--Flash (.+?)-->.+?<!--End Flash-->#e"						 , "(FLASH MOVIE)" , $message );
	$message = preg_replace( "#<img src=[\"'](\S+?)['\"].+"."?".">#"							, "(IMAGE: \\1)"   , $message );
	$message = preg_replace( "#<a href=[\"'](http|https|ftp|news)://(\S+?)['\"].+?".">(.+?)</a>#"  , "\\1://\\2"	 , $message );
	$message = preg_replace( "#<a href=[\"']mailto:(.+?)['\"]>(.+?)</a>#"					   , "(EMAIL: \\2)"   , $message );

 

и вот еще - в одной теме вроде бы начало срабатывать, НО:

 

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@shans-ua.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Тема на 210 страниц по 25 сообщений. :D Но все же...

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

  • 0
В общем, действительно, число постов принудительно ограничено в коде.

В sources/misc/print_page.php находим

$max_posts = 300;

и меняем на число побольше...

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

 

Сделал заплатку, позволяющую при необходимости разово обойти ограничения:

Перед кодом:

$max_posts = 300;

добавил:

if(IsSet($ibforums->input['limit']))
$max_posts = $ibforums->input['limit'];
else

Теперь при обычной попытке скачать/распечатать топик действует ограничение в 300 постингов.

Но если в конец адресной строки браузера добавить &limit=1000 - скачается/распечатается уже 1000 сообщений...

Очевидно наверное, что пользователям я об этом не сообщал. :D

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

  • 0
Это не есть хорошо - риск перегрузки сервера, если все подряд начнут скачивать огромные топики.

 

Сделал заплатку, позволяющую при необходимости разово обойти ограничения:

Перед кодом:

$max_posts = 300;

добавил:

if(IsSet($ibforums->input['max_posts']))
$max_posts = $ibforums->input['max_posts'];
else

Теперь при обычной попытке скачать/распечатать топик действует ограничение в 300 постингов.

Но если в конец адресной строки браузера добавить &limit=1000 - скачается/распечатается уже 1000 сообщений...

Очевидно наверное, что пользователям я об этом не сообщал. ;)

 

Да, спасибо огромное! Разобрался в коде. Насчет 3-го моего пункта ты точно сказал - "перегрузка" сервера.

Только вот: &max_posts=1000, потому как переменная-то max_posts :D .

А что по поводу кодов 1 и 2, приведенных выше? Не ясно, в чем ошибки. Я закомментил во 2-ом коде все строки и заработало. Но там же ж явно для чего-то строки эти нужны?

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

  • 0

Извинения, была ошибка в коде, исправил.

 

Идея вот в чем:

Сначала происходит проверка, задано ли значение limit в адресной строке браузера:

if(IsSet($ibforums->input['limit']))

Если задано, выполняется присвоение переменной $max_posts значения из адресной строки:

$max_posts = $ibforums->input['limit'];

Если же limit в адресной строке браузера не задан, по else переменная $max_posts получает дефолтное значение 300.

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

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

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

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

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

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

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

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

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

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

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

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