PDA

View Full Version : Printer Friendly Version?


Regnar
Sun 31 January 2010, 09:25
Hi I was just wondering if there is a printer friendly version of the MM forum. I would like to print whole threads. Other forums call it a lite version or mobile. Basically it takes out all the colors except the from photos.

To give an example it look like this from the Home Shop Machinist Forum. http://bbs.homeshopmachinist.net/printthread.php?t=39202&pp=40

Thanks Gerald

Gerald D
Sun 31 January 2010, 09:59
Here:

8386

Regnar
Sun 31 January 2010, 10:36
Thanks Gerald, I was quickly running out of blue ink and the stuff is not cheap.

Gerald D
Sun 31 January 2010, 11:05
Russell, are you seeing the pics in that version? I did see them earlier, but now they only show as links?

Regnar
Sun 31 January 2010, 11:13
Gerald no pictures on my end just links to them.

Gerald D
Sun 31 January 2010, 11:24
Have asked for advice here:
http://www.vbulletin.com/forum/showthread.php?339819-Why-does-Printer-Friendly-version-show-in-line-pics-as-links-only&p=1917867

Regnar
Sun 31 January 2010, 11:30
Gerald was the Printer Version always under thread tools or is this something new?

Gerald D
Sun 31 January 2010, 12:00
It has always been under thread tools - I made no changes because of your request.

Regnar
Sun 31 January 2010, 18:12
Gerald I did a little searching over on the Vbulletin website. I looks like this is the way the program was written. Others are really upset that they cannot view pictures. Most are hoping in Version 4 the problem will be fixed. One member did post this but I didnt read anything to suggest that it works and I really dont know what it does.

I just moved to 3.8 and I find this quite an issue. Our site is pretty image heavy, that's why people come to our site to see the images. I am sure that Jelsoft could provide us with a patch that would allow the Printable version to display images. It shouldn't be that difficult.


For those who can't wait for Jelsoft to come up with a solution on this issue, here is a simple way to enable pictures in the printthread.php.

In printthread.php find:

Code:

$bbcode_parser =& new vB_BbCodeParser_PrintableThread($vbulletin, fetch_tag_list());

Replace that with (or comment that line out and under it add):

Code:

$bbcode_parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());




Should mention that the version I linked as an example has "Powered by vBulletin Version 3.5.4"

Gerald D
Sun 31 January 2010, 20:08
Thanks for doing the homework Russell!

I will look deeper into it once I am more awake later this morning.

Gerald D
Sun 31 January 2010, 22:49
I made that change to printthread.php, but I notice no difference in the display.

The official response seems to be "Currently Printthread is working as designed. It is not designed to include images at this time. You would have to wait until the feature is rewritten, it is not a bug that will be fixed in a patch."

I am afraid that we are snookered.

