Advertisement
Guest User

Untitled

a guest
Jun 15th, 2017
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.79 KB | None | 0 0
  1. <?php
  2.  
  3. /*
  4.  
  5. Title:          entriesfunctions.php
  6. Author:         James Provan
  7. Description:    Holds the functions and logic which powers the entries.php webpage.
  8. Date:           15/08/2010
  9.  
  10. */
  11.  
  12. include "include/replacepseudocode.php";
  13.  
  14. function InitialiseEntry()
  15. {
  16.     $user = "*****";
  17.     $password = "*****";
  18.     $database = "*****";
  19.  
  20.     mysql_connect("localhost", $user, $password) or die ("Could not connect to server " . $user . ": " . mysql_error());
  21.     mysql_select_db($database) or die ("Could not connect to database " . $database . ": " . mysql_error());
  22.  
  23.     /*try
  24.     {
  25.         $dbh = new PDO("mysql:host=localhost;dbname=$database", $user, $password); //array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
  26.         // echo a message saying we have connected
  27.         echo "Connected to database";
  28.     }
  29.     catch(PDOException $e)
  30.     {
  31.         echo $e->getMessage();
  32.     }*/
  33. }
  34.  
  35. function NewEntry()
  36. {
  37.     $whoby = $_POST['whoby'];
  38.     $title = $_POST['title'];
  39.     $content = ReplacePseudocode($_POST['content'], "toHTML");
  40.    
  41.     $insert = "INSERT INTO tbl_entries(title, content, datetime, edited, whoby) VALUES ('$title', '$content', NOW(), NOW(), '$whoby')";
  42.    
  43.     mysql_query($insert);
  44. }
  45.  
  46. function EditEntry()
  47. {
  48.     $id = $_GET['id'];
  49.     $whoby = $_POST['whoby'];
  50.     $title = $_POST['title'];
  51.     $content = ReplacePseudocode($_POST['content'], "toHTML");
  52.    
  53.     if ($_POST['dontshoweditedtime'])
  54.     {
  55.         $updatequery = "UPDATE tbl_entries SET title='$title', content='$content', whoby='$whoby' WHERE id='$id'";
  56.     }
  57.     else
  58.     {
  59.         $updatequery = "UPDATE tbl_entries SET title='$title', content='$content', edited=NOW(), whoby='$whoby' WHERE id='$id'";
  60.     }
  61.    
  62.     mysql_query($updatequery);
  63. }
  64.    
  65. function DeleteEntry()
  66. {
  67.     $deleteid = $_GET['id'];
  68.    
  69.     $deletequery = "DELETE FROM tbl_entries WHERE id=$deleteid";
  70.    
  71.     mysql_query($deletequery);
  72. }
  73.  
  74. function ShowEntries($self)
  75. {
  76.     $postsperpage = 5;
  77.     $pageloaded = $_GET['page'] ? $_GET['page']:1;
  78.     $maxposts = (mysql_num_rows(mysql_query("SELECT id FROM tbl_entries")) + 1);
  79.     $maxpages = ceil($maxposts / $postsperpage);
  80.  
  81.     $firstrecord = ($pageloaded - 1) * $postsperpage;
  82.  
  83.     $result = mysql_query("SELECT id, title, content, datetime, edited, whoby FROM tbl_entries ORDER BY datetime DESC LIMIT $firstrecord , $postsperpage");
  84.     $rcount = mysql_num_rows($result);
  85.  
  86.     for ($i=0; $i<$rcount; $i++)
  87.     {
  88.         $resultID = mysql_result($result, $i, "id");
  89.         $resultTitle = mysql_result($result, $i, "title");
  90.         $resultContent = mysql_result($result, $i, "content");
  91.         $resultDateTime = mysql_result($result, $i, "datetime");
  92.         $resultEdited = mysql_result($result, $i, "edited");
  93.         $resultWhoBy = mysql_result($result, $i, "whoby");
  94.        
  95.         $originaldatetime = ResolveDateTime($resultDateTime);
  96.         $editeddatetime = ResolveDateTime($resultEdited);
  97.        
  98.         echo "<i>$originaldatetime</i>";
  99.         if ($resultEdited > $resultDateTime) { echo "<br /><span style=\"font-size: 14px;\"><i>Edited on $editeddatetime</i></span>"; }
  100.         echo "<h2>$resultTitle</h2>";
  101.         echo "$resultContent<br /><br />";
  102.         echo "- $resultWhoBy<br /><br />";
  103.        
  104.         if ($_SESSION['user'])
  105.         {
  106.             echo "<a href=\"$self?edit=1&id=$resultID#bottom\">Edit</a><br />";
  107.             echo "<a href=\"$self?delete=1&id=$resultID\" onClick=\"return confirm('Are you sure you wish to delete this entry?');\" >Delete</a><br /><br />";
  108.         }
  109.        
  110.         if ($i != ($rcount-1) ) { echo "<hr />"; }
  111.     }
  112.  
  113.     if($maxpages > 1)
  114.     {
  115.         $olderpage = $pageloaded + 1;
  116.         $newerpage = $pageloaded - 1;
  117.  
  118.         echo "<table style=\"width: 100%; \"><tr>";
  119.         //echo "<div style=\"text-align: left; width: 40%; float: left; background-color: red; \">";
  120.         echo "<td style=\"text-align: left; width: 40%; \">";
  121.             if($newerpage > 0) echo "<a href=\"/?page=$newerpage\">< Newer Entries</a>";
  122.             else echo "<span style=\"color: #444444; \">< Newer Entries</span>";
  123.         echo "</td>";
  124.         //echo "</div>";
  125.  
  126.         //echo "<div style=\"text-align: center; width: 20%; background-color: blue; \">";
  127.         echo "<td style=\"text-align: center; width: 20%; \">";
  128.             echo "- Page $pageloaded of $maxpages -";
  129.         echo "</td>";
  130.         //echo "</div>";
  131.  
  132.         //echo "<div style=\"text-align: right; width: 40%; float: right; background-color: green; \">";
  133.         echo "<td style=\"text-align: right; width: 40%; \">";
  134.             if($pageloaded < $maxpages)  echo "<a href=\"/?page=$olderpage\">Older Entries ></a>";
  135.             else echo "<span style=\"color: #444444; \">Older Entries ></span>";
  136.         echo "</td>";
  137.         //echo "</div>";
  138.  
  139.         echo "</tr></table>";
  140.     }
  141. }
  142.  
  143. function ResolveDateTime($inDateTime)
  144. {
  145.     $montharray = array (   "January",
  146.                             "February",
  147.                             "March",
  148.                             "April",
  149.                             "May",
  150.                             "June",
  151.                             "July",
  152.                             "August",
  153.                             "September",
  154.                             "October",
  155.                             "November",
  156.                             "December"
  157.     );
  158.    
  159.     $datetime = explode(" ", $inDateTime);
  160.  
  161.     $date = explode("-", $datetime[0]);
  162.     $time = explode(":", $datetime[1]);
  163.    
  164.     $dayending = substr($date[2], 1);
  165.  
  166.     if (substr($date[2], 0, 1) == 1)
  167.     {
  168.         $cont = "th";
  169.     }
  170.     else
  171.     {
  172.         switch ($dayending)
  173.         {
  174.             case 1:
  175.                 $cont = "st";
  176.             break;
  177.            
  178.             case 2:
  179.                 $cont = "nd";
  180.             break;
  181.            
  182.             case 3:
  183.                 $cont = "rd";
  184.             break;
  185.            
  186.             default:
  187.                 $cont = "th";
  188.             break;
  189.         }
  190.     }
  191.  
  192.     if (substr($date[2], 0, 1) == 0)
  193.     {
  194.         $date[2] = substr($date[2], 1);
  195.     }
  196.    
  197.     return "$date[2]$cont " . $montharray[$date[1] - 1] . ", $date[0] @ $time[0]:$time[1]";
  198. }
  199.  
  200. function UserActionMessage()
  201. {
  202.     if ($_POST['submit']) { echo "Entry has been successfully posted."; }
  203.     if ($_POST['edited']) { echo "Entry has been successfully edited."; }
  204.     if ($_GET['delete']) { echo "Entry has been successfully deleted."; }
  205. }
  206.  
  207. function DisplayEditEntryForm($self)
  208. {
  209.     $editid = $_GET['id'];
  210.    
  211.     $query = "SELECT id, title, content, whoby FROM tbl_entries WHERE id=$editid";
  212.  
  213.     $result = mysql_query($query);
  214.    
  215.     $resultID = mysql_result($result, 0, "id");
  216.     $resultTitle = mysql_result($result, 0, "title");
  217.     $resultContent = ReplacePseudocode(mysql_result($result, 0, "content"), "toPseudoCode");
  218.     $resultWhoBy = mysql_result($result, 0, "whoby");
  219.    
  220.     echo <<<EOF
  221.     <hr />
  222.     <br />
  223.     <h2 style="margin: 0; ">Edit Entry</h2>
  224.     <span style="font-size: 14px; ">Or post a <a href="/#new" style="font-size: 14px; ">New Entry</a></span>
  225.     <form method="POST" action="$self?id=$resultID">
  226.         Posted by:<br />
  227.         <input type="text" name="whoby" value="$resultWhoBy" size="40" /><br /><br />
  228.         Title:<br />
  229.         <input type="text" name="title" value="$resultTitle" size="40" /><br /><br />
  230.         Content:<br />
  231.         <textarea name="content" style="width:100%;" rows="20" maxlength="16384">$resultContent</textarea><br />
  232.         Don't show edited time: <input type="checkbox" name="dontshoweditedtime" />
  233.         <br /><br />
  234.         <input type="submit" name="edit" value="Edit Entry" onClick="return confirm('Are you sure you wish to edit this entry?'); " />
  235.     </form>
  236. EOF;
  237. }
  238.  
  239. function DisplayNewEntryForm($self)
  240. {
  241.     echo <<<EOF
  242.     <hr />
  243.     <h2>New Entry</h2>
  244.     <form method="POST" action="$self">
  245.         Posted by:<br />
  246.         <input type="text" name="whoby" size="40" /><br /><br />
  247.         Title:<br />
  248.         <input type="text" name="title" size="40" /><br /><br />
  249.         Content:<br />
  250.         <textarea name="content" style="width:100%;" rows="20" maxlength="16384"></textarea>
  251.         <br /><br />
  252.         <input type="submit" name="submit" value="Submit Entry" onClick="return confirm('Are you sure you wish to publish this entry?'); " />
  253.     </form>
  254. EOF;
  255. }
  256.  
  257. /*
  258.  
  259. 13th August, 2010 @ 15:54
  260.  
  261. Getting SQL DATETIME into formatted display
  262.  
  263. $datetime = explode(" ", $resultDateTime);
  264.  
  265. $date = explode("-", $datetime[0]);
  266. $time = explode(":", $datetime[1]);
  267.  
  268. $date[0] equals year
  269. $date[1] equals month
  270. $date[2] equals day
  271.  
  272. $time[0] equals hour
  273. $time[1] equals minute
  274. $time[2] equals seconds
  275.  
  276. Therefore...
  277.  
  278. $string = "$date[2] of $date[1], $date[0] @ $time[0]:$time[1]";
  279.  
  280. Needs array with month names to compare the $date[1] with for completeness.
  281.  
  282. - James
  283.  
  284. */
  285.  
  286. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement