Mijae |
05-17-2005 06:26 PM |
How can I fix this?
What I am doing is calling newsout.php, which extracts news from a specified forum. The template itself is inside the php script, and the script is outside the /forum folder. I had the php file inside the /forum but I had a guest appear 24/7 in Who's Online, so to fix that I moved it, and now I get this. How can I fix? :P
Code:
<?php
chdir("./forum");
require_once("./global.php");
// VARIABLES TO SET
// hostname or ip of server
$servername="localhost";
// username and password to log onto db server
$dbusername="x";
$dbpassword="x";
// name of database
$dbname="x";
//path to your forums
$forumspath = "http://www.dailylaugh.net/forum";
function writenews($cats, $filetw, $newsitems=7){
global $servername;
global $dbusername;
global $dbpassword;
global $dbname;
global $forumspath;
//Connect to the database
$connection = mysql_connect("$servername","$dbusername","$dbpassword") or die ("Cannot connect to server.");
$db = mysql_select_db("$dbname", $connection) or die ("Could not select database.");
//Create SQL statement this gets the title poster and other bits
$sql = "SELECT threadid, title, forumid, replycount, postusername, postuserid, lastposter, dateline, iconid FROM vb3_thread
WHERE forumid IN ($cats) AND sticky = '0' ORDER BY threadid DESC LIMIT $newsitems";
//execute sql query
$sql_result = mysql_query($sql, $connection) or die ("Could not execute query.");
if (!$sql_result) {
echo "Could not get news.";
}
while ($row = mysql_fetch_array($sql_result)) {
$threadid = $row["threadid"];
$title = $row["title"];
$forumid = $row["forumid"];
$replycount = $row["replycount"];
$postusername = $row["postusername"];
$postuserid = $row["postuserid"];
$lastposter = $row["lastposter"];
$iconid = $row["iconid"];
$dateline = $row["dateline"];
//create the second SQL statement to pull the post from the thread it resides in
$sql2 = "SELECT postid, threadid, username, userid, title, dateline, pagetext, iconid FROM vb3_post WHERE threadid =
\"$threadid\" ORDER BY postid ASC LIMIT 1";
//This gets the text of the post
$sql_result2 = mysql_query($sql2, $connection) or die ("Could not execute query in second sql statement.");
if (!$sql_result2) {
echo "Could not get news.";
}
while ($row2 = mysql_fetch_array($sql_result2)) {
$ptext = $row2["pagetext"];
//Convert time
$dateposted = date("D j M Y, g:i A",$dateline);
//Comments or comment depending on number of replies
if ($replycount==1) {
$commenttext = "Comment";
}
else {
$commenttext = "Comments";
}
// This parses the bbcode
require_once("./includes/functions_bbcodeparse.php");
$outxt=parse_bbcode2($ptext,"1","1","1","1","1");
// Uncomment next 4 lines if you want to limit the amount of text displayed to the first paragraph.
// $trimmed = explode("<br />", $outxt);
//$outxt=$trimmed[0];
//$trimmed = explode("</p>", $outxt);
//$outxt=$trimmed[0];
// This is optional. It strips out unecessary tags if you wish and leaves those specified behind
// $outxt = strip_tags($outxt, '<a>,<b>,<strong>,<i>,<em>,<br />,<br>,<p>');
// This sql gets the title of the forum
$sql3 = "SELECT title FROM vb3_forum WHERE forumid = \"$forumid\" LIMIT 1";
$sql_result3 = mysql_query($sql3, $connection) or die ("Could not execute query in second sql statement.");
$row3 = mysql_fetch_array($sql_result3);
$forumname = $row3["title"];
//EDIT the HTML OUTPUT HERE
$towrite .= "
<span class=\"news\"><a href=\"$forumspath/showthread.php?s=&threadid=$threadid\" class=\"newstitle\">$title</a>, posted
on <i>$dateposted</i> by <a
href=\"$forumspath/member.php?s=&action=getinfo&userid=$postuserid\"><b>$postusername</b></a> ( <a style=\"font-size:
11px;\" href=\"$forumspath/showthread.php?s=&threadid=$threadid\">$replycount $commenttext</a> )</span><br />
<div class=\"newsbody\">$outxt</div><br />
";
// END HTML EDIT
}
}
// If you want to write out to a file - good idea to reduce db load
// Then uncomment this section and edit appropriately. You need
// to have a folder to stores the output file and they need to writeable (chmod 666)
// $filetw is name of output file.
// You may then want to call this file by cron so thing update reguarly.
//$tmpfile = fopen("/path/to/storafe/folder/".$filetw."","w+");
//$fp = fwrite($tmpfile,$towrite);
//fclose($tmpfile);
//flush ();
// If you are writing to a file comment the line below out.
echo $towrite;
}
// This calls the writenews function. Done as a function so can be called multiple times.
// First variable is forum id to get news from. One forum is like 1 and multiple forums
// like 1,2,3. Output file onyl applies if you are outputting a file (see just above)
// The last variable is the number of news itmes to grab / display. Deafults to 10.
@writenews("10", "newsoutput.txt","5");
?>
|