From 2804f871ae264dc85009c6eea9cc991ed91338a3 Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Wed, 16 Dec 2015 17:02:28 -0500 Subject: [PATCH] Cleaned up output and added Delete and other package options --- classes/data/dataPackages.php | 38 ++++++++++++++-- models/admin/member/packaging.php | 15 +++++-- models/front/packaging/detail.php | 1 + models/front/packaging/list.php | 5 ++- views/admin/member/packaging.html | 41 ++++++++++++++++- views/front/packaging/detail.html | 60 ++++++++++++++++--------- views/front/packaging/list.html | 75 ++++++++++++++++++------------- 7 files changed, 173 insertions(+), 62 deletions(-) diff --git a/classes/data/dataPackages.php b/classes/data/dataPackages.php index 963c73b..6328ebc 100644 --- a/classes/data/dataPackages.php +++ b/classes/data/dataPackages.php @@ -12,6 +12,9 @@ * @release SVN: $Id: dataPackages.php,v 1.0 2011/01/25 19:31:47 cscott Exp $ */ +// Member Info Data required +require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMemberInfo.php'); + /** * GlmDataPackages class * @@ -72,6 +75,13 @@ class GlmDataPackages extends GlmDataAbstract * @access public */ public $fields = false; + /** + * MemberInfo DB object + * + * @var $MemberInfo + * @access public + */ + public $MemberInfo; /** * Constructor @@ -227,12 +237,30 @@ class GlmDataPackages extends GlmDataAbstract 'use' => 'lged' ) - ); + ); + + // Instatiate the memberInfo data class so as to be able to get current member data for a package + $this->MemberInfo = new GlmDataMemberInfo($this->wpdb, $this->config); } + /* + * Entry Post Processing Call-Back Method + * + * Perform post-processing for all result entries. + * + * In this case we're using it to append an array of category + * data to each member result and also sort by member name. + * + * @param array $r Array of field result data for a single entry + * @param string $a Action being performed (l, i, g, ...) + * + * @return object Class object + * + */ public function entryPostProcessing($r, $a) { + // *** NOTE: This will have to be enhanced when other ref_types are put into use other than "member". *** // Only run these tests for list, get, edit, and delete if (in_array($a, array('l', 'g', 'e', 'd', 'u')) && $r['ref_type'] > 0 && $r['ref_dest'] > 0) { @@ -240,8 +268,12 @@ class GlmDataPackages extends GlmDataAbstract // Get entity table $table = GLM_MEMBERS_PLUGIN_DB_PREFIX.$this->config['ref_type_table'][$r['ref_type']['value']]; - $dest = $this->wpdb->get_row("SELECT name FROM $table WHERE id = ".$r['ref_dest'].";"); - $r['ref_dest_name'] = $dest->name; + // Get simplified member data + $memberInfoData = $this->MemberInfo->getActiveInfoSimplified($r['ref_dest']); + + if ($memberInfoData) { + $r = array_merge($r, $memberInfoData); + } } diff --git a/models/admin/member/packaging.php b/models/admin/member/packaging.php index 39b03ce..51db0c8 100644 --- a/models/admin/member/packaging.php +++ b/models/admin/member/packaging.php @@ -86,6 +86,7 @@ class GlmMembersAdmin_member_packaging extends GlmDataPackages $packages = false; $havePackage = false; $packageUpdated = false; + $packageDeleted = false; $packageInfo = false; $packageError = false; $haveMember = false; @@ -230,10 +231,17 @@ class GlmMembersAdmin_member_packaging extends GlmDataPackages break; case 'delete': - if ($id > 0) { - $this->deleteEntry($id, true); + + // Get the package ID + $packageID = 0; + if ($_REQUEST['packageID'] && $_REQUEST['packageID'] != '') { + $packageID = $_REQUEST['packageID'] - 0; + } + + if ($packageID > 0) { + $this->deleteEntry($packageID, true); + $packageDeleted = true; } - break; case 'list': default: @@ -291,6 +299,7 @@ class GlmMembersAdmin_member_packaging extends GlmDataPackages 'packages' => $packages, 'havePackage' => $havePackage, 'packageUpdated' => $packageUpdated, + 'packageDeleted' => $packageDeleted, 'packageID' => $packageID, 'packageInfo' => $packageInfo, 'packageError' => $packageError, diff --git a/models/front/packaging/detail.php b/models/front/packaging/detail.php index 2561d5b..88c125a 100644 --- a/models/front/packaging/detail.php +++ b/models/front/packaging/detail.php @@ -123,6 +123,7 @@ class GlmMembersFront_packaging_detail extends GlmDataPackages // Compile template data $templateData = array( + 'siteBaseUrl' => GLM_MEMBERS_SITE_BASE_URL, 'havePackage' => $havePackage, 'packageID' => $packageID, 'package' => $package diff --git a/models/front/packaging/list.php b/models/front/packaging/list.php index fd1de41..64ea48d 100644 --- a/models/front/packaging/list.php +++ b/models/front/packaging/list.php @@ -99,10 +99,12 @@ class GlmMembersFront_packaging_list extends GlmDataPackages $havePackages = false; $settings = array(); $status = false; - $where = 'true'; $orderBy = ''; $byMember = false; + // Only select pacakges that are current + $where = "CURDATE() BETWEEN T.start_date AND T.end_date"; + // Select by specified type switch($actionData['request']['type']) { @@ -198,6 +200,7 @@ class GlmMembersFront_packaging_list extends GlmDataPackages // Compile template data $templateData = array( + 'siteBaseUrl' => GLM_MEMBERS_SITE_BASE_URL, 'havePackages' => $havePackages, 'packages' => $packages, 'byMember' => $byMember diff --git a/views/admin/member/packaging.html b/views/admin/member/packaging.html index 4e31cc7..aec0621 100644 --- a/views/admin/member/packaging.html +++ b/views/admin/member/packaging.html @@ -1,7 +1,10 @@ {include file='admin/member/header.html'} +{if $packageDeleted} +

