Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Title: entriesfunctions.php
- Author: James Provan
- Description: Holds the functions and logic which powers the entries.php webpage.
- Date: 15/08/2010
- */
- include "include/replacepseudocode.php";
- function InitialiseEntry()
- {
- $user = "*****";
- $password = "*****";
- $database = "*****";
- mysql_connect("localhost", $user, $password) or die ("Could not connect to server " . $user . ": " . mysql_error());
- mysql_select_db($database) or die ("Could not connect to database " . $database . ": " . mysql_error());
- /*try
- {
- $dbh = new PDO("mysql:host=localhost;dbname=$database", $user, $password); //array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
- // echo a message saying we have connected
- echo "Connected to database";
- }
- catch(PDOException $e)
- {
- echo $e->getMessage();
- }*/
- }
- function NewEntry()
- {
- $whoby = $_POST['whoby'];
- $title = $_POST['title'];
- $content = ReplacePseudocode($_POST['content'], "toHTML");
- $insert = "INSERT INTO tbl_entries(title, content, datetime, edited, whoby) VALUES ('$title', '$content', NOW(), NOW(), '$whoby')";
- mysql_query($insert);
- }
- function EditEntry()
- {
- $id = $_GET['id'];
- $whoby = $_POST['whoby'];
- $title = $_POST['title'];
- $content = ReplacePseudocode($_POST['content'], "toHTML");
- if ($_POST['dontshoweditedtime'])
- {
- $updatequery = "UPDATE tbl_entries SET title='$title', content='$content', whoby='$whoby' WHERE id='$id'";
- }
- else
- {
- $updatequery = "UPDATE tbl_entries SET title='$title', content='$content', edited=NOW(), whoby='$whoby' WHERE id='$id'";
- }
- mysql_query($updatequery);
- }
- function DeleteEntry()
- {
- $deleteid = $_GET['id'];
- $deletequery = "DELETE FROM tbl_entries WHERE id=$deleteid";
- mysql_query($deletequery);
- }
- function ShowEntries($self)
- {
- $postsperpage = 5;
- $pageloaded = $_GET['page'] ? $_GET['page']:1;
- $maxposts = (mysql_num_rows(mysql_query("SELECT id FROM tbl_entries")) + 1);
- $maxpages = ceil($maxposts / $postsperpage);
- $firstrecord = ($pageloaded - 1) * $postsperpage;
- $result = mysql_query("SELECT id, title, content, datetime, edited, whoby FROM tbl_entries ORDER BY datetime DESC LIMIT $firstrecord , $postsperpage");
- $rcount = mysql_num_rows($result);
- for ($i=0; $i<$rcount; $i++)
- {
- $resultID = mysql_result($result, $i, "id");
- $resultTitle = mysql_result($result, $i, "title");
- $resultContent = mysql_result($result, $i, "content");
- $resultDateTime = mysql_result($result, $i, "datetime");
- $resultEdited = mysql_result($result, $i, "edited");
- $resultWhoBy = mysql_result($result, $i, "whoby");
- $originaldatetime = ResolveDateTime($resultDateTime);
- $editeddatetime = ResolveDateTime($resultEdited);
- echo "<i>$originaldatetime</i>";
- if ($resultEdited > $resultDateTime) { echo "<br /><span style=\"font-size: 14px;\"><i>Edited on $editeddatetime</i></span>"; }
- echo "<h2>$resultTitle</h2>";
- echo "$resultContent<br /><br />";
- echo "- $resultWhoBy<br /><br />";
- if ($_SESSION['user'])
- {
- echo "<a href=\"$self?edit=1&id=$resultID#bottom\">Edit</a><br />";
- echo "<a href=\"$self?delete=1&id=$resultID\" onClick=\"return confirm('Are you sure you wish to delete this entry?');\" >Delete</a><br /><br />";
- }
- if ($i != ($rcount-1) ) { echo "<hr />"; }
- }
- if($maxpages > 1)
- {
- $olderpage = $pageloaded + 1;
- $newerpage = $pageloaded - 1;
- echo "<table style=\"width: 100%; \"><tr>";
- //echo "<div style=\"text-align: left; width: 40%; float: left; background-color: red; \">";
- echo "<td style=\"text-align: left; width: 40%; \">";
- if($newerpage > 0) echo "<a href=\"/?page=$newerpage\">< Newer Entries</a>";
- else echo "<span style=\"color: #444444; \">< Newer Entries</span>";
- echo "</td>";
- //echo "</div>";
- //echo "<div style=\"text-align: center; width: 20%; background-color: blue; \">";
- echo "<td style=\"text-align: center; width: 20%; \">";
- echo "- Page $pageloaded of $maxpages -";
- echo "</td>";
- //echo "</div>";
- //echo "<div style=\"text-align: right; width: 40%; float: right; background-color: green; \">";
- echo "<td style=\"text-align: right; width: 40%; \">";
- if($pageloaded < $maxpages) echo "<a href=\"/?page=$olderpage\">Older Entries ></a>";
- else echo "<span style=\"color: #444444; \">Older Entries ></span>";
- echo "</td>";
- //echo "</div>";
- echo "</tr></table>";
- }
- }
- function ResolveDateTime($inDateTime)
- {
- $montharray = array ( "January",
- "February",
- "March",
- "April",
- "May",
- "June",
- "July",
- "August",
- "September",
- "October",
- "November",
- "December"
- );
- $datetime = explode(" ", $inDateTime);
- $date = explode("-", $datetime[0]);
- $time = explode(":", $datetime[1]);
- $dayending = substr($date[2], 1);
- if (substr($date[2], 0, 1) == 1)
- {
- $cont = "th";
- }
- else
- {
- switch ($dayending)
- {
- case 1:
- $cont = "st";
- break;
- case 2:
- $cont = "nd";
- break;
- case 3:
- $cont = "rd";
- break;
- default:
- $cont = "th";
- break;
- }
- }
- if (substr($date[2], 0, 1) == 0)
- {
- $date[2] = substr($date[2], 1);
- }
- return "$date[2]$cont " . $montharray[$date[1] - 1] . ", $date[0] @ $time[0]:$time[1]";
- }
- function UserActionMessage()
- {
- if ($_POST['submit']) { echo "Entry has been successfully posted."; }
- if ($_POST['edited']) { echo "Entry has been successfully edited."; }
- if ($_GET['delete']) { echo "Entry has been successfully deleted."; }
- }
- function DisplayEditEntryForm($self)
- {
- $editid = $_GET['id'];
- $query = "SELECT id, title, content, whoby FROM tbl_entries WHERE id=$editid";
- $result = mysql_query($query);
- $resultID = mysql_result($result, 0, "id");
- $resultTitle = mysql_result($result, 0, "title");
- $resultContent = ReplacePseudocode(mysql_result($result, 0, "content"), "toPseudoCode");
- $resultWhoBy = mysql_result($result, 0, "whoby");
- echo <<<EOF
- <hr />
- <br />
- <h2 style="margin: 0; ">Edit Entry</h2>
- <span style="font-size: 14px; ">Or post a <a href="/#new" style="font-size: 14px; ">New Entry</a></span>
- <form method="POST" action="$self?id=$resultID">
- Posted by:<br />
- <input type="text" name="whoby" value="$resultWhoBy" size="40" /><br /><br />
- Title:<br />
- <input type="text" name="title" value="$resultTitle" size="40" /><br /><br />
- Content:<br />
- <textarea name="content" style="width:100%;" rows="20" maxlength="16384">$resultContent</textarea><br />
- Don't show edited time: <input type="checkbox" name="dontshoweditedtime" />
- <br /><br />
- <input type="submit" name="edit" value="Edit Entry" onClick="return confirm('Are you sure you wish to edit this entry?'); " />
- </form>
- EOF;
- }
- function DisplayNewEntryForm($self)
- {
- echo <<<EOF
- <hr />
- <h2>New Entry</h2>
- <form method="POST" action="$self">
- Posted by:<br />
- <input type="text" name="whoby" size="40" /><br /><br />
- Title:<br />
- <input type="text" name="title" size="40" /><br /><br />
- Content:<br />
- <textarea name="content" style="width:100%;" rows="20" maxlength="16384"></textarea>
- <br /><br />
- <input type="submit" name="submit" value="Submit Entry" onClick="return confirm('Are you sure you wish to publish this entry?'); " />
- </form>
- EOF;
- }
- /*
- 13th August, 2010 @ 15:54
- Getting SQL DATETIME into formatted display
- $datetime = explode(" ", $resultDateTime);
- $date = explode("-", $datetime[0]);
- $time = explode(":", $datetime[1]);
- $date[0] equals year
- $date[1] equals month
- $date[2] equals day
- $time[0] equals hour
- $time[1] equals minute
- $time[2] equals seconds
- Therefore...
- $string = "$date[2] of $date[1], $date[0] @ $time[0]:$time[1]";
- Needs array with month names to compare the $date[1] with for completeness.
- - James
- */
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement