<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML lang="it">
<HEAD>
<TITLE>bbs</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<p>
<?
/******************************************************
BBS v1.0
Code: PHP 3
Author: Leon Atkinson <leon.atkinson@clearink.com>
Simple BBS system using MySQL. Make the following
table:
CREATE TABLE bbsMessage
(
ID INT NOT NULL AUTO_INCREMENT,
Title VARCHAR(64),
Poster VARCHAR(64),
Created DATETIME,
Parent INT,
Body BLOB,
PRIMARY KEY(ID)
);
attenzione! se si cambia il nome del file,
sostituire le tre occorrenze di bbs_source.php con il nuovo nome
*******************************************************/
printf( "<H1>BBS</H1>n");
/* parametri del database, come nome è indicato bbs */
mysql_connect("localhost", "user", "password");
$Database = "nome";
/****************************************************************
funzione ricorsiva per il setting dei post
****************************************************************/
function showMessages($parentID)
{
global $Database;
$dateToUse = Date( "U");
echo "<UL>n";
/* show all the wings */
$Query = "SELECT * FROM bbsMessage ";
$Query = $Query . "WHERE Parent=$parentID ";
$Query = $Query . "ORDER BY Created ";
$result = mysql($Database,$Query);
$numRows = mysql_NumRows($result);
$RowCount = 0;
while($RowCount < $numRows)
{
$messageID = mysql_result($result,$RowCount, "ID");
$messageTitle = mysql_result($result,$RowCount, "Title");
$messageCreated = mysql_result($result,$RowCount, "Created");
$messageParent = mysql_result($result,$RowCount, "Parent");
/* put a line telling what the wing is */
printf( "<LI>($messageCreated) <A HREF="bbs_source.php?messageID=$messageID">$messageTitle</A><BR>n");
/* call getWingContents to get this branch */
showMessages($messageID);
$RowCount++;
}
echo "</UL>n";
}
/****************************************************************
genera una form per post con parent id
****************************************************************/
function postForm($parentID, $useTitle)
{
printf( "<FORM ACTION="bbs_source.php" METHOD="post">n");
printf( "<INPUT TYPE="hidden" NAME="inputParent" VALUE="$parentID">");
printf( "<INPUT TYPE="hidden" NAME="ACTION" VALUE="POST">");
printf( "<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="5" WIDTH="400">n");
printf( "<TR><TD WIDTH="100"><B>Oggetto</B></TD>");
printf( "<TD WIDTH="300"><INPUT TYPE="text" NAME="inputTitle" SIZE="35" MAXLENGTH"64" VALUE="$useTitle"></TD></TR>n");
printf( "<TR><TD WIDTH="100"><B>Poster</B></TD>");
printf( "<TD WIDTH="300"><INPUT TYPE="text" NAME="inputPoster" SIZE="35" MAXLENGTH"64"></TD></TR>n");
printf( "<TR><TD COLSPAN="2" WIDTH="400">");
printf( "<TEXTAREA NAME="inputBody" COLS="45" ROWS="5"></TEXTAREA></TD></TR>n");
printf( "<TR><TD COLSPAN="2" WIDTH="400"><CENTER><INPUT TYPE="submit" VALUE="Post"></CENTER></TD></TR>n");
printf( "</TABLE>n");
printf( "</FORM>n");
}
/******************************************************
azioni con db
******************************************************/
if($ACTION != "")
{
if($ACTION == "POST")
{
$inputTitle = ereg_replace( "'", "''", $inputTitle);
$inputBody = ereg_replace( "'", "''", $inputBody);
$Query = "INSERT INTO bbsMessage ";
$Query .= "VALUES(0, '$inputTitle', ";
$Query .= "'$inputPoster', ";
$Query .= "now(), $inputParent, ";
$Query .= "'$inputBody')";
$result = mysql($Database,$Query);
}
}
/******************************************************
scrittura messaggi
******************************************************/
if($messageID > 0)
{
$Query = "SELECT * FROM bbsMessage ";
$Query = $Query . "WHERE ID=$messageID ";
$result = mysql($Database,$Query);
$numRows = mysql_NumRows($result);
$RowCount = 0;
if($RowCount < $numRows)
{
$messageID = mysql_result($result,$RowCount, "ID");
$messageTitle = mysql_result($result,$RowCount, "Title");
$messagePoster = mysql_result($result,$RowCount, "Poster");
$messageCreated = mysql_result($result,$RowCount, "Created");
$messageParent = mysql_result($result,$RowCount, "Parent");
$messageBody = mysql_result($result,$RowCount, "Body");
printf( "<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="5" WIDTH="400">n");
printf( "<TR><TD WIDTH="100"><B>Title</B></TD><TD WIDTH="300">$messageTitle</TD></TR>n");
printf( "<TR><TD WIDTH="100"><B>Poster</B></TD><TD WIDTH="300">$messagePoster</TD></TR>n");
printf( "<TR><TD WIDTH="100"><B>Posted</B></TD><TD WIDTH="300">$messageCreated</TD></TR>n");
printf( "<TR><TD COLSPAN="2" WIDTH="400">$messageBody</TD></TR>n");
printf( "</TABLE>n");
postForm($messageID, "RE: $messageTitle");
}
echo "<A HREF="bbs_source.php">torna ai commenti</A><BR>";
}
else
{
printf( "<H2>il codice nella versione originaria</H2>n");
/* call recursive function */
showMessages(0);
postForm(0, "");
}
?>
</p>
<p> </p>
<p>script di Leon Atkinson</p>
</BODY>
</HTML>