From b4b3845a002c6c758c7fbbd23301bb64e8f33650 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Fri, 16 Dec 2016 15:15:03 -0500 Subject: [PATCH] Updating how the member sort is done. 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 | 6 +-- models/front/packaging/list.php | 75 +++++++++++++++++---------------- views/front/packaging/list.html | 32 +++++++------- 3 files changed, 58 insertions(+), 55 deletions(-) diff --git a/index.php b/index.php index fea1207..7ebfa50 100644 --- 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 * @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. diff --git a/models/front/packaging/list.php b/models/front/packaging/list.php index b065c9a..e3c196f 100644 --- a/models/front/packaging/list.php +++ b/models/front/packaging/list.php @@ -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 +?> diff --git a/views/front/packaging/list.html b/views/front/packaging/list.html index ae2088f..f322850 100644 --- a/views/front/packaging/list.html +++ b/views/front/packaging/list.html @@ -1,27 +1,27 @@
- - + + {include file='front/packaging/header.html'} {apply_filters('glm-member-db-front-members-list-pageTop', '')} -
- + {if $havePackages} - + {if $byMember}

List of Packages

{foreach $members as $m}
- +
{if $m.logo && $settings.package_list_show_member_image} @@ -81,11 +81,11 @@
- + {if $p.image && $settings.package_list_show_image}
-
+
{/if}

{if $settings.package_list_show_package_detail_link} @@ -106,10 +106,10 @@ {if $p.pricing && $settings.package_list_show_pricing}
Pricing: {$p.pricing}
{/if} -

-
-
- {/foreach} +
+ + + {/foreach} @@ -120,7 +120,7 @@

List of Packages

{foreach $packages as $p}
- +
{if $p.member.logo}
{/if} @@ -136,11 +136,11 @@ {if $p.member.email}{/if}
- +
- + {if $p.image}
{/if}

{if $settings.package_list_show_package_detail_link} @@ -161,7 +161,7 @@

- + {/foreach} {/if} {else} -- 2.17.1