$status = true;
}
- // Member sort function
- function packageMemberCmp($a, $b) {
- if ($a['member_name'] == $b['member_name']) {
- return 0;
- }
- return ($a['member_name'] < $b['member_name']) ? -1 : 1;
- }
-
/*
* Sort by Member
*/
- if ($actionData['request']['order'] == 'member') {
+ if (false && $havePackages && $actionData['request']['order'] == 'member') {
// Create empty array that will take all the data by member
$members = array();
// Sort by member name
reset($members);
- uasort($members, 'packageMemberCmp');
+ uasort($members, function($a, $b) {
+ if ($a['member_name'] == $b['member_name']) {
+ return 0;
+ }
+ return ($a['member_name'] < $b['member_name']) ? -1 : 1;
+ });
$byMember = true;
}
+ // Check for alternate template requests
+ switch($actionData['request']['template']) {
+ case 'member-list':
+ $view = 'listForMemberListing.html';
+ break;
+ case 'packages-link':
+ $view = 'packagesLinkForMemberDetail.html';
+ break;
+ case 'member-detail':
+ $view = 'listForMemberDetail.html';
+ break;
+ default:
+ $view = 'list.html';
+ break;
+ }
+
// Compile template data
$templateData = array(
'siteBaseUrl' => GLM_MEMBERS_SITE_BASE_URL,
'status' => $status,
'menuItemRedirect' => false,
'modelRedirect' => false,
- 'view' => 'front/packaging/list.html',
+ 'view' => 'front/packaging/'.$view,
'data' => $templateData,
'settings' => $settings
);
return $newrules + $rules;
});
-// Add packageslug query var
+// Add package slug query var
add_filter('query_vars', function($vars) {
array_push($vars, 'packageslug');
return $vars;
}
});
-// Add content to member detail page - Get it from the existing package detail shortcode
if (isset($this->config['addOns']['glm-member-db'])) {
+
+ // Add content to member listing page - Get it from the existing package listing shortcode
+ add_filter('glm-member-db-front-members-list-memberDataBelow', function($content, $id) {
+ $packageData = do_shortcode('[glm-members-packaging-list member='.$id.' template="member-list" order="title"]');
+ $content .= $packageData;
+ return $content;
+ },
+ 10,
+ 2
+ );
+
+ // Add internal page content links to member detail page
+ add_filter('glm-member-db-front-members-detail-internalContentLinks', function($content, $id) {
+ $packageData = do_shortcode('[glm-members-packaging-list member='.$id.', template="packages-link" order="title"]');
+ $content .= $packageData;
+ return $content;
+ },
+ 10,
+ 2
+ );
+
+ // Add content to member detail page - Get it from the existing package listing shortcode
add_filter('glm-member-db-front-members-detail-descriptionBottom', function($content, $id) {
- $packageData = do_shortcode('[glm-members-packaging-detail id="'.$id.'"]');
+ $packageData = do_shortcode('[glm-members-packaging-list member='.$id.', template="member-detail" order="title"]');
$content .= $packageData;
return $content;
},
10,
2
);
+
}
?>
\ No newline at end of file
'attributes' => array(
'type' => 'all', // 'all', 'member', 'multi-member'
'order' => 'member', // 'member', 'title', 'start-date', 'end-date', 'exp-date'
- 'member' => false // ID of member for member specific list
+ 'member' => false, // ID of member for member specific list
+ 'template' => false // Template type (member-list, member-detail, default is normal)
)
),
'glm-members-packaging-detail' => array(
</p>
</td>
</tr>
+ <tr>
+ <td> </td>
+ <th>template="{template type}"</th>
+ <td>
+ <p>
+ Used to ask the packaging list shortcode to use an alternate template.
+ This option is used when calling the shortcode with the do_shortcode() function to include via a filter
+ in the member listing or detail page.
+ <p>
+ <table width="100%">
+ <tr><th colspan=3">Template Types</th></tr>
+ <tr><td>member-list</td><td>Used when producing output for inclusion in a member listing page.</td></tr>
+ <tr><td>member-detail</td><td>Used when producing output for inclusion in a member detail page</td></tr>
+ </table>
+ </p>
+ </td>
+ </tr>
<tr>
<th>[glm-members-packaging-detail]</th>
<td> </td>
--- /dev/null
+{if $havePackages}
+<h1>Packages</h1>
+
+<div>
+ {foreach $packages as $p}
+ <!-- Container for each package -->
+ <div class="package">
+
+ <!-- Container for package information -->
+ <div class="package-info">
+
+ {if $p.image}
+ <div class="glm-member-img-wrap">
+ <img src="{$glmPluginMediaURL}/images/medium/{$p.image}">
+ </div>
+ {/if}
+ <h3 class="package-title"><a href="{$siteBaseUrl}{$settings.canonical_package_page}/{$p.package_slug}/">{$p.title}</a></h3>
+ {$p.short_descr}
+ <div class="details">
+ <div><span class="title">Expires: </span><span class="data">{$p.expire_date.date}</span></div>
+ <div><span class="title">Pricing: </span><span class="data">{$p.pricing}</span></div>
+ </div>
+ </div>
+
+ </div>
+ {/foreach} <!-- /package -->
+</div>
+{/if}
--- /dev/null
+{if $havePackages}
+<h2>Packages</h2>
+
+<div>
+ {foreach $packages as $p}
+ <!-- Container for each package -->
+ <div class="package">
+
+ <!-- Container for package information -->
+ <div class="package-info">
+
+ {if $p.image}
+ <div class="glm-member-img-wrap">
+ <img src="{$glmPluginMediaURL}/images/medium/{$p.image}">
+ </div>
+ {/if}
+ <h3 class="package-title"><a href="{$siteBaseUrl}{$settings.canonical_package_page}/{$p.package_slug}/">{$p.title}</a></h3>
+ {$p.short_descr}
+ <div class="details">
+ <div><span class="title">Expires: </span><span class="data">{$p.expire_date.date}</span></div>
+ <div><span class="title">Pricing: </span><span class="data">{$p.pricing}</span></div>
+ </div>
+ </div>
+
+ </div>
+ {/foreach} <!-- /package -->
+</div>
+{/if}
--- /dev/null
+{if $havePackages}
+<div>
+ <a name="Package Stuff">Internal Page Link to Packages</a>
+</div>
+{/if}