* @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
*
* @access public
*/
public $fields = false;
+ /**
+ * MemberInfo DB object
+ *
+ * @var $MemberInfo
+ * @access public
+ */
+ public $MemberInfo;
/**
* Constructor
'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) {
// 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);
+ }
}
$packages = false;
$havePackage = false;
$packageUpdated = false;
+ $packageDeleted = false;
$packageInfo = false;
$packageError = false;
$haveMember = false;
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:
'packages' => $packages,
'havePackage' => $havePackage,
'packageUpdated' => $packageUpdated,
+ 'packageDeleted' => $packageDeleted,
'packageID' => $packageID,
'packageInfo' => $packageInfo,
'packageError' => $packageError,
// Compile template data
$templateData = array(
+ 'siteBaseUrl' => GLM_MEMBERS_SITE_BASE_URL,
'havePackage' => $havePackage,
'packageID' => $packageID,
'package' => $package
$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']) {
// Compile template data
$templateData = array(
+ 'siteBaseUrl' => GLM_MEMBERS_SITE_BASE_URL,
'havePackages' => $havePackages,
'packages' => $packages,
'byMember' => $byMember
{include file='admin/member/header.html'}
+{if $packageDeleted}
+ <h2><span class="glm-notice glm-flash-updated">Package Deleted:</span></h2>
+{/if}
+
{if $option == 'edit' || $option == 'add'}
-
{if apply_filters('glm_members_permit_admin_member_packaging_edit_package', true)}
{if $option == 'edit'}
<h2>Edit Package</h2>
+ <a href="{$thisURL}?page={$thisPage}&glm_action=packaging&member={$memberID}" class="button-primary glm-button glm-right">Return to Package List</a>
+ <a id="deletePackageButton" class="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-primary">Cancel</a></p>
+ <p><input id="deletePackageSubmit" type="submit" value="Delete this package"></p>
+ </center>
+ <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
+ delete all of the data and images associated with this package.
+ </span>
+ </p>
+ <p>
+ <span class="glm-error">Once deleted, this information will no longer be available and cannot be retrieved!</span>
+ </p>
+ </div>
+ </div>
{else}
<h2>Add new Package</h2>
{/if}
// 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);
{if $havePackage}
- <div>
- <h1><a src="">{$package.title}</a></h1>
- {if $package.ref_type.value}
- <h2>{$package.ref_type.name}: {$package.ref_dest_name}</h2>
- {/if}
- {if $package.image}
+ {if ($byMember && $package.firstForMember) || !$byMember}
<div>
- <img src="{$glmPluginMediaURL}/images/small/{$package.image}">
- </div>
- {/if}
- <div>
- <table>
- <tr><th>Start Date:</th><td>{$package.start_date.date}</td></tr>
- <tr><th>End Date:</th><td>{$package.end_date.date}</td></tr>
- <tr><th>Expiration Date:</th><td>{$package.expire_date.date}</td></tr>
- <tr><th>Pricing:</th><td>{$package.pricing}</td></tr>
- </table>
- {if $package.descr}
- <p><b>Description:</b> {$package.descr}</p>
- {else if $package.short_descr}
- <p><b>Description:</b> {$package.short_descr}</p>
- {/if}
+ <h2><a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$package.member_slug}/">{$package.ref_dest_name}</a></h2>
+ {if $package.addr1}<div>{$package.addr1}</div>{/if}
+ {if $package.addr2}<div>{$package.addr2}</div>{/if}
+ {if $package.city}<span>{$package.city}</span>{if $package.state.name}, {/if}{/if}<span>{if $package.state.name}{$package.state.name}</span>{/if}{if $package.zip} {$package.zip}{/if}
+ {if $package.country.name}<div>{$package.country.name}</div>{/if}
</div>
- </div>
+ <p> </p>
+ {/if}
+
+ <div class="row">
+ <div class="small-12 {if $p.image}medium-8{/if} columns">
+ <div class="row">
+ <div class="small-12 columns">
+ <h4>{$package.title}</h4>
+ <div>
+ {if $package.descr}
+ {$package.descr}
+ {else if $package.short_descr}
+ {$package.short_descr}
+ {/if}
+ </div>
+ <div class="row">
+ <div class="small-12 medium-2 columns"><b>Expires:</b></div>
+ <div class="small-12 medium-10 columns">{$package.expire_date.date}</div>
+ </div>
+ <div class="row">
+ <div class="small-12 medium-2 columns"><b>Pricing:</b></div>
+ <div class="small-12 medium-10 columns">{$package.pricing}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ {if $package.image}
+ <div class="glm-member-list-image-wrapper small-12 medium-4 columns">
+ <img class="glm-member-list-image left" src="{$glmPluginMediaURL}/images/medium/{$package.image}">
+ </div>
+ {/if}
+ </div>
{else}
(Sorry, no data on the specified package.)
{include file='front/packaging/header.html'}
-
+
+<div class="content-wrapper">
{if $havePackages}
- {foreach $packages as $p}
+ {foreach $packages as $p}
<div>
- {if $p.ref_type.value}
- {if $byMember}
- {if $p.firstForMember}
- <h1>{$p.ref_type.name}: {$p.ref_dest_name}</h1>
- {/if}
- {else}
- <h3>{$p.ref_type.name}: {$p.ref_dest_name}</h3>
+ {if ($byMember && $p.firstForMember) || !$byMember}
+ <div style="margin-bottom: 2em;">
+ <h2><a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$p.member_slug}/">{$p.ref_dest_name}</a></h2>
+ {if $p.addr1}<div>{$p.addr1}</div>{/if}
+ {if $p.addr2}<div>{$p.addr2}</div>{/if}
+ {if $p.city}<span>{$p.city}</span>{if $p.state.name}, {/if}{/if}<span>{if $p.state.name}{$p.state.name}</span>{/if}{if $p.zip} {$p.zip}{/if}
+ {if $p.country.name}<div>{$p.country.name}</div>{/if}
+ </div>
{/if}
- {/if}
- <h2><a href="{$thisURL}?glm_action=detail&packageID={$p.id}">{$p.title}</a></h2>
- {if $p.image}
- <div>
- <img src="{$glmPluginMediaURL}/images/small/{$p.image}">
- </div>
- {/if}
- <div>
- <table>
- <tr><th>Start Date:</th><td>{$p.start_date.date}</td></tr>
- <tr><th>End Date:</th><td>{$p.end_date.date}</td></tr>
- <tr><th>Expiration Date:</th><td>{$p.expire_date.date}</td></tr>
- <tr><th>Pricing:</th><td>{$p.pricing}</td></tr>
- </table>
- {if $p.descr}
- <p><b>Description:</b> {$p.descr}</p>
- {else if $p.short_descr}
- <p><b>Description:</b> {$p.short_descr}</p>
- {/if}
+ <div class="row" style="margin-bottom: 2em;">
+ <div class="small-12 {if $p.image}medium-8{/if} columns">
+ <div class="row">
+ <div class="small-12 columns">
+ <h4><a href="{$thisURL}?glm_action=detail&packageID={$p.id}">{$p.title}</a></h4>
+ <div>
+ {if $p.descr}
+ {$p.descr}
+ {else if $p.short_descr}
+ {$p.short_descr}
+ {/if}
+ </div>
+ <div class="row">
+ <div class="small-12 medium-2 columns"><b>Expires:</b></div>
+ <div class="small-12 medium-10 columns">{$p.expire_date.date}</div>
+ </div>
+ <div class="row">
+ <div class="small-12 medium-2 columns"><b>Pricing:</b></div>
+ <div class="small-12 medium-10 columns">{$p.pricing}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ {if $p.image}
+ <div class="glm-member-list-image-wrapper small-12 medium-4 columns">
+ <img class="glm-member-list-image left" src="{$glmPluginMediaURL}/images/medium/{$p.image}">
+ </div>
+ {/if}
</div>
- </div>
- {/foreach}
-
+ </div>
+ {/foreach}
+
{else}
(Sorry, no packages currently listed.)
{/if}
-
+</div>
{include file='front/footer.html'}