Browse Source

Added a view to manage expired messages.

Adam Day 9 years ago
parent
commit
6ecba163b4

+ 6 - 0
application/controllers/messagesController.php

@@ -101,6 +101,12 @@ class messagesController extends Staple_Controller
         $message->delete($id);
         header("location:".$this->_link(array('messages'))."");
     }
+
+    public function expired()
+    {
+        $messages = new messagesModel();
+        $this->view->messages = $messages->getExpiredMessages();
+    }
 }
 
 ?>

+ 20 - 0
application/models/messagesModel.php

@@ -107,6 +107,26 @@ class messagesModel extends Staple_Model
         return $data;
     }
 
+    function getExpiredMessages()
+    {
+        $date = new DateTime();
+        $date->setTime(0,0,0);
+
+        $sql = "
+            SELECT * FROM messages WHERE expireDate < '".$this->db->real_escape_string($date->format('U'))."' ORDER BY postDate DESC;
+        ";
+
+        $data = array();
+
+        $query = $this->db->query($sql);
+        while($result = $query->fetch_assoc())
+        {
+        $data[] = $result;
+        }
+
+        return $data;
+    }
+
     function save()
     {
         if(isset($this->id))

+ 62 - 0
application/views/messages/expired.phtml

@@ -0,0 +1,62 @@
+<div class="section">
+    <div class="row">
+        <div class="small-6 columns">
+            <h1><i class="fa fa-history"></i> Expired Messages</h1>
+        </div>
+        <div class="small-6 columns right">
+            <ul class="button-group radius right">
+                <li><a href="<?php echo $this->link(array('messages')) ?>" class="button secondary"><i class="fa fa-arrow-left"></i> Back</a></li>
+            </ul>
+        </div>
+    </div>
+    <div class="row">
+        <div class="small-12 columns">
+            <?php
+
+            if(count($this->messages) > 0)
+            {
+                echo "
+                        <table width='100%'>
+                            <thead>
+                                <tr>
+                                    <th>Post Date</th>
+                                    <th>Message</th>
+                                    <th>Expiration Date (EOD)</th>
+                                    <th>Options</th>
+                                </tr>
+                            </thead>
+                            <tbody>
+                    ";
+                foreach($this->messages as $message)
+                {
+                    $date = new DateTime();
+                    $date->setTimestamp($message['expireDate']);
+
+                    echo "
+
+                            <tr>
+                                <td>".$message['postDate']."</td>
+                                <td>".$message['message']."</td>
+                                <td>".$date->format('l, F jS Y')."</td>
+                                <td><a href='".$this->link(array('messages','edit',$message['id']))."'>Edit</a></td>
+                            </tr>
+
+                        ";
+                }
+                echo "</tbody></table>";
+            }
+            else
+            {
+                echo "<div class='small-12 columns text-center'>- No expired messages -</div>";
+            }
+
+            ?>
+        </div>
+    </div>
+</div>
+
+<div id="newMessage" class="reveal-modal small" data-reveal aria-labelledby="New Message" aria-hidden="true" role="dialog">
+    <h2 id="modalTitle"><i class="fa fa-plus"></i> New Message</h2>
+    <?php echo $this->form; ?>
+    <a class="close-reveal-modal" aria-label="Close">&#215;</a>
+</div>

+ 1 - 0
application/views/messages/index.phtml

@@ -6,6 +6,7 @@
         <div class="small-6 columns right">
             <ul class="button-group radius right">
                 <li><a href="#" data-reveal-id="newMessage" class="button success"><i class="fa fa-plus"></i> New Message</a></li>
+                <li><a href="<?php echo $this->link(array('messages','expired')) ?>" class="button secondary"><i class="fa fa-history"></i> Expired</a></li>
             </ul>
         </div>
     </div>