Contacts mgmt tabs standardized, custom-fields-friendly
authorLaury GvR <laury@gaslightmedia.com>
Wed, 25 Oct 2017 16:54:08 +0000 (12:54 -0400)
committerLaury GvR <laury@gaslightmedia.com>
Wed, 25 Oct 2017 16:54:08 +0000 (12:54 -0400)
models/admin/management/contacts.php
views/admin/management/contactHeader.html [new file with mode: 0644]
views/admin/management/contacts.html
views/admin/management/custom.html [new file with mode: 0644]

index 95df0ec..10594bc 100644 (file)
@@ -107,18 +107,28 @@ class GlmMembersAdmin_management_contacts extends GlmDataContacts
      */
     public function modelAction($actionData = false)
     {
-
-        $option = 'importSetup';
-        $importResult = array(
-            'status' => false,
-            'exceptionTable' => false
+        
+        $option             = 'importSetup';
+        $importResult       = array(
+                                'status' => false,
+                                'exceptionTable' => false
         );
-        $errorMsg = false;
-        $db_host = false;
-        $db_name = false;
-        $db_user = false;
-        $db_password = false;
+        $errorMsg           = false;
+        $db_host            = false;
+        $db_name            = false;
+        $db_user            = false;
+        $db_password        = false;
+        $content            = '';
+        $thisOption         = '';
+        $requestedView      = 'contacts.html';
 
+        $templateData = array(
+            'thisOption'     => '',
+        );
+        
+        if ($actionData) {
+            $templateData = $actionData;
+        }
 
         if (isset($_REQUEST['option'])) {
             $option = $_REQUEST['option'];
@@ -209,6 +219,12 @@ class GlmMembersAdmin_management_contacts extends GlmDataContacts
 
                 break;
 
+            case 'customfields':
+                $requestedView = 'custom.html';
+                $content = apply_filters( 'glm-members-customfields-edit', '', GLM_MEMBERS_CONTACTS_PLUGIN_SLUG );
+                $thisOption = $option;
+                break;
+
             case 'importSetup':
             default:
 
@@ -225,6 +241,8 @@ class GlmMembersAdmin_management_contacts extends GlmDataContacts
             'db_name'           => $db_name,
             'db_user'           => $db_user,
             'db_password'       => $db_password,
+            'content'           => $content,
+            'thisOption'        => $thisOption
         );
 
         // Return status, suggested view, and data to controller
@@ -232,12 +250,12 @@ class GlmMembersAdmin_management_contacts extends GlmDataContacts
             'status'           => true,
             'menuItemRedirect' => false,
             'modelRedirect'    => false,
-            'view'             => 'admin/management/contacts.html',
+            'view'             => 'admin/management/'.$requestedView,
             'data'             => $templateData
         );
 
 
-    }
+    } 
 
 
     /**
diff --git a/views/admin/management/contactHeader.html b/views/admin/management/contactHeader.html
new file mode 100644 (file)
index 0000000..ec30c65
--- /dev/null
@@ -0,0 +1,6 @@
+<h2 class="nav-tab-wrapper">
+    <a href="{$thisUrl}?page={$thisPage}&glm_action=contacts" class="nav-tab{if $thisOption == ''} nav-tab-active{/if}">Contact Options</a>
+    {if apply_filters( 'glm-members-customfields-active', false )}
+        <a href="{$thisUrl}?page={$thisPage}&glm_action=contacts&option=customfields" class="nav-tab{if $thisOption == 'customfields'} nav-tab-active{/if}">Custom Fields</a>
+    {/if}
+</h2>
\ No newline at end of file
index 0317a16..f02f013 100644 (file)
@@ -1,4 +1,5 @@
 {include file='admin/management/header.html'}
+{include file='admin/management/contactHeader.html'}
 
 {if $errorMsg != false}
     <div style="border: 1px black solid; padding: 1em; margin-top: 2em; width: auto;">
diff --git a/views/admin/management/custom.html b/views/admin/management/custom.html
new file mode 100644 (file)
index 0000000..7ac63b0
--- /dev/null
@@ -0,0 +1,6 @@
+{include file='admin/management/header.html'}
+{include file='admin/management/contactHeader.html'}
+
+{$content}
+
+{include file='admin/footer.html'}