Updated things to better support packaging
authorChuck Scott <cscott@gaslightmedia.com>
Wed, 16 Dec 2015 21:59:27 +0000 (16:59 -0500)
committerChuck Scott <cscott@gaslightmedia.com>
Wed, 16 Dec 2015 21:59:27 +0000 (16:59 -0500)
classes/data/dataMemberInfo.php
defines.php
lib/smartyTemplateSupport.php
views/front/members/list.html

index 5c92f33..66b1c62 100644 (file)
@@ -48,6 +48,13 @@ class GlmDataMemberInfo extends GlmDataAbstract
      * @access public
      */
     public $table;
+    /**
+     * Do Post Processing flag
+     *
+     * @var $doPostProcessing
+     * @access public
+     */
+    public $doPostProcessing = true;
 
     /**
      * Field definitions
@@ -336,35 +343,6 @@ class GlmDataMemberInfo extends GlmDataAbstract
 
        }
 
-       /*
-        * Find the active member info record for a specific member ID
-        *
-        * @param integer $member ID of the member name
-        * @param string $where Optional WHERE clause for query
-        *
-        * @return integer Member info record ID or false if not found
-        */
-       public function getActiveInfoForMember($member, $where = 'true') {
-
-           $memberID = $member - 0;
-
-        $sql = "
-            SELECT T.id
-              FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX. "member_info T
-             WHERE $where
-               AND member = $memberID
-               AND status = ".$this->config['status_numb']['Active']."
-           ;";
-        $memberInfo = $this->wpdb->get_row($sql, ARRAY_A);
-
-        if ($memberInfo) {
-            return $memberInfo['id'];
-        }
-
-        return false;
-
-    }
-
     /*
      * Entry Post Processing Call-Back Method
      *
@@ -383,7 +361,7 @@ class GlmDataMemberInfo extends GlmDataAbstract
     {
 
         // Only run these tests for 'l' (getList), 'g' (getEntry), 'e' (editEntry)
-        if ($a != 'l' && $a != 'g' && $a != 'e') {
+        if (!$this->doPostProcessing || ($a != 'l' && $a != 'g' && $a != 'e')) {
             return $r;
         }
 
@@ -419,6 +397,90 @@ class GlmDataMemberInfo extends GlmDataAbstract
         return $r;
     }
 
+       /*
+        * Find the active member info record for a specific member ID
+        *
+        * @param integer $member ID of the member name
+        * @param string $where Optional WHERE clause for query
+        *
+        * @return integer Member info record ID or false if not found
+        */
+       public function getActiveInfoForMember($member, $where = 'true') {
+
+           $memberID = $member - 0;
+
+        $sql = "
+            SELECT T.id
+              FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX. "member_info T
+             WHERE $where
+               AND member = $memberID
+               AND status = ".$this->config['status_numb']['Active']."
+           ;";
+        $memberInfo = $this->wpdb->get_row($sql, ARRAY_A);
+
+        if ($memberInfo) {
+            return $memberInfo['id'];
+        }
+
+        return false;
+
+    }
+
+       /*
+        * Gets member name, address, phones, and E-Mail only from the
+        * currently active member info record.
+        *
+        * @param integer $memberID ID of the member
+        *
+        * @return integer Member info or false if fail
+        */
+       public function getActiveInfoSimplified($member) {
+
+           // Get the ID for the current info record for this member
+           $mInfoID = $this->getActiveInfoForMember($member);
+           if (!$mInfoID) {
+               return false;
+           }
+
+        // Save current list of fields
+        $f = $this->fields;
+
+        // Replace fields list with limited list - Result will still use original field names
+        $this->fields = array(
+            'member' => $f['member'],
+            'member_name' => $f['member_name'],
+            'member_slug' => $f['member_slug'],
+            'member_pointer' => $f['member_pointer'],
+            'member_addr1' => $f['addr1'],
+            'member_addr2' => $f['addr2'],
+            'member_city' => $f['city'],
+            'member_state' => $f['state'],
+            'member_country' => $f['country'],
+            'member_zip' => $f['zip'],
+            'member_phone' => $f['phone'],
+            'member_toll_free' => $f['toll_free'],
+            'member_email' => $f['email'],
+            'member_url' => $f['url'],
+            'member_logo' => $f['logo']
+        );
+
+        // Save current post processing flag and turn it off
+        $dpp = $this->doPostProcessing;
+        $this->doPostProcessing = false;
+
+           // Get the current member info data
+        $mInfo = $this->getEntry($mInfoID);
+
+        // Restore previous post processing flag
+        $this->doPostProcessign = $dpp;
+
+        // Restore full fields list
+        $this->fields = $f;
+
+        return $mInfo;
+
+    }
+
     /*
      * Get Apha list of first characters in member name
      * for those members that have active info.
index 9186de5..bd02415 100644 (file)
@@ -11,6 +11,9 @@ define('GLM_MEMBERS_PLUGIN_NAME', 'Gaslight Media Member Database');
 define('GLM_MEMBERS_PLUGIN_SHORT_NAME', 'GLM Member DB');
 define('GLM_MEMBERS_PLUGIN_SLUG', 'glm-member-db');
 
+// Enable to display smarty template debug.
+define('GLM_MEMBERS_PLUGIN_DEBUG_SMARTY', false);
+
 // Determine which system we're running on - If not provided, assume PRODUCTION
 $host = getenv('GLM_HOST_ID');
 if (trim($host) == '') {
index f67015b..2f5ce80 100644 (file)
@@ -60,7 +60,7 @@ class smartyTemplateSupport {
                /*
                 * Configure Smarty Templates for this site
                 */
-               $this->template->debugging = false;
+               $this->template->debugging = GLM_MEMBERS_PLUGIN_DEBUG_SMARTY;
                $this->template->setTemplateDir ( GLM_MEMBERS_PLUGIN_PATH . '/views' );
                $this->template->setCompileDir ( GLM_MEMBERS_PLUGIN_PATH . '/misc/smarty/templates_c' );
                $this->template->setCacheDir ( GLM_MEMBERS_PLUGIN_PATH . '/misc/smarty/cache' );
index 6964129..8e935ae 100644 (file)
@@ -87,7 +87,7 @@
                     </div>
                     <div class="small-12 medium-4 glm-member-list-active-info columns">
                 {else}
-                <div class="glm-member-list-image-wrapper small-12 medium-4 columns"><br></div>
+                    <div class="glm-member-list-image-wrapper small-12 medium-4 columns"><br></div>
                     <div class="small-12 medium-4 glm-member-list-active-info columns">    
                 {/if}
 <!-- Member name, address, and basic information -->