Updating how the member sort is done.
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 16 Dec 2016 20:15:03 +0000 (15:15 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Fri, 16 Dec 2016 20:16:25 +0000 (15:16 -0500)
Using the member field instead of the member_name field. Sometimes the
member_name field would be empty. One such case was when the member info
record was cloned.

index.php
models/front/packaging/list.php
views/front/packaging/list.html

index fea1207..7ebfa50 100644 (file)
--- a/index.php
+++ b/index.php
@@ -3,7 +3,7 @@
  * Plugin Name: GLM Members Database Packaging
  * Plugin URI: http://www.gaslightmedia.com/
  * Description: Gaslight Media Members Database.
- * Version: 1.2.2
+ * Version: 1.2.3
  * Author: Gaslight Media
  * Author URI: http://www.gaslightmedia.com/
  * License: GPL2
@@ -19,7 +19,7 @@
  * @package glmMembersDatabasePackagingAddOn
  * @author Chuck Scott <cscott@gaslightmedia.com>
  * @license http://www.gaslightmedia.com Gaslightmedia
- * @version 1.2.2
+ * @version 1.2.3
  */
 
 /*
@@ -37,7 +37,7 @@
  *  so that we're sure the other add-ons see an up to date
  *  version from this plugin.
  */
-define('GLM_MEMBERS_PACKAGING_PLUGIN_VERSION', '1.2.2');
+define('GLM_MEMBERS_PACKAGING_PLUGIN_VERSION', '1.2.3');
 define('GLM_MEMBERS_PACKAGING_PLUGIN_DB_VERSION', '1.1.5');
 
 // This is the minimum version of the GLM Members DB plugin require for this plugin.
index b065c9a..e3c196f 100644 (file)
@@ -36,7 +36,7 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
      */
     public $config;
 
-    /*
+    /**
      * Constructor
      *
      * This contructor sets up this model. At this time that only includes
@@ -59,7 +59,7 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
 
     }
 
-    /*
+    /**
      * Perform Model Action
      *
      * This method does the work for this model and returns any resulting data
@@ -93,15 +93,15 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
      * produce output.
      *
      */
-    public function modelAction ($actionData = false)
+    public function modelAction( $actionData = false )
     {
 
-        $havePackages = false;
-        $packages = false;      // Used if sorting by package
-        $members = false;       // Used if sorting by member then package
-        $status = false;
-        $orderBy = '';
-        $byMember = false;
+        $havePackages        = false;
+        $packages            = false;      // Used if sorting by package
+        $members             = false;       // Used if sorting by member then package
+        $status              = false;
+        $orderBy             = '';
+        $byMember            = false;
         $noMemberWithPackage = false;   // Say whether to skip getting member data with package results
 
         // Only select packages that are current
@@ -110,7 +110,7 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
         /*
          * Select packages by specified type
          */
-        switch($actionData['request']['type']) {
+        switch( $actionData['request']['type'] ) {
 
             // Member Packages Only
             case 'member':
@@ -136,15 +136,15 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
         /*
          * Check for specified member ID
          */
-        $memberID = ($actionData['request']['member'] - 0);
-        if ($actionData['request']['member'] > 0) {
+        $memberID = ( $actionData['request']['member'] - 0 );
+        if ( $actionData['request']['member'] > 0 ) {
             $where .= " AND T.ref_type = ".$this->config['ref_type_numb']['Member']." and T.ref_dest = $memberID";
             $noMemberWithPackage = true;
         }
 
         // Check for specified output ordering
         $order_type = $actionData['request']['order'];
-        switch($order_type) {
+        switch( $order_type ) {
 
             case 'member':
                 // This is done below after the list of packages has been retrieved.
@@ -173,7 +173,7 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
         }
 
         // Order by set "Display Order" is always the second-level sorting method
-        if ($orderBy != '') {
+        if ( $orderBy != '' ) {
             $orderBy .= ',';
         }
         $orderBy .= 'position DESC';
@@ -181,8 +181,8 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
         /*
          * Get the list of packages that meet the previous requirements
          */
-        $packages = $this->getPackageList($where, $orderBy, $noMemberWithPackage);
-        if ($packages && count($packages) > 0) {
+        $packages = $this->getPackageList( $where, $orderBy, $noMemberWithPackage );
+        if ( $packages && count( $packages ) > 0 ) {
             $havePackages = true;
             $status = true;
         }
@@ -190,19 +190,19 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
         /*
          * Sort by Member
          */
-        if ($havePackages && $actionData['request']['order'] == 'member') {
+        if ( $havePackages && $order_type == 'member' ) {
 
             // Create empty array that will take all the data by member
             $members = array();
 
             // For each package
-            foreach ($packages as $p) {
+            foreach ( $packages as $p ) {
 
                 $membID = $p['member']['member_pointer'];
 
                 // If member has not been created, do that now.
-                if (!isset($members[$membID])) {
-                    $members[$membID] = $p['member'];
+                if ( !isset( $members[$membID] ) ) {
+                    $members[$membID]             = $p['member'];
                     $members[$membID]['packages'] = array();
                 }
 
@@ -210,20 +210,23 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
                 $members[$membID]['packages'][$p['id']] = $p;
 
                 // Drop member data from the package
-                unset($members[$membID]['packages'][$p['id']]['member']);
+                unset( $members[$membID]['packages'][$p['id']]['member'] );
             }
 
             // Drop the data organized by packages
             $packages = false;
 
             // Sort by member name
-            reset($members);
-            uasort($members, function($a, $b) {
-                if ($a['member_name'] == $b['member_name']) {
-                    return 0;
+            reset( $members );
+            uasort(
+                $members,
+                function($a, $b) {
+                    if ( $a['member'] == $b['member'] ) {
+                        return 0;
+                    }
+                    return ( $a['member'] < $b['member'] ) ? -1 : 1;
                 }
-                return ($a['member_name'] < $b['member_name']) ? -1 : 1;
-            });
+            );
 
             $byMember = true;
         }
@@ -255,20 +258,20 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
 
         // Compile template data
         $templateData = array(
-            'siteBaseUrl' => GLM_MEMBERS_SITE_BASE_URL,
+            'siteBaseUrl'  => GLM_MEMBERS_SITE_BASE_URL,
             'havePackages' => $havePackages,
-            'packages' => $packages,
-            'members' => $members,
-            'byMember' => $byMember
+            'packages'     => $packages,
+            'members'      => $members,
+            'byMember'     => $byMember
         );
 
         // Return status, suggested view, and data to controller - also return any modified settings
         return array(
-            'status' => $status,
+            'status'           => $status,
             'menuItemRedirect' => false,
-            'modelRedirect' => false,
-            'view' => 'front/packaging/'.$view,
-            'data' => $templateData
+            'modelRedirect'    => false,
+            'view'             => 'front/packaging/'.$view,
+            'data'             => $templateData
         );
 
     }
@@ -276,4 +279,4 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
 
 }
 
-?>
\ No newline at end of file
+?>
index ae2088f..f322850 100644 (file)
@@ -1,27 +1,27 @@
 <div class="glm-member-db-packaging-list">
 
-    
-    
+
+
 {include file='front/packaging/header.html'}
 {apply_filters('glm-member-db-front-members-list-pageTop', '')}
-<!-- 
+<!--
     NOTE: Image sizes for member db are typically large, medium, small, thumb.
     These may be modified or added to by entries in the glm-member-db/config/plugin.ini file
 -->
 
 <!-- Container for entire list of packages -->
 <div class="glm-member-package-list-wrapper">
-    
+
     {if $havePackages}
     <!-- If packages are listed by member, use this block -->
-   
+
         {if $byMember}
             <h3>List of Packages</h3>
             <!-- /member -->
             {foreach $members as $m}
 
                 <div class="glm-member-list-container glm-package-list-container glm-member-container small-12 columns">
-                
+
                 <!-- Member Logo - Medium and up-->
                     <div class="glm-member-list-data small-12 columns">
                         {if $m.logo && $settings.package_list_show_member_image}
 
                                         <!-- Container for package information -->
                                         <div class="glm-member-db-package-info">
-                                            
+
                                             {if $p.image && $settings.package_list_show_image}
                                                 <div class="glm-package-img-wrap">
                                                     <img src="{$glmPluginMediaUrl}/images/medium/{$p.image}">
-                                                </div> 
+                                                </div>
                                             {/if}
                                             <h3 class="glm-member-db-package-title">
                                                 {if $settings.package_list_show_package_detail_link}
                                                 {if $p.pricing && $settings.package_list_show_pricing}
                                                     <div><span class="glm-member-db-package-detail-title">Pricing: </span><span class="glm-member-db-package-detail-data">{$p.pricing}</span></div>
                                                 {/if}
-                                            </div> <!-- /package details --> 
-                                        </div> <!-- /package info container --> 
-                                    </div> <!-- /package-container --> 
-                                {/foreach} <!-- /package --> 
+                                            </div> <!-- /package details -->
+                                        </div> <!-- /package info container -->
+                                    </div> <!-- /package-container -->
+                                {/foreach} <!-- /package -->
                             </div> <!-- package list-->
                         </div> <!-- member list active info -->
                     </div> <!-- member list data -->
         <h3>List of Packages</h3>
         {foreach $packages as $p}
             <div class="glm-member-package-container">
-    
+
                 <!-- Container for member information if displayed with each package -->
                 <div class="member">
                     {if $p.member.logo}<div class="glm-member-img-wrap"><img src="{$glmPluginMediaUrl}/images/medium/{$p.member.logo}"></div>{/if}
                         {if $p.member.email}<a class="email" title="Email" href="mailto:{$p.member.email}">{$p.member.email}</a>{/if}
                     </div>
                 </div>
-        
+
                 <!-- Container for package information -->
                 <div class="glm-member-db-package">
                     <div class="glm-member-db-package-info">
-                    
+
                         {if $p.image}<div class="glm-package-img-wrap"><img src="{$glmPluginMediaUrl}/images/medium/{$p.image}"></div>{/if}
                         <h3 class="glm-member-db-package-title">
                             {if $settings.package_list_show_package_detail_link}
                     </div>
                 </div>
             </div>
-        
+
         {/foreach}
     {/if} <!-- if by member -->
 {else}