Good luck to you then my friend smile

Steal the cutenews code and I'll eat your soul tongue

Wondering that myself ... lol

Well if it can be done....go for it, show us your works... if we like it we "Might" consider it... we'd like to see a working model and all the documentation of course smile - Hope it goes well for ya!

I looked at one of dubs's latest posts and was rather annoyed myself to find people spamming our Site Showcase with websites they built that are JUST forums or have no relation whatsoever with Cutenews.

This is at an end.

If your website does not use cutenews or is not affiliated with cutenews in any way, then it will be moderated, researched and if guilty, removed.

You have been warned https://cutephp.com/forum/style_emoticons/default/tongue.gif

PS.
PLEASE do NOT post questions in this forum board! This is a SITE SHOWCASE where you show off your website containing CuteNews, not to ask for support, there are support boards at the top for these kind of questions, NOT THIS one!

Glad we're on an understanding tongue ... still can't see cutenews going SQL though.

Eruin wrote:

I dread the day I'll release 168 with friendly urls. I've tried making it as point and click-usable as possible, but with the thousands of different server setups out there (some of which won't be able to support this feature at all), We're looking at ENDLESS amounts of support requests for this plugin. Heck, even Will had problems with it initially.

This is one I can definitely vouch for.... when Eruin was first developing the Friendly URLS I had so many problems it was unbelievable, first with localhost then with server setups...he worked endlessly for it to work on my server config and localhost config which SHOULD be default for quite a few servers...but as the big guy said...we're going to be rushed off our feet with endless support questions.

I really don't want this released...this should only be for advanced users of cutenews and therefore specially adapted and a username/pass login page to download this tongue ... but since cutenews is evolving, and people keep asking, what can we do? tongue ... I'll tell you one thing...when its released, none of us admins are gonna get much sleep.

Eruin wrote:

SQL support (and I think I speak for all the hackers here) will never be implemented. It's too much of a job, will bloat the core and goes against the main merit of cutenews: Flat files. An update on the methods cutenews uses for storing data in its flat files, on the other hand, is probably needed.

No disrespect Martin, and I mean this as nicely as possible, but MYSQL would ruin the whole reason cutenews was developed.  Cutenews was developed as a simple flat-file news system and as stealtheye and eruin both commented: it would add useless bloat to the size of the actual download and ultimately, cutenews size.

How many news scripts do you see out there, as good as cutenews, and running flatfile? ... I think cutenews is a miracle at work.  No need to give the developers a big head but I've used this script for long enough now and even I find it a very flexible script that can be molded to be much more than a news management system smile

MYSQL would mean every plugin, every update, every fix would have to be duplicated.  Waste of time in my books smile - Sorry to shatter any of your dreams bud lol.

Good call smile .. Forgot about that bit.

1. SQL support...Don't think thats gonna happen sometime in the future.

2. Shouldnt the categories thing work anyway? just dont include the $category thing

3. can do latest comments on AJ-Fork

4. Permalink is easily done. [link]Permalink[/link]

5. Spam filter in options > system config ... Set time in seconds to when another comment can be made. (This is in AJ-Fork, not sure about cutenews 1.3.6)

6. Not sure about RSS...but it works in AJ-Fork tongue

7. Search works.

35

(1 replies, posted in Hacks & Tricks / FAQ)

Don't panic!

If you want your cutenews to work with linebreaks....you can do this:

erm... There is ONE thing you can do...requires editing some files...*Gulp* lol.

Ok heres what you do.

Open up cutenews/plugins/format-switcher.php

replace

define('FS_FORMAT_XFIELD','fs_format');
define('FS_DEFAULT_FORMAT','Markdown');

with

define('FS_FORMAT_XFIELD','fs_format');
define('FS_DEFAULT_FORMAT','Textile 2');

Next step
------------------------------

Open up cutenews/plugins/textile-format.php

Search for and replace this line:

$line = preg_replace('/^(?!\t|<\/?pre|<\/?code|$| )(.*)/', "\t<p>$1</p>", $line);

with:

$line = preg_replace('/^(?!\t|<\/?pre|<\/?code|$| )(.*)/', "\t $1

", $line);

Enable the format-switcher plugin, enable the textile 2 plugin.

When writing a news article the default format should be Textile 2 (this should appear in a dropdown box to your right) this proves you have done the above correct.

Now when you're doing linebreaks they will be
as you are used to smile

Please remember you will be using the textile 2 format now....and some weird things might happen... for example.. when you do *blah* it will appear as blah because the * sign means "go bold" .... its tricky but you'll get used to it tongue



ORRRRR without doing any of the above...you can just select the HTML output....the above is probably better since you will more likely find textile format a lot easier to work with instead of typing all sorts of html tags you can do it with symbols...I find it incredibly easy.

36

(0 replies, posted in Hacks & Tricks / FAQ)

Name: show news from a random category.
Author: John/Will
Contributed by: StealthEye
CuteNews Compatibility: 1.3.6 - * (no incompatibility reported yet)
Description: Make a page which shows news from 1 category, picked out of a list of different categories.
Instructions:


<?php
if (empty($subaction)) {
  $numbers = array(x,xx,xxx,x,xx,xxx,x,xx,xxx);
  $random = $numbers[rand(0,count($numbers)-1)];
  $category= $random;
}

$template = "your-template";
$number = "xxx";
include("cutenews/show_news.php");
?>

Use the above instead of your standard CN include code.

This could be useful for some people https://cutephp.com/forum/style_emoticons/default/smile.gif

$numbers = array(); is where you input the category ids.  Might not work with subcategories but you can always try.

Name: Restrict Userlevel to Category
Author: StealthEye, John/Will, Yeah!Mac
CuteNews Compatibility: 1.3.6 - 1.4.1. Higher version have this option built in.
Description: Alright, the "restricting journalists to categories hack" is back, and is 100% safe atleast in cutenews 1.3.6 and most probably in any other version aswell
(also called "Limiting journalists to categories hack"... thought I'd say "Limiting" so the forum search function will find this thread when lookiing for that...)
Requirements:
Demo:
Discussion Topic:
Instructions:

This script is made in part by StealthEye, in part by someone else, and now I added the final part aswell.. it's perfect now.

so let's get started, it's a lot of work.

there are 3 major steps:
* Editing categories.mdu
* Editing addnews.mdu
* Editing editnews.mdu

all these files are found in your /cutenews/inc/ directory.

<!--coloro:purple--><span style="color:purple"><!--/coloro-->step 1) Out with the old in with the new[/color]

the first thing you need to do is make a backup of all three files in case something bad should happen.. you just never know..

now replace all the text in your categories.mdu file with this:
(just empty it totally and put this code in there instead)

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'><?PHP
$result="";
if($member_db[1] != 1){ msg("error", "Access Denied", "You don't have permission to edit categories"); }

// ********************************************************************************
// Add Category
// ********************************************************************************
if($action == "add")
{
$cat_name = htmlspecialchars(stripslashes($cat_name));
if(!$cat_name){ msg("error","Error !!!","Please enter name of the category", "java script:history.go(-1)"); }
$cat_icon = preg_replace("/ /", "", $cat_icon);
if($cat_icon == "(optional)"){ $cat_icon = ""; }

$big_num = file("./data/cat.num.php");
$big_num = $big_num[0];
if(!$big_num or $big_num == ""){ $big_num = 1; }

$all_cats = file("./data/category.db.php");
foreach($all_cats as $cat_line)
{
$cat_arr = explode("|", $cat_line);
if($cat_arr[1] == $cat_name){ msg("error", "Error !!!", "Category with this name already exist", "?mod=categories"); }
if($cat_arr[0] == $big_num){ $big_num = 33; }
}
$new_cats = fopen("./data/category.db.php", "a");
$cat_name = stripslashes( preg_replace(array("'\|'",), array("|",), $cat_name) );
fwrite($new_cats, "$big_num|$cat_name|$cat_icon|$cat_level||\n");
fclose($new_cats);
$big_num ++;

$num_file = fopen("./data/cat.num.php", "w");
fwrite($num_file, $big_num);
fclose($num_file);
}
// ********************************************************************************
// Remove Category
// ********************************************************************************
elseif($action == "remove")
{
if(!$catid){ msg("error","Error !!!","No category ID", "$PHP_SELF?mod=categories"); }

$old_cats = file("./data/category.db.php");
$new_cats = fopen("./data/category.db.php", "w");

foreach($old_cats as $old_cats_line){
$cat_arr = explode("|", $old_cats_line);
if($cat_arr[0] != $catid){
fwrite($new_cats, $old_cats_line);
}
}
fclose($new_cats);
}
// ********************************************************************************
// Edit Category
// ********************************************************************************
elseif($action == "edit")
{
if(!$catid){ msg("error","Error !!!","No category ID", "$PHP_SELF?mod=categories"); }

$all_cats = file("./data/category.db.php");
foreach($all_cats as $cat_line){
$cat_arr = explode("|", $cat_line);
if($cat_arr[0] == $catid){

$msg .= "<form action=$PHP_SELF?mod=categories method=post>
<table border=\"0\" width=\"421\" >
<tr>
<td width=\"64\" >Name</td>
<td width=\"341\" ><input value=\"$cat_arr[1]\" type=text name=cat_name></td>
</tr>
<tr>
<td width=\"64\" >Icon</td>
<td width=\"341\" ><input value=\"$cat_arr[2]\" type=text name=cat_icon></td>
</tr>
<tr>
<td width=\"64\" >Access Level</td>
<td width=\"341\">
<input type=text name=cat_level value=\"$cat_arr[3]\" />
</tr>
<tr>
<td width=\"64\" ></td>
<td width=\"341\" ><input type=submit value=\"Save Changes\"</td>
</tr>
</table>
<input type=hidden name=action value=doedit>
<input type=hidden name=catid value=$catid>
</form>
";

msg("options", "Edit Category", $msg);

}
}
}
// ********************************************************************************
// DO Edit Category
// ********************************************************************************
elseif($action == "doedit")
{
$cat_name = htmlspecialchars(stripslashes($cat_name));
if(!$catid){ msg("error","Error !!!","No category ID", "$PHP_SELF?mod=categories"); }
if($cat_name == ""){ msg("error", "Error !!!", "Category name can not be blank", "java script:history.go(-1)"); }

$old_cats = file("./data/category.db.php");
$new_cats = fopen("./data/category.db.php", "w");
foreach($old_cats as $cat_line){
$cat_arr = explode("|", $cat_line);
if($cat_arr[0] == $catid){
fwrite($new_cats, "$catid|$cat_name|$cat_icon|$cat_level||\n");
}else{
fwrite($new_cats, "$cat_line");
}
}
fclose($new_cats);
}
// ********************************************************************************
// List all Categories
// ********************************************************************************
echoheader("options", "Categories");
echo<<<HTML

<table border=0 cellpading=0 cellspacing=0 width="645" >
<form method=post action="$PHP_SELF">
<td width=321 height="33">
Add Category
<table border=0 cellpading=0 cellspacing=0 width=300 class="panel" >
<tr>
<td width=98 height="25">
 Name
<td width=206 height="25">
<input type=text name=cat_name>
</tr>
<tr>
<td width=98 height="22">
 Icon URL
<td width=206 height="22">
<input onFocus="this.select()" value="(optional)" type=text name=cat_icon>
</tr>
<tr>
<td width=98 height="22">
 Access Level
<td width=206 height="22">
<input type=text name=cat_level>
</td>
</tr>
<tr>
<td width=98 height="32">
 
<td width=206 height="32">
<input type=submit value=" Add Category ">
<input type=hidden name=mod value=categories>
<input type=hidden name=action value=add>
</tr>
</form>
</table>


<td width=320 height="33" align="center">
<!-- HELP -->
<table height="25" cellspacing="0" cellpadding="0">
<tr>
<td width="25" align=middle><img border="0" src="skins/images/help_small.gif"></td>
<td > <a onClick="java script:Help('categories')" href="#">What are categories and

 How to use them</a></td>
</tr>
</table>

<!-- END HELP -->

<tr>
<td width=654 colspan="2" height="11">
<img height=20 border=0 src="skins/images/blank.gif" width=1>
</tr>
HTML;


$all_cats = file("./data/category.db.php");
$count_categories = 0;
foreach($all_cats as $cat_line)
{
if($i%2 != 0){ $bg_NOT_IN_USE = "bgcolor=#F7F6F4"; }else{ $bg = ""; }
$i++;
$cat_arr = explode("|", $cat_line);
$cat_arr[1] = stripslashes( preg_replace(array("'\"'", "'\''"), array(""", "'"), $cat_arr[1]) );
$cat_help_names[] = $cat_arr[1];
$cat_help_ids[] = $cat_arr[0];
$result .= "

<tr>
<td $bg > $cat_arr[0]</td>
<td $bg >$cat_arr[1]</td>
<td $bg >";
if($cat_arr[2] != ""){ $result .= "<img border=0 src=\"$cat_arr[2]\" high=40 width=40 alt=\"$cat_arr[2]\">"; }
else{ $result .= "---"; }
$result .= "</td>
<td $bg >$cat_arr[3]</td>
<td $bg >[url=][edit][/url] [url=][delete][/url]</td>
</tr>";
$count_categories ++;
}

if($count_categories == 0){
echo"<tr>
<td width=654 colspan=2 height=14>
<p align=center>
You havn't defined any categories yet

categories are optional and you can write your news without having categories

</tr>
<tr>";
}else{
echo"<tr>
<td width=654 colspan=2 height=14>
Categories
</tr>
<tr>
<td width=654 colspan=2 height=1>
<table width=100% height=100% cellspacing=0 cellpadding=0>
<tr>
<td width=5% bgcolor=#F7F6F4> ID</td>
<td width=35% bgcolor=#F7F6F4>name</td>
<td width=20% bgcolor=#F7F6F4>icon</td>
<td width=20% bgcolor=#F7F6F4>access level</td>
<td width=20% bgcolor=#F7F6F4>action</td>
</tr>";

echo $result;

echo"</table>";
}

echo"
</table>";
echofooter();
?></div>

Now the reason we did that was because Stealtheye changed alot of things in this file for this hack and just replacing the whole thing is way easier than trying to replace each item.

Besides, It's not like you're gonna lose any edited info by doing that.. as far as I know, no other hacks change anything in that file anyway...
Anyway, that's all there is to step 1... easy right?

<!--coloro:purple--><span style="color:purple"><!--/coloro-->step 2) A soft start[/color]

now open addnews.mdu and find this line: (unless you've made some sort of alterations before, it should be lines 48 - 53 in cutenews 1.3.6)

         foreach($cat_lines as $single_line){
   $cat_arr = explode("|", $single_line);
               $if_is_selected = "";
               if($cat_arr[0] == 1){ $if_is_selected = " selected "; }
               if($category == $cat_arr[0]){ $if_is_selected = " selected "; }
               echo"<option $if_is_selected value=\"$cat_arr[0]\">$cat_arr[1]</option>\n";
     }

and replace it with

         foreach($cat_lines as $single_line){
   $cat_arr = explode("|", $single_line);
               if($member_db[1] <= $cat_arr[3]){
               $if_is_selected = "";
               if($cat_arr[0] == 1){ $if_is_selected = " selected "; }
               if($category == $cat_arr[0]){ $if_is_selected = " selected "; }
               echo"<option $if_is_selected value=\"$cat_arr[0]\">$cat_arr[1]</option>\n";
               }
     }

no big whoop right? so far, so easy!

<!--coloro:purple--><span style="color:purple"><!--/coloro-->step 3) The Good Part![/color]

We move on to editnews.mdu, the third and last instalment of our trilogy.

I "made" this part myself (rather than just fixing it like I did the stuff in step 2) and you should keep in mind that I'm not really a good programmer.. I just sort of figured out what StealthEye had done and copied his way of doing it..

editnews.mdu is a bit more tricky than addnews.mdu because you have to replace a snippet not once, not twice, not even thrice but four times..
this is so your untrusted journalist scumbags wont just go to the edit room and simply use the edit button to move their posts from one category to another.

journalists are such louts!

step 3.1:
replace in lines 12 - 15

    foreach($cat_lines as $single_line){
                $cat_arr = explode("|", $single_line);
        $cat[$cat_arr[0]] = $cat_arr[1];
    }


with

    foreach($cat_lines as $single_line){
                $cat_arr = explode("|", $single_line);
        if($member_db[1] <= $cat_arr[3]){
        $cat[$cat_arr[0]] = $cat_arr[1];
    }
   }

step 3.2:
<!--coloro:red--><span style="color:red"><!--/coloro-->I'm not sure this step is needed, but it doesn't seem to do any damage, so I did it just to be safe. this is the exact same change as what was done in addnews.mdu.[/color]
replace in lines 178 - 183  (all lines based on where it was before any of the above changes were made)

        foreach($cat_lines as $single_line){
                $cat_arr = explode("|", $single_line);
                $ifselected = "";
                if($category == $cat_arr[0]){ $ifselected = "selected"; }
        echo"<option $ifselected value=\"$cat_arr[0]\">$cat_arr[1]</option>\n";
           }


with

        foreach($cat_lines as $single_line){
                $cat_arr = explode("|", $single_line);
        if($member_db[1] <= $cat_arr[3]){
                $ifselected = "";
                if($category == $cat_arr[0]){ $ifselected = "selected"; }
        echo"<option $ifselected value=\"$cat_arr[0]\">$cat_arr[1]</option>\n";
           }
        }


step 3.3:
replace in lines 435 - 441  (all lines based on where it was before any of the above changes were made)

        foreach($cat_lines as $single_line){
                $cat_arr = explode("|", $single_line);
        if($item_db[6] == $cat_arr[0]){
                        echo"<option selected=\"selected\" value=\"$cat_arr[0]\">$cat_arr[1]</option>\n";
            $selected = TRUE;
                }else{ echo"<option value=\"$cat_arr[0]\">$cat_arr[1]</option>\n"; }
        }


with

        foreach($cat_lines as $single_line){
                $cat_arr = explode("|", $single_line);
        if($member_db[1] <= $cat_arr[3]){
        if($item_db[6] == $cat_arr[0]){
                        echo"<option selected=\"selected\" value=\"$cat_arr[0]\">$cat_arr[1]</option>\n";
            $selected = TRUE;
                }else{ echo"<option value=\"$cat_arr[0]\">$cat_arr[1]</option>\n"; }
        }
      }

step 3.4:
replace in lines 334 - 336  (all lines based on where it was before any of the above changes were made)

echo<<<HTML
<option title="move all selected news to one category" value="mass_move_to_cat">Change Category</option>
</select>


with

if($member_db[1] == 1){ echo"<option title=\"move all selected news to one category\" value=\"mass_move_to_cat\">Change Category</option>"; }
echo<<<HTML
</select>

You're done!

and if you're as lucky as I am, it actually works too (well whaddayaknow?)

// Yeah!Mac

how to use the Hack once it's installed
You use it by Putting the number of the level that should be able to access the category in the access level field.

eg.
admin = 1
editor = 2
journalist = 3
whatever it is that low low level poster is called that can only reply to posts = 4

(to change the access level on a category, simply go to the "edit categories" screen and click "edit" next to your category.)

ofcourse an editor can always post on a category on journalist level and an admin can always post on all levels. You get the idea.

38

(0 replies, posted in Hacks & Tricks / FAQ)

Name: Span An Article over pages
Author: John/Will
CuteNews Compatibility: 1.3.6 - * (no incompatibility reported yet)
Description: have pagination for long articles. so 1 article can be split into a next.
Useful in lengthy articles or tutorials to control amount of information displayed at a time.
Instructions:
Adding pagination to news articles (multiple pages)
MAKE A BACKUP COPY OF SHOWS.INC.PHP in your INC folder before you begin doing this hack! .. just in case you make a mistake somewhere along the lines.

First off, access shows.inc.php and comment out or completely remove line 227, which by my calculations is:

$output = str_replace("{full-story}", $news_arr[4], $output);

Then replace it with:

$page_array = explode("[pagebreak]", $news_arr[4]);
$pagination = "";
if($page_num == ''){ $page_num = 1; }
if ( count($page_array) > 1){
if($page_num != 1){ $less=$page_num-1; $pagination .= "[url=subaction=showcomments&id=$news_arr[0]&archive=$archive&start_from=$my_start_from&ucat=$news_arr[6]&$user_query&page_num=$less>«</a> ]$for_to = count($page_array);
for ($i=1; $i<=$for_to; $i++){
if ($i == $page_num){ $pagination .= $i; }
else{ $pagination .= " [url=subaction=showcomments&id=$news_arr[0]&archive=$archive&start_from=$my_start_from&ucat=$news_arr[6]&$user_query&page_num=$i]»[/url] ]$output = str_replace("{full-story}", $page_array[$page_num-1]."
".$pagination."
", $output);
}
else{ $output = str_replace("{full-story}", $page_array[0], $output); }

So now if you want to add another page, simply add [pagebreak] and the code will do the rest.

ALSO!!!
Remove all aspects of "showcomments" and replace with "showfull" if you dont want comments to appear with every split section of an article you write.

ABOVE!!
If you find >> or << these are your "Next" and "Previous" links....You can change them accordingly!

FIND!!
$pagination = ""; and replace with
$pagination = "<div align=center>Go to Page
";
this makes a text appear at the bottom of each split article with "Go to Page" a line break and then the numbers below! it also centers the "Go to Page" !

Remember to add </div> on this line:

<a href=?subaction=showcomments&id=$news_arr[0]&archive=$archive&start_from=$my_start_from&ucat=$news_arr[6]&$user_query&page_num=$more>»HERE</div>HERE[/url]


by Adding pagination to news articles (multiple pages) something this must be done first:

Open shows.inc.php and at line 5 and 6 you'll see parts of code like this:

array("start_from", "archive", "subaction", "id", "ucat")

and at the both you must add "page_num", like this:

array("page_num", "start_from", "archive", "subaction", "id", "ucat")

so the line 5 and 6 should look finally like this:

$user_query = cute_query_string($QUERY_STRING, array("page_num",  "start_from", "archive", "subaction", "id", "ucat"));
$user_post_query = cute_query_string($QUERY_STRING, array("page_num","start_from", "archive", "subaction", "id", "ucat"), "post");

You should be good from here on in... Please read and understand this before attempting this hack... Having to explain it in full takes a good bit of typing.

39

(0 replies, posted in Hacks & Tricks / FAQ)

Update:

This is a new plugin version of the above that will work in version 168 of AJ-Fork and in pfork (plugin cutenews original).  Thanks to JuggaG and Stealtheye for this plugin.

<?php

/*
Plugin Name: Prev and Next Link Text In Full Story
Plugin URI: http://www.jubbag.com
Description: Adds a link with the next and previous news stories with their title as the Link Text. Use {prevlink} and {nextlink}. Comes with formatting: << Previous | and | Next >>. Feel free to edit it in the code of the plugin. Based on code from [url=https://cutephp.com/forum-old/index.php?showtopic=3690&hl=prev%20next&st=0]CuteNews Forum[/url] by [url=http://www.cncreneclips.com]Stealtheye[/url]
Version: 0.5
Author:    J-Dawg
Author URI:    http://www.jubbag.com
Application: CuteNews
Required Framework: 1.0.0
*/


add_filter('news-show-generic','prev_next');


function prev_next($output,$hook)
{

    global $all_active_news;
    global $active_news;
    $index = array_search($active_news, $all_active_news);
    $prev = explode("|", $all_active_news[$index - 1]);
    $next = explode("|", $all_active_news[$index + 1]);
    $next_link = "[url=$PHP_SELF?subaction=showfull&id=$next[0]&archive=$archive&start_from=$start_from&ucat=$ucat&$user_query]« $next[2][/url] | ";
    $prev_link = " | [url=$PHP_SELF?subaction=showfull&id=$prev[0]&archive=$archive&start_from=$start_from&ucat=$ucat&$user_query]$prev[2] »[/url]";
    if (!empty($next[0]))
    {
  $output = str_replace("{nextlink}", $next_link, $output);
    }
    else
    {
  $output = str_replace("{nextlink}", "", $output);
    }
    if (!empty($prev[0]))
    {
  $output = str_replace("{prevlink}", $prev_link, $output);
    }
    else
    {
  $output = str_replace("{prevlink}", "", $output);
    }
    return $output;
    
}


?>

Open a textfile, paste the above in, name it to something like next-previous-titles.php and then shove it in the plugins folder big_smile  Then all you gotta do is enable it from the "Options - Plugin Manager" section.

40

(0 replies, posted in Hacks & Tricks / FAQ)

Name: Next/Previous Links
Author: StealthEye
CuteNews Compatibility: 1.3.6 - * (no incompatibility reported yet)
Description: Go to the next or previous story when looking at your full story.
Instructions:

// Prev Next For Full Story
$index = array_search($active_news, $all_active_news);
$prev = explode("|", $all_active_news[$index - 1], 2);
$next = explode("|", $all_active_news[$index + 1], 2);

$next_link = 

"$PHP_SELF?subaction=showfull&id=$next[0]&archive=$archive&start_from=$start_from&ucat=$ucat&$us

er_query";
$prev_link = 

"$PHP_SELF?subaction=showfull&id=$prev[0]&archive=$archive&start_from=$start_from&ucat=$ucat&$us

er_query";

$output = str_replace("[next]", $next[0] ? "[url=]" : "", $output);
$output = str_replace("[prev]", $prev[0] ? "<a href=\"$prev_link\">" : "", $output);
$output = str_replace("[/next]", $next[0] ? "[/url]" : "", $output);
$output = str_replace("[/prev]", $prev[0] ? "</a>" : "", $output);
// End Prev Next For Full Story

add it below the 1st instance of

$output = str_replace("{cute-http-path}", $config_http_script_dir, $output);

That's around line 250 in SHOWS.INC.PHP in your INC folder.


TO INCLUDE THE NEXT/PREV LINKS IN YOUR TEMPLATE:

[next]<< Next[/next] - [prev]Previous >>[/prev]

Name: Remove admin password from comments
Author: Haddaway
CuteNews Compatibility: 1.3.6 - * (no incompatibility reported yet)
Description: This should eliminate the need for your website asking registered users to provide their password before the comment will be checked.  This is a security issue and will allow anyone to post using a registered users names but some people have asked for this.
Instructions:
In the shows.inc. You just have to erase

// Check if name is Protected
$is_member = FALSE;
foreach($all_users as $member_db_line)
{
if(!eregi("<\?",$member_db_line) and $member_db_line != ""){
$user_arr = explode("|",$member_db_line);

//if the name is protected
if((strtolower($user_arr[2]) == strtolower($name) or strtolower($user_arr[4]) == strtolower($name)) and $user_arr[3] != md5($password) and $name != "")
{
// $comments = replace_comment("add", $comments); //commented because will mess up the 

$comments = preg_replace(array("'\"'", "'\''", "''"), array(""", "'", ""), $comments);
$name = replace_comment("add", preg_replace("/\n/", "",$name));
$mail = replace_comment("add", preg_replace("/\n/", "",$mail));

echo"<div style=\"text-align: center;\">This name is owned by a registered user and you must enter password to use it

<form method=\"post\" action=\"\">Password: <input type=\"password\" name=\"password\" />
<input type=\"hidden\" name=\"name\" value=\"$name\" />
<input type=\"hidden\" name=\"comments\" value=\"$comments\" />
<input type=\"hidden\" name=\"mail\" value=\"$mail\" />
<input type=\"hidden\" name=\"ip\" value=\"$ip\" />
<input type=\"hidden\" name=\"subaction\" value=\"addcomment\" />
<input type=\"hidden\" name=\"show\" value=\"$show\" />
<input type=\"hidden\" name=\"ucat\" value=\"$ucat\" />
$user_post_query
<input type=\"submit\" /></form></div>";
$CN_HALT = TRUE;
break 2;
// exit();
}

if(strtolower($user_arr[2]) == strtolower($name)) $is_member = TRUE;
}
}

Name: Printer - Friendly URLS for News
Author: John/Will
CuteNews Compatibility: 1.3.6 - * (no incompatibility reported yet)
Description: Would you like your articles to be printer-friendly ? Do you post a lot of news you deem for others to be worth printing out and they feel a need to print almost every news topic from your website no matter the cause but they're STILL on Dot Matrix Printers?
Dont worry my friends, help is at hand! ... Flexer has wrote an ingenius way to make your pages Printer friendly, this was used for earlier versions of Cutenews but it should still be relevant to this day.
An alternative can be found here
Download: get the hack here
Instructions:

Save this as "print.php" and put it in the CuteNews root folder.

<?PHP

error_reporting (E_ALL ^E_NOTICE);
require_once("./inc/functions.inc.php");
require_once("./data/config.php");
//$PHP_SELF = "";

if($id != ""){

    if($archive != ""){ $news_file = "./archives/$archive.news.arch"; }
    else{ $news_file = "./news.txt"; }

    $all_news = file("$news_file");
    $found = FALSE;
    foreach($all_news as $news_line){
        $news_arr = explode("|", $news_line);
        if($news_arr[0] == $id){ $found = TRUE; break;}
    }
    if($found == TRUE){
  $title    = $news_arr[2];
        $date    = date("j F Y h:i A", $news_arr[0]);
        if($news_arr[4] != ""){
            $news    = replace_news("show", $news_arr[4]);
  }else{
            $news    = replace_news("show", $news_arr[3]);
        }

echo<<<PRINTABLE
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Printer Friendly Version</title>
</HEAD>
<BODY bgcolor="#ffffff" text="#000000" onload="window.print()">

[b]$title[/b] @ <small>$date</small>
<hr>
$news
<hr>
<small>News powered by CuteNews - https://cutephp.com</small>

</BODY>
</HTML>
PRINTABLE;



    }else{
        echo"The news you what to print was not found.";
    }

}else{ echo"No"; }

?>

In your templates where you want to make a link to the printer-friendly version insert this code:
print

Note:
Some versions of cutenews the config.php file is located in the inc folder... Change the code according to where your config.php file is located... Cheers https://cutephp.com/forum/style_emoticons/default/smile.gif