Gerald D
Mon 01 February 2010, 02:35
<?php
/*================================================= =====================*\
|| ################################################## ################## ||
|| # vBulletin 3.8.3 - Licence Number ******|| # ------------------------------------------------------------- # ||
|| # Copyright ©2000-2009 Jelsoft Enterprises Ltd. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| ################################################## ################## ||
\*================================================ ======================*/
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'printthread');
define('CSRF_PROTECTION', true);
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array('showthread', 'postbit');
// get special data templates from the datastore
$specialtemplates = array(
'smiliecache',
'bbcodecache'
);
// pre-cache templates used by all actions
$globaltemplates = array(
'printthread',
'printthreadbit',
'printthreadbit_ignore',
'bbcode_code_printable',
'bbcode_html_printable',
'bbcode_php_printable',
'bbcode_quote_printable',
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
require_once(DIR . '/includes/class_bbcode_alt.php');
require_once(DIR . '/includes/functions_bigthree.php');
// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
$vbulletin->input->clean_array_gpc('r', array(
'perpage' => TYPE_UINT,
'pagenumber'=> TYPE_UINT
));
($hook = vBulletinHook::fetch_hook('printthread_start')) ? eval($hook) : false;
// oldest first or newest first
if ($vbulletin->userinfo['postorder'] == 0)
{
$postorder = '';
}
else
{
$postorder = 'DESC';
}
if ($vbulletin->options['wordwrap'])
{
$threadinfo['title'] = fetch_word_wrapped_string($threadinfo['title']);
}
if (!$threadinfo['threadid'] OR (!$threadinfo['visible'] AND !can_moderate($threadinfo['forumid'], 'canmoderateposts')) OR $threadinfo['isdeleted'] OR (in_coventry($threadinfo['postuserid']) AND !can_moderate($threadinfo['forumid'])))
{
eval(standard_error(fetch_error('invalidid', $vbphrase['thread'], $vbulletin->options['contactuslink'])));
}
$forumperms = fetch_permissions($threadinfo['forumid']);
if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) OR !($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewthreads']))
{
print_no_permission();
}
if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewothers']) AND ($threadinfo['postuserid'] != $vbulletin->userinfo['userid'] OR $vbulletin->userinfo['userid'] == 0))
{
print_no_permission();
}
if ($threadinfo['open'] == 10)
{
exec_header_redirect('printthread.php?' . $vbulletin->session->vars['sessionurl_js'] . "t=$threadinfo[pollid]");
}
// check if there is a forum password and if so, ensure the user has it set
verify_forum_password($foruminfo['forumid'], $foruminfo['password']);
// split thread over pages if necessary
$countposts = $db->query_first_slave("
SELECT COUNT(*) AS total
FROM " . TABLE_PREFIX . "post AS post
WHERE threadid=$threadinfo[threadid] AND visible=1
");
$totalposts = $countposts['total'];
$vbulletin->GPC['perpage'] = sanitize_maxposts($vbulletin->GPC['perpage']);
$maxperpage = sanitize_maxposts(-1);
if ($vbulletin->GPC['pagenumber'] < 1)
{
$vbulletin->GPC['pagenumber'] = 1;
}
$startat = ($vbulletin->GPC['pagenumber'] - 1) * $vbulletin->GPC['perpage'];
$pagenav = construct_page_nav($vbulletin->GPC['pagenumber'], $vbulletin->GPC['perpage'], $totalposts, 'printthread.php?' . $vbulletin->session->vars['sessionurl'] . "t=$threadinfo[threadid]", '&amp;pp=' . $vbulletin->GPC['perpage']);
// end page splitter
//$bbcode_parser =& new vB_BbCodeParser_PrintableThread($vbulletin, fetch_tag_list());
$bbcode_parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());

$ignore = array();
if (trim($vbulletin->userinfo['ignorelist']))
{
$ignorelist = preg_split('/( )+/', trim($vbulletin->userinfo['ignorelist']), -1, PREG_SPLIT_NO_EMPTY);
foreach ($ignorelist AS $ignoreuserid)
{
$ignore["$ignoreuserid"] = 1;
}
}
$posts = $db->query_read_slave("
SELECT post.*,post.username AS postusername,user.username
FROM " . TABLE_PREFIX . "post AS post
LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = post.userid)
WHERE post.threadid=$threadid AND post.visible=1
ORDER BY dateline $postorder
LIMIT $startat, " . $vbulletin->GPC['perpage'] . "
");
$postbits = '';
while ($post = $db->fetch_array($posts))
{
// hide users in Coventry from non-staff members
if ($tachyuser = in_coventry($post['userid']) AND !can_moderate($threadinfo['forumid']))
{
continue;
}
if ($tachyuser)
{
$show['adminignore'] = true;
$maintemplatename = 'printthreadbit_ignore';
}
else if ($ignore["$post[userid]"])
{
$show['adminignore'] = false;
$maintemplatename = 'printthreadbit_ignore';
}
else
{
$maintemplatename = 'printthreadbit';
}
$post['postdate'] = vbdate($vbulletin->options['dateformat'], $post['dateline']);
$post['posttime'] = vbdate($vbulletin->options['timeformat'], $post['dateline']);
if ($vbulletin->options['wordwrap'])
{
$post['title'] = fetch_word_wrapped_string($post['title']);
}
if (!$post['userid'])
{
$post['username'] = $post['postusername'];
}
$post['message'] = $bbcode_parser->parse($post['pagetext'], 'nonforum', false);
($hook = vBulletinHook::fetch_hook('printthread_post')) ? eval($hook) : false;
eval('$postbits .= "' . fetch_template($maintemplatename) . '";');
}
($hook = vBulletinHook::fetch_hook('printthread_complete')) ? eval($hook) : false;
eval('print_output("' . fetch_template('printthread') . '");');
/*================================================= =====================*\
|| ################################################## ##################
|| # Downloaded: 15:28, Fri Jul 17th 2009
|| # CVS: $RCSfile$ - $Revision: 26399 $
|| ################################################## ##################
\*================================================ ======================*/
?>

Gerald D
Mon 01 February 2010, 02:38
Above is the complete printthread.php as it stands now. You can see the edit at the red/blue

Regnar
Mon 01 February 2010, 09:28
Still no pictures. Thank You for trying. This might be a good thing as well. Then I can print out the pictures that I find helpful and not waste anymore color ink. I have a HP printer and I think it is cheaper to go out and buy a new printer each time I run out of ink.

sailfl
Mon 01 February 2010, 12:21
Yea, I dumped my HP for a Canon. The ink is cheaper. The pictures don't need to be in color, use BW.

WTI
Tue 02 February 2010, 11:46
Everyone laughs that I don't have a color printer...

...until I tell them that I have NEVER needed to buy a new laser toner cartridge
the toner does not dry up if I don't print anything for a few weeks
the printer never refuses to print a black and white document because it's out of yellow ink
I never need to run a "head cleaning cycle" that uses up 1/4 of the ink cartridge
laser toner is easy to "iron-on" to circuit boards to etch the copper
laser toner is wax- so it's waterproof....