* @version 0.1
*/
-require_once GLM_MEMBERS_EVENTS_PLUGIN_CLASS_PATH.'/data/dataEvents.php';
+require_once GLM_MEMBERS_PACKAGING_PLUGIN_CLASS_PATH.'/data/dataPackages.php';
/**
* Dashboard Class Model
* Each Add-On can have one or more dashboards.
*/
-class GlmMembersAdmin_dashboard_packaging // extends GlmDataEvents
+class GlmMembersAdmin_dashboard_packaging extends GlmDataPackages
{
/**
* Word Press Database Object
$this->config = $config;
// Run constructor for members data class
- //parent::__construct(false, false);
+ parent::__construct(false, false);
}
$success = true;
$hasLastDownload = false;
$lastSearchDate = '';
+ $packages = false;
+ $havePackages = false;
// Get list of member events.
if ( isset( $this->config['loggedInUser']['contactUser']['ref_dest'] )
&& $memberID = filter_var( $this->config['loggedInUser']['contactUser']['ref_dest'], FILTER_VALIDATE_INT)
) {
+ $lockedToMember = apply_filters('glm_members_locked_to_member_id', false);
+ if ($lockedToMember) {
+ $memberID = $lockedToMember;
+ $lockedToMember = $memberID;
+ $memberWhere = "T.id = $memberID";
+ $lockedWhereT = 'T.ref_type = '.$this->config['ref_type_numb']['Member'].' AND T.ref_dest = '.$memberID;
+ $lockedWhere = 'ref_type = '.$this->config['ref_type_numb']['Member'].' AND ref_dest = '.$memberID;
+ $where = '';
+ //$packages = $this->getList( $lockedWhereT.$where);
+ $packages = $this->getList( $lockedWhereT.$where, '', true, 'id', 1, 5 );
+ // If we have some, tell the template
+ if ($packages && count($packages['list']) > 0) {
+ $havePackages = true;
+ }
+
+ }
}
+ // If we have list entries - even if it's an empty list
+ $success = true;
+ $havePackages = false;
+ if ($packages !== false) {
+ $success = true;
+
+ // If we have any entries
+ if (count($packages) > 0) {
+ $havePackages = true;
+ }
+ }
// Compile template data.
$templateData = array(
- 'memberID' => $memberID,
+ 'lockedToMember' => $lockedToMember,
+ 'havePackages' => $havePackages,
+ 'packages' => $packages['list'],
+ 'memberID' => $memberID,
);
// Return status, suggested view, and data to controller.
{if $packageUpdated}<h2 class="glm-notice glm-flash-updated">Package Updated</h2>{/if}
{if $packageError}<h2 class="glm-error glm-flash-updated">Error submitting package, see below...</h2>{/if}
-
+
{if $option == 'edit' || $option == 'add'}
-
+
{if apply_filters('glm_members_permit_admin_members_packaging_edit_package', true)}
-
+
{if $option == 'edit'}
{if $lockedToMember}
<h2>Edit Package</h2>
<h2>Edit Multi-{$terms.term_member_cap} Package</h2>
{/if}
<a id="deletePackageButton" class="button button-primary glm-button glm-right">Delete this Package</a>
-
+
<div id="deletePackageDialog" class="glm-dialog-box" title="Delete Package">
<center>
<p><a id="deletePackageCancel" class="button button-primary">Cancel</a></p>
<div class="glm-item-container">
<p><center><span class="glm-error">WARNING:</span></center></p>
<p>
- <span class="glm-warning">Clicking the "Delete this Package" button above will
+ <span class="glm-warning">Clicking the "Delete this Package" button above will
delete all of the data and images associated with this package.
</span>
</p>
{/if}
{/if}
<a href="{$thisUrl}?page=glm-members-admin-menu-packaging-index&glm_action=index&option=list" class="button button-primary glm-button glm-right">Return to Package List</a>
-
-
+
+
<form action="{$thisUrl}?page={$thisPage}" method="post" enctype="multipart/form-data">
<input type="hidden" name="glm_action" value="index">
{if $lockedToMember}
{else}
<input type="hidden" name="option" value="insert">
{/if}
-
+
<table class="glm-admin-table">
<tr>
<th {if $packageInfo.fieldRequired.title}class="glm-required"{/if}>Title:</th>
<tr>
<th {if $packageInfo.fieldRequired.descr}class="glm-required"{/if}>Description:</th>
<td {if $packageInfo.fieldFail.descr}class="glm-form-bad-input"{/if}>
- {php}
+ {php}
wp_editor('{$packageInfo.fieldData.descr|escape:quotes}', 'glm_descr', array(
'media_buttons' => false,
// 'quicktags' => false,
{if $packageInfo.fieldFail.position}<p>{$packageInfo.fieldFail.position}</p>{/if}
</td>
</tr>
-
-<!-- NOT COMPLETING PARTICIPATING MEMBERS AT THIS TIME
+
+<!-- NOT COMPLETING PARTICIPATING MEMBERS AT THIS TIME
<tr>
<th>Participating {$terms.term_member_cap}</th>
<td class="glm-imageGalleryContainer">
-
-
+
+
Search to add a {$terms.term_member}: <input id="glmMembersList" type="text" id="autoTest" style="margin-left: 2em;"><br>
-
-
- <input type="hidden" id="galleryPositionOrder" name="galleryPositionOrder"
+
+
+ <input type="hidden" id="galleryPositionOrder" name="galleryPositionOrder"
value="{if $havePackageMembers}{foreach $gallery as $i name=ig}{if $i.title}{$i.id}{if not $smarty.foreach.ig.last},{/if}{/if}{/foreach}{/if}" />
-
+
-- The contents of this div are read by imageUpload.js to use as a template for inserting a new image into the gallery area --
<div id="glmGalleryItmeDataTemplate" class="glm-imageItemHidden">
<li id="packageMember_{ id }" class="glm-galleryContainerFlexible">
-- end of template --
<div class="glm-imageGalleryContainer glm-item-container">
<ul id="glmPackageMembersList" class=".glm-galleryContainer">
- {if $havePackageMembers}
+ {if $havePackageMembers}
-- Note that id in li is needed for sorting --
{foreach $packageMembers as $i}
<li id="packageMember_{$i.id}" class="glm-galleryContainerFlexible">
<tr><th>Description:</th><td><input type="text"></td></tr>
<tr><th>Short Description:</th><td><input type="text"></td></tr>
<tr><th>Image:</th><td><input type="file"></td></tr>
-
+
</table>
</div>
</li>
</td>
</tr>
-->
-
-
+
+
</table>
<input type="submit" value="{if $havePackage}Update Package{else}Add New Package{/if}">
</form>
-
+
{else} <!-- Can just display -->
-
+
<h2>Display Package</h2>
<table class="glm-admin-table">
<tr><th>Title:</th><td>{$packageInfo.fieldData.title}</td></tr>
<td>
{if $packageInfo.fieldData.image}
<img src="{$glmPluginMediaUrl}/images/large/{$packageInfo.fieldData.image}">
- {/if}
+ {/if}
</td>
</tr>
<tr><th>Start Date:</th><td>{$packageInfo.fieldData.start_date.date}</td></tr>
<tr><th>Pricing Description:</th><td>{$packageInfo.fieldData.pricing}</td></tr>
<tr><th>Display Order:</th><td>{$packageInfo.fieldData.position}</td></tr>
</table>
-
+
{/if}
{else} <!-- option is not edit or add -->
-
+
{if apply_filters('glm_members_permit_admin_member_packaging_add_package', true)}
{if $lockedToMember}
<div id="addPackageButton" class="button button-primary glm-right"> Add a New Package for this {$terms.term_member_cap} </div>
{/if}
{/if}
-
- <!-- Package list selection form -->
+
+ <!-- Package list selection form -->
<form class="glm-right" onSubmit="return false;">
-<!--
- <span{if $haveFilter} class="glm-notice"{/if}><b>List Filters:</b> </span>
+<!--
+ <span{if $haveFilter} class="glm-notice"{/if}><b>List Filters:</b> </span>
<input type="radio" name="filterPackageType" class="listFilter"{if $filterPackageType == 'all'} checked{/if} value="all">All
<input type="radio" name="filterPackageType" class="listFilter"{if $filterPackageType == 'member'} checked{/if} value="member">{$terms.term_member_cap}
<input type="radio" name="filterPackageType" class="listFilter"{if $filterPackageType == 'multi-member'} checked{/if} value="multi-member">Multi-{$terms.term_member_cap}
--->
+-->
Search: <input id="glmPackageSearch" type="text" id="autoTest" title="Enter any portion of a package name then click on full name that shows below this input box.">
</form>
<br clear="all">
-
+
<h2>Packages</h2>
<table class="wp-list-table striped glm-admin-table">
<tr>
<td class="glm-nowrap">
{if $p.ref_type.value}
- {if $lockedToMember}
+ {if $lockedToMember}
<a href="{$thisUrl}?page=glm-members-admin-menu-packaging-index&glm_action=index&option=edit&member={$p.ref_dest}&packageID={$p.id}">{$p.title}</a>
{else}
<a href="{$thisUrl}?page=glm-members-admin-menu-member&glm_action=packaging&option=edit&member={$p.ref_dest}&packageID={$p.id}">{$p.title}</a>
<script type="text/javascript">
jQuery(document).ready(function($) {
-
+
// Add Package Button Action
$('#addPackageButton').click( function() {
window.location.href = "{$thisUrl}?page={$thisPage}&glm_action=index&option=add";
});
-
+
// Date Input
$('.glm-date-input').datepicker();
-
- // Flash certain elements for a short time after display
+
+ // Flash certain elements for a short time after display
$(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
{if $havePackage}
});
$('#deletePackageCancel').click( function() {
$("#deletePackageDialog").dialog("close");
- });
+ });
$('#deletePackageSubmit').click( function() {
window.location.replace("{$thisUrl}?page={$thisPage}&glm_action=packaging&option=delete&packageID={$packageInfo.fieldData.id}");
});
// Get type of package filter selected
filter = $(this).val();
-
+
window.location.href = "{$thisUrl}?page={$thisPage}&glm_action=packaging&filterPackageType=" + filter;
-
+
return false;
});
* label: What will be searched
* value: What will be displayed when selected
* id: Package id added so we can go to the member while showing what was selected
- * Also note that autocomplete does not properly render HTML codes, so we
+ * Also note that autocomplete does not properly render HTML codes, so we
* "unescape" them for HTML in Smarty.
*/
var availableTags = [
}
}
});
-
+
});
</script>
-
+
{include file='admin/footer.html'}