1 (edited by 2008-08-18 19:58:18)

Topic: [HACK] Printing your CuteNews articles

Name: Printing your CuteNews articles
Author: demas
CuteNews Compatibility: 1.3.6 - * (no incompatibility reported yet)
Description: I guess the title says it all.
An alternative can be found here
Instructions:

First of all you would need to create a file printphp.php and put it in the CuteNews root folder

<div align="right">[url=java script:window.close()]Close[/url] [url=java script:window.print()]Print[/url]</div><?php 

/*PHPrint - This file is printphp.php
Make any Page Printer Friendly! Version 2.0 - With error handling
// After installation, you can remove text from here down to the next: 8< ---->
// Back up/copy this file first.

1. Save this script in the root of the site for simplicity.
2. Place <!-- startprint --> somewhere in your HTML page where you consider 
it to be the start of printer friendly content, and <!-- stopprint --> goes at the end
of that same content.
3. You place a link to phprint.php anywhere on the HTML page (preferably outside the printed content,
like this: [url=/phprint.php]Print this page[/url]
- or however you like, just as long as you link to this script. */

// If you've already tested, you can remove the text from here up to the other: 8< ---->

//Do you want to strip images from the printable output?
// If no, change to "no". Otherwise, images are stripped by default.
$stripImages = "no";

//what's the base domain name of your site, without trailing slash? 
// Just the domain itself, so we can fix any relative image and link problems.
$baseURL="Your web site url goes here"; 

// That's it! No need to go below here. Upload it and test by going to yoursite.com/page.php
// (The page containing the two tags and a link to this script)
// -----------------------------------------------------

$startingpoint = "<!-- startprint -->";
$endingpoint = "<!-- stopprint -->";
// let's turn off any ugly errors for a sec so we can use our own if necessary...
error_reporting(0);
// $read = fopen($HTTP_REFERER, "rb") ... this line may work better if you're using NT, or even FreeBSD
$read = fopen($HTTP_REFERER, "r") or die("
<font face=\"Verdana\">Sorry! There is no access to this file directly. You must follow a link. 

Please click your browser's back button. </font>

");
// let's turn errors back on so we can debug if necessary
error_reporting(1);

$value = "";
while(!feof($read)){
$value .= fread($read, 10000); // reduce number to save server load
}
fclose($read);
$start= strpos($value, "$startingpoint"); 
$finish= strpos($value, "$endingpoint"); 
$length= $finish-$start;
$value=substr($value, $start, $length);

function i_denude($variable) {
return(eregi_replace("<img src=[^>]*>", "", $variable));
}
function i_denudef($variable) {
return(eregi_replace("<font[^>]*>", "", $variable));
}

$PHPrint = ("$value");
if ($stripImages == "yes") {
$PHPrint = i_denude("$PHPrint");
}

$PHPrint = i_denudef("$PHPrint");
$PHPrint = str_replace( "</font>", "", $PHPrint );
$PHPrint = stripslashes("$PHPrint"); 

echo "<base href=\"$baseURL\">";

echo $PHPrint; 
echo "<br/><br/>This page printed from: $HTTP_REFERER";
flush (); 
?>


And then find the line 24 of the file above and change it with your site url.

Next add the following link to your full story template part

[url={cute-http-path}/printphp.php]Print this article[/url]


and put your full story template part code between

<!-- startprint -->

and

<!-- stopprint -->

to identify the part that needs to be printed.

So that's it! You would now have a print this article in all of your news!
Also note that the forum splits the word javascript. This MUST be 1 word.

Re: [HACK] Printing your CuteNews articles

Strangely enough I have that same print code! .... Never used it like that before, I would just make a print.css file and change the link rel to media="print" ... so my websites print button uses that stylesheet smile