separated model/note.php into functions
authorDylan Lloyd <dylan@dylansserver.com>
Sat, 24 Mar 2012 19:49:37 +0000 (15:49 -0400)
committerDylan Lloyd <dylan@dylansserver.com>
Sat, 24 Mar 2012 19:49:37 +0000 (15:49 -0400)
model/note.php

index d5ab563..8e863f1 100644 (file)
@@ -24,6 +24,11 @@ class note extends model {
       $url = substr($url, 0, (strlen($url)-6));
     }
     $this->url = $url;
+    $this->fetch_note();
+    $this->fetch_comments();
+  }
+
+  public function fetch_note() {
     $sql = "SELECT title, date_posted, text, id
               FROM notes WHERE url = ?";
     $result = $this->query($sql, "s",
@@ -41,6 +46,9 @@ class note extends model {
     } else {
       throw new notFound();
     }
+  }
+
+  public function fetch_comments() {
     $sql = "SELECT COUNT(*) FROM comments
               WHERE note = $this->id";
     $result = $this->db->query($sql);
@@ -55,34 +63,6 @@ class note extends model {
       require_once("view/note.php");
   }
 
-  public function verify() {
-    if (!isset($_POST['captcha'])) {
-      require_once('includes/recaptchalib.php');
-      echo "<br>";
-      $resp = recaptcha_check_answer ($this->recaptcha_privatekey,
-                                      $_SERVER["REMOTE_ADDR"],
-                                      $_POST["recaptcha_challenge_field"],
-                                      $_POST["recaptcha_response_field"]);
-      if (!$resp->is_valid) {
-        $this->failed_captcha = true;
-      }
-    }
-    if (isset($_POST['captcha']) || $resp->is_valid) {
-      $sql = ("INSERT INTO comments (date_posted, author,
-                  text, note)
-                VALUES(NOW(), ?, ?, ?)");
-      $stmt = $this->db->prepare($sql);
-      // Checks are needed here (no blank text,
-      // and a default author needs to be set
-      // for no-javascript users.
-      $stmt->bind_param('sss',
-                          $_POST['name'],
-                          $_POST['text'],
-                        $this->id);
-      $stmt->execute();
-    }
-  }
-
   public function display_comment_link() {
     if ($this->number_of_comments > 0) {
       $anchor_text = "comments($this->number_of_comments)/";
@@ -98,7 +78,6 @@ class note extends model {
   }
 
   public function display_comments() {
-    // should be called like $note->comment[0]['author']
     $sql= "SELECT date_posted, author, text
              FROM comments WHERE note = ?
              ORDER BY date_posted DESC";
@@ -110,13 +89,42 @@ class note extends model {
       $this->comment[$i]['text'] = htmlspecialchars($entry['text']);
       $this->comment[$i]['head'] = "<h3>" . htmlspecialchars($author) . "</h3>";
       $i++;
-      }
+    }
   }
 
   public function display_comment_form() {
     $publickey = $this->recaptcha_publickey;
     require_once("view/comment-form.php");
   }
+
+  public function verify() {
+    if (!isset($_POST['captcha'])) {
+      require_once('includes/recaptchalib.php');
+      echo "<br>";
+      $resp = recaptcha_check_answer ($this->recaptcha_privatekey,
+                                      $_SERVER["REMOTE_ADDR"],
+                                      $_POST["recaptcha_challenge_field"],
+                                      $_POST["recaptcha_response_field"]);
+      if (!$resp->is_valid) {
+        $this->failed_captcha = true;
+      }
+    }
+    if (isset($_POST['captcha']) || $resp->is_valid) {
+      $sql = ("INSERT INTO comments (date_posted, author,
+                  text, note)
+                VALUES(NOW(), ?, ?, ?)");
+      $stmt = $this->db->prepare($sql);
+      // Checks are needed here (no blank text,
+      // and a default author needs to be set
+      // for no-javascript users.
+      $stmt->bind_param('sss',
+                          $_POST['name'],
+                          $_POST['text'],
+                        $this->id);
+      $stmt->execute();
+    }
+  }
+
 }
 
 ?>