Adding edit add page
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 1 Jun 2018 18:08:39 +0000 (14:08 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Fri, 1 Jun 2018 18:08:39 +0000 (14:08 -0400)
For editing adding the messages.

classes/data/dataMessages.php
config/plugin.ini
models/admin/relay/index.php
setup/databaseScripts/dbVersions.php [new file with mode: 0644]
views/admin/relay/edit.html [new file with mode: 0644]
views/admin/relay/index.html

index d1b693e..75534dc 100644 (file)
@@ -124,12 +124,12 @@ class GlmDataMessages extends GlmDataAbstract
 
             // Status
             'status' => array (
-                'field' => 'status',
-                'type' => 'list',
-                'list' => $this->config['event_status'],
+                'field'    => 'status',
+                'type'     => 'list',
+                'list'     => $this->config['message_status'],
                 'required' => true,
-                'default' => $this->config['status_numb']['Pending'],
-                'use' => 'a'
+                'default'  => $this->config['message_status_numb']['Active'],
+                'use'      => 'a'
             ),
 
             // Title
@@ -142,24 +142,24 @@ class GlmDataMessages extends GlmDataAbstract
 
             // message
             'message' => array(
-              'field'    => 'message',
-              'type'     => 'text',
-              'require'  => false,
-              'use'      => 'a'
+              'field'   => 'message',
+              'type'    => 'text',
+              'require' => false,
+              'use'     => 'a'
             ),
 
             // Date/Time Created
             'created' => array (
                 'field' => 'created',
-                'type' => 'datetime',
-                'use' => 'lge'
+                'type'  => 'datetime',
+                'use'   => 'a'
             ),
 
             // Date/Time Updated
             'updated' => array (
                 'field' => 'updated',
-                'type' => 'datetime',
-                'use' => 'a'
+                'type'  => 'datetime',
+                'use'   => 'a'
             ),
 
 
index 9222f7e..9a92570 100644 (file)
@@ -2,7 +2,15 @@
 ; Main Configuration File
 ; {descrName}
 ;
-; Place any static configuration parameters here.  
+; Place any static configuration parameters here.
 ;
 
 [common]
+
+; Entry Status Types
+;
+message_status[10] = 'Active'
+message_status[20] = 'Inactive'
+
+message_status_numb['Active']    = 10
+message_status_numb['Inactive'] = 20
index a20d676..51f080a 100644 (file)
@@ -14,9 +14,9 @@
  */
 
 // Load Events data abstract
-// require_once GLM_MEMBERS_RELAY_PLUGIN_CLASS_PATH.'/data/dataEvents.php';
+require_once GLM_MEMBERS_RELAY_PLUGIN_CLASS_PATH.'/data/dataMessages.php';
 
-class GlmMembersAdmin_relay_index // extends GlmDataEvents
+class GlmMembersAdmin_relay_index extends GlmDataMessages
 {
 
     /**
@@ -81,17 +81,57 @@ class GlmMembersAdmin_relay_index // extends GlmDataEvents
          * Note, the third parameter is a flag that indicates to the Contacts
          * data class that it should flag a group of fields as 'view_only'.
          */
-        // parent::__construct(false, false, true);
+        parent::__construct(false, false, true);
 
     }
 
     public function modelAction($actionData = false)
     {
-        $view = 'index.html';
+        $view     = 'index.html';
+        $messages = false;
+        $message  = false;
+
+        $option = isset( $_REQUEST['option'] ) ? $_REQUEST['option'] : false;
+
+        switch ( $option ) {
+        case 'add':
+            $message = $this->newEntry();
+            $view = 'edit.html';
+            break;
+        case 'insert':
+            $_REQUEST['created'] = date( 'Y-m-d H:i:s' );
+            $_REQUEST['updated'] = date( 'Y-m-d H:i:s' );
+            $message = $this->insertEntry();
+            $view = 'edit.html';
+            break;
+        case 'edit':
+            if ( isset( $_REQUEST['id'] ) && $message_id = filter_var( $_REQUEST['id'] ) ) {
+                $message = $this->getEntry( $message_id );
+            }
+            $view = 'edit.html';
+            break;
+        case 'update':
+            if ( isset( $_REQUEST['id'] ) && $message_id = filter_var( $_REQUEST['id'] ) ) {
+                $message = $this->updateEntry( $message_id );
+            }
+            $view = 'edit.html';
+            break;
+        case 'delete':
+            if ( isset( $_REQUEST['id'] ) && $message_id = filter_var( $_REQUEST['id'] ) ) {
+                $message = $this->deleteEntry( $message_id );
+            }
+            break;
+        default:
+            $messages = $this->getList();
+            break;
+        }
+
 
 
         // Compile template data
         $templateData = array(
+            'messages' => $messages,
+            'message'  => $message,
         );
              // Return status, any suggested view, and any data to controller
         return array(
diff --git a/setup/databaseScripts/dbVersions.php b/setup/databaseScripts/dbVersions.php
new file mode 100644 (file)
index 0000000..dfd37b7
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Gaslight Media Members Database
+ * GLM Members Packaging DB Versions
+ *
+ * PHP version 5.5
+ *
+ * @category glmWordPressPlugin
+ * @package  glmMembersDatabase
+ * @author   Chuck Scott <cscott@gaslightmedia.com>
+ * @license  http://www.gaslightmedia.com Gaslightmedia
+ * @release  dbVersions.php,v 1.0 2014/10/31 19:31:47 cscott Exp $
+ * @link     http://dev.gaslightmedia.com/
+ */
+
+/**
+ * Database Versions
+ *
+ * *** PLEASE NOW INCLUDE A DATE FOR EACH DATABASE VERSION ***
+ *  '1.1.2' => array('version' => '1.1.2', 'tables' => 14, 'date' => '4/11/16')
+ *
+ * An array of past and current Member Database versions.
+ *
+ * Each entry below uses a key so code can find data on
+ * a specific version and in the values are the version
+ * again and the proper number of tables that should
+ * exist with that version.
+ */
+$glmMembersRelayDbVersions = array(
+    '0.0.1' => array('version' => '0.0.1', 'tables' => 1, 'date' => '06/01/2018'),
+);
+
+
diff --git a/views/admin/relay/edit.html b/views/admin/relay/edit.html
new file mode 100644 (file)
index 0000000..7d986e4
--- /dev/null
@@ -0,0 +1,59 @@
+{include file="admin/relay/header.html"}
+
+<h3>Edit/Add Message</h3>
+
+<form action="{$thisUrl}?page={$thisPage}" method="post">
+    <input type="hidden" name="glm_action" value="index" />
+    {if isset($message.fieldData.id) &&  $message.fieldData.id}
+        <input type="hidden" name="id" value="{$mesagge.id}" />
+        <input type="hidden" name="option" value="update" />
+    {else}
+        <input type="hidden" name="option" value="insert" />
+    {/if}
+    <table id="glm-table-message" class="glm-admin-table glm-event-table">
+
+    <tr>
+        <th {if $message.fieldRequired.status} class="glm-required"}{/if}>Status</th>
+        <td {if $message.fieldFail.status}class="glm-form-bad-input" data-tabid="glm-status"{/if}>
+            <select name="status">
+                <option value=""></option>
+                {foreach $message.fieldData.status.list as $v}
+                    <option value="{$v.value}"
+                        {if $message.fieldData.status.value == $v.value} selected{/if}
+                    >
+                        {$v.name}
+                    </option>
+                {/foreach}
+            </select>
+        {if $message.fieldFail.status}<p>{$message.fieldFail.status}</p>{/if}<br>
+        </td>
+    </tr>
+
+    <tr>
+        <th {if $message.fieldRequired.title} class="glm-required"}{/if}>Title</th>
+        <td {if $message.fieldFail.title}class="glm-form-bad-input" data-tabid="glm-title"{/if}>
+            <input type="text" name="title" value="{$message.fieldData.title}" class="glm-form-text-input-medium">
+        {if $message.fieldFail.title}<p>{$message.fieldFail.title}</p>{/if}<br>
+        </td>
+    </tr>
+
+    <tr>
+        <th {if $message.fieldRequired.message} class="glm-required"}{/if}>Message</th>
+        <td {if $message.fieldFail.message}class="glm-form-bad-input" data-tabid="glm-message"{/if}>
+        <textarea name="message" class="glm-form-textarea">{$message.fieldData.message}</textarea>
+            {if $message.fieldFail.message}
+                <p>{$message.fieldFail.message}</p>
+            {/if}<br>
+        </td>
+    </tr>
+
+    <tr>
+        <td colspan="2">
+            <input type="submit" class="button" value="Save" />
+        </td>
+    </tr>
+
+    </table>
+</form>
+
+{include file="admin/footer.html"}
index c50dd1d..b38969c 100644 (file)
@@ -2,4 +2,14 @@
 
 <h2>GLM Info</h2>
 
+<a class="button" href="{$thisUrl}?page={$thisPage}&glm_action=index&option=add">Add Message</a>
+
+{if $messages}
+    {foreach $messages as $m}
+        <div>
+            <span>{$m.title}</span><span>{$m.updated.datetime}</span>
+        </div>
+    {/foreach}
+{/if}
+
 {include file="admin/footer.html"}