* 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
* @package glmMembersDatabasePackagingAddOn
* @author Chuck Scott <cscott@gaslightmedia.com>
* @license http://www.gaslightmedia.com Gaslightmedia
- * @version 1.2.2
+ * @version 1.2.3
*/
/*
* 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.
*/
public $config;
- /*
+ /**
* Constructor
*
* This contructor sets up this model. At this time that only includes
}
- /*
+ /**
* Perform Model Action
*
* This method does the work for this model and returns any resulting data
* 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
/*
* Select packages by specified type
*/
- switch($actionData['request']['type']) {
+ switch( $actionData['request']['type'] ) {
// Member Packages Only
case 'member':
/*
* 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.
}
// Order by set "Display Order" is always the second-level sorting method
- if ($orderBy != '') {
+ if ( $orderBy != '' ) {
$orderBy .= ',';
}
$orderBy .= 'position DESC';
/*
* 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;
}
/*
* 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();
}
$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;
}
// 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
);
}
}
-?>
\ No newline at end of file
+?>
<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}