Package Deleted:

+{/if} + {if $option == 'edit' || $option == 'add'} - {if apply_filters('glm_members_permit_admin_member_packaging_edit_package', true)} @@ -10,6 +13,26 @@ {if $option == 'edit'}

Edit Package

+ Return to Package List + Delete this Package + +
+
+

Cancel

+

+
+
+

WARNING:

+

+ Clicking the "Delete this Package" button above will + delete all of the data and images associated with this package. + +

+

+ Once deleted, this information will no longer be available and cannot be retrieved! +

+
+
{else}

Add new Package

{/if} @@ -196,6 +219,22 @@ // Date Input $('.glm-date-input').datepicker(); + // Delete Package dialog + $("#deletePackageDialog").dialog({ + autoOpen: false, + minWidth: 400, + dialogClass: "glm-dialog-no-close" + }); + $('#deletePackageButton').click( function() { + $('#deletePackageDialog').dialog('open'); + }); + $('#deletePackageCancel').click( function() { + $("#deletePackageDialog").dialog("close"); + }); + $('#deletePackageSubmit').click( function() { + window.location.replace("{$thisURL}?page={$thisPage}&glm_action=packaging&member={$memberID}&option=delete&packageID={$packageInfo.fieldData.id}"); + }); + // 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); diff --git a/views/front/packaging/detail.html b/views/front/packaging/detail.html index b2e9506..2385059 100644 --- a/views/front/packaging/detail.html +++ b/views/front/packaging/detail.html @@ -2,30 +2,46 @@ {if $havePackage} -
-

{$package.title}

- {if $package.ref_type.value} -

{$package.ref_type.name}: {$package.ref_dest_name}

- {/if} - {if $package.image} + {if ($byMember && $package.firstForMember) || !$byMember}
- -
- {/if} -
- - - - - -
Start Date:{$package.start_date.date}
End Date:{$package.end_date.date}
Expiration Date:{$package.expire_date.date}
Pricing:{$package.pricing}
- {if $package.descr} -

Description: {$package.descr}

- {else if $package.short_descr} -

Description: {$package.short_descr}

- {/if} +

{$package.ref_dest_name}

+ {if $package.addr1}
{$package.addr1}
{/if} + {if $package.addr2}
{$package.addr2}
{/if} + {if $package.city}{$package.city}{if $package.state.name}, {/if}{/if}{if $package.state.name}{$package.state.name}{/if}{if $package.zip} {$package.zip}{/if} + {if $package.country.name}
{$package.country.name}
{/if}
-
+

 

+ {/if} + +
+
+
+
+

{$package.title}

+
+ {if $package.descr} + {$package.descr} + {else if $package.short_descr} + {$package.short_descr} + {/if} +
+
+
Expires:
+
{$package.expire_date.date}
+
+
+
Pricing:
+
{$package.pricing}
+
+
+
+
+ {if $package.image} +
+ +
+ {/if} +
{else} (Sorry, no data on the specified package.) diff --git a/views/front/packaging/list.html b/views/front/packaging/list.html index 9034e26..cdcdc18 100644 --- a/views/front/packaging/list.html +++ b/views/front/packaging/list.html @@ -1,42 +1,53 @@ {include file='front/packaging/header.html'} - + +
{if $havePackages} - {foreach $packages as $p} + {foreach $packages as $p}
- {if $p.ref_type.value} - {if $byMember} - {if $p.firstForMember} -

{$p.ref_type.name}: {$p.ref_dest_name}

- {/if} - {else} -

{$p.ref_type.name}: {$p.ref_dest_name}

+ {if ($byMember && $p.firstForMember) || !$byMember} +
+

{$p.ref_dest_name}

+ {if $p.addr1}
{$p.addr1}
{/if} + {if $p.addr2}
{$p.addr2}
{/if} + {if $p.city}{$p.city}{if $p.state.name}, {/if}{/if}{if $p.state.name}{$p.state.name}{/if}{if $p.zip} {$p.zip}{/if} + {if $p.country.name}
{$p.country.name}
{/if} +
{/if} - {/if} -

{$p.title}

- {if $p.image} -
- -
- {/if} -
- - - - - -
Start Date:{$p.start_date.date}
End Date:{$p.end_date.date}
Expiration Date:{$p.expire_date.date}
Pricing:{$p.pricing}
- {if $p.descr} -

Description: {$p.descr}

- {else if $p.short_descr} -

Description: {$p.short_descr}

- {/if} +
+
+
+
+

{$p.title}

+
+ {if $p.descr} + {$p.descr} + {else if $p.short_descr} + {$p.short_descr} + {/if} +
+
+
Expires:
+
{$p.expire_date.date}
+
+
+
Pricing:
+
{$p.pricing}
+
+
+
+
+ {if $p.image} +
+ +
+ {/if}
-
- {/foreach} - +
+ {/foreach} + {else} (Sorry, no packages currently listed.) {/if} - +
{include file='front/footer.html'} -- 2.17.1