From: Chuck Scott Date: Tue, 16 Feb 2016 15:17:49 +0000 (-0500) Subject: Initial testing done. Pushing to development. X-Git-Tag: v2.0.0^2~80^2 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=3ac81eb7f3351784079213d55010e88651b33f94;p=WP-Plugins%2Fglm-member-db.git Initial testing done. Pushing to development. --- diff --git a/classes/data/dataMemberInfo.php b/classes/data/dataMemberInfo.php index 63c1658f..c04b98d3 100644 --- a/classes/data/dataMemberInfo.php +++ b/classes/data/dataMemberInfo.php @@ -297,6 +297,7 @@ class GlmDataMemberInfo extends GlmDataAbstract */ public function getActiveInfoSimplified($member) { +echo "******************* CHECK ON THIS getActiveInfoSimplified() *******************";exit; // Get the ID for the current info record for this member $mInfoID = $this->getActiveInfoForMember($member); if (!$mInfoID) { @@ -311,18 +312,7 @@ class GlmDataMemberInfo extends GlmDataAbstract 'member' => $f['member'], 'member_name' => $f['member_name'], 'member_slug' => $f['member_slug'], - 'member_pointer' => $f['member_pointer'], - 'member_addr1' => $f['addr1'], - 'member_addr2' => $f['addr2'], - 'member_city' => $f['city'], - 'member_state' => $f['state'], - 'member_country' => $f['country'], - 'member_zip' => $f['zip'], - 'member_phone' => $f['phone'], - 'member_toll_free' => $f['toll_free'], - 'member_email' => $f['email'], - 'member_url' => $f['url'], - 'member_logo' => $f['logo'] + 'member_pointer' => $f['member_pointer'] ); // Save current post processing flag and turn it off @@ -413,7 +403,103 @@ class GlmDataMemberInfo extends GlmDataAbstract return $list; } + /* + * Get Member Info List with Member Data + * + * @param string $where Where clause + * @param string $sort Sort field + * + * @return object Class object + * + */ + public function getListWithMemberData($where = '', $sort = '') + { + + // Member data + require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMembers.php'); + $Members = new GlmDataMembers($this->wpdb, $this->config); + + // Get list of memberInfo data + $list = $this->getList($where, $sort); + + // For each member info record bet base member data + while (list($key, $val) = each($list)) { + + $mData = $Members->getEntry($val['member_pointer']); + + $list[$key] = array_merge($val, array( + 'logo' => $mData['logo'], + 'addr1' => $mData['addr1'], + 'addr2' => $mData['addr2'], + 'city' => $mData['city'], + 'state' => $mData['state'], + 'zip' => $mData['zip'], + 'country' => $mData['country'], + 'phone' => $mData['phone'], + 'toll_free' => $mData['toll_free'], + 'region' => $mData['region'], + 'url' => $mData['url'], + 'email' => $mData['email'], + 'categories' => $mData['categories'], + 'cc_type' => $mData['cc_type'], + 'lat' => $mData['lat'], + 'lon' => $mData['lon'] + )); -} + } -?> \ No newline at end of file + return $list; + } + + /* + * Get Member Info For a Member with Member Data + * + * @param integer $member Member ID + * @param string $where Where clause + * + * @return object Class object + * + */ + public function getActiveInfoForMemberWithMemberData($member, $where = 'true') + { + + // Member data + require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMembers.php'); + $Members = new GlmDataMembers($this->wpdb, $this->config); + + $memberInfoID = $this->getActiveInfoForMember($member, $where); + + $memberInfo = $this->getEntry($memberInfoID); + + if ($memberInfo) { + + $mData = $Members->getEntry($member); + + $memberInfo = array_merge($memberInfo, array( + 'logo' => $mData['logo'], + 'addr1' => $mData['addr1'], + 'addr2' => $mData['addr2'], + 'city' => $mData['city'], + 'state' => $mData['state'], + 'zip' => $mData['zip'], + 'country' => $mData['country'], + 'phone' => $mData['phone'], + 'toll_free' => $mData['toll_free'], + 'region' => $mData['region'], + 'url' => $mData['url'], + 'email' => $mData['email'], + 'categories' => $mData['categories'], + 'cc_type' => $mData['cc_type'], + 'lat' => $mData['lat'], + 'lon' => $mData['lon'] + )); + + } else { + return false; + } + + return $memberInfo; + } + + +} diff --git a/models/admin/member/memberEdit.php b/models/admin/member/memberEdit.php index 76c56998..2dc9d82a 100644 --- a/models/admin/member/memberEdit.php +++ b/models/admin/member/memberEdit.php @@ -112,10 +112,11 @@ class GlmMembersAdmin_member_memberEdit extends GlmDataMembers $categories = false; $this->memberID = false; $memberUpdated = false; + $memberUpdateError = false; $memberData = false; $haveMember = false; + $memberName = false; $addingMember = false; - $memberUpdated = false; /* * Get some data we're going to need @@ -240,6 +241,8 @@ class GlmMembersAdmin_member_memberEdit extends GlmDataMembers $memberName = $memberData['fieldData']['name']; + } else { + $memberUpdateError = true; } $haveMember = true; @@ -254,7 +257,6 @@ class GlmMembersAdmin_member_memberEdit extends GlmDataMembers // Update submitted categories $this->updateCategories(); -echo "------------------------------------asd+"; $memberData = $this->insertEntry(); // If update was successful then use editEntry() to setup for the edit again. @@ -275,6 +277,8 @@ echo "------------------------------------asd+"; $memberName = $memberData['fieldData']['name']; + } else { + $memberUpdateError = true; } break; @@ -311,21 +315,8 @@ echo "------------------------------------asd+"; 'member' => $memberData, 'memberName' => $memberName, 'addingMember' => $addingMember, - 'memberUpdated' => $memberUpdated - -/* - 'addingMember' => $addingMember, - 'member' => $memberData, - 'memberName' => $memberName, - 'haveInfoRecords' => $haveInfoRecords, - 'memberInfoRecords' => $memberInfoRecords, - 'noActive' => $noActive, - 'showArchived' => $showArchived, - 'haveMemberInfo' => $haveMemberInfo, 'memberUpdated' => $memberUpdated, - 'statusTypeNumbers' => $this->config['status_numb'], - 'statusPending' => $this->config['status_numb']['Pending'] -*/ + 'memberUpdateError' => $memberUpdateError ); // Return status, suggested view, and data to controller diff --git a/models/admin/member/memberInfo.php b/models/admin/member/memberInfo.php index 70037d68..a2524d64 100644 --- a/models/admin/member/memberInfo.php +++ b/models/admin/member/memberInfo.php @@ -199,6 +199,7 @@ class GlmMembersAdmin_member_memberInfo extends GlmDataMemberInfo $this->optionIncludeSelectListData = true; $memberUpdated = false; + $memberUpdateError = false; // Check for action option - Should be one of the values in the "switch" statement below $option = false; @@ -289,6 +290,8 @@ class GlmMembersAdmin_member_memberInfo extends GlmDataMemberInfo $this->memberInfo = $this->updateEntry($this->memberInfoID, 'id', true, true); if ($this->memberInfo['status']) { $memberUpdated = true; + } else { + $memberUpdateError = true; } break; @@ -436,6 +439,7 @@ class GlmMembersAdmin_member_memberInfo extends GlmDataMemberInfo 'memberInfoID' => $this->memberInfoID, 'memberInfo' => $this->memberInfo, 'memberUpdated' => $memberUpdated, + 'memberUpdateError' => $memberUpdateError, 'availableAmenities' => $this->amenities, 'haveImageGallery' => $this->haveImageGallery, 'imageGallery' => $this->imageGallery, diff --git a/models/front/members/detail.php b/models/front/members/detail.php index 50de114a..a15dfef1 100644 --- a/models/front/members/detail.php +++ b/models/front/members/detail.php @@ -239,7 +239,13 @@ class GlmMembersFront_members_detail extends GlmDataMemberInfo } - // Find the active member info record + // Default is we didn't find the member info + $memberData = false; + $haveMember = false; + $haveImageGallery = false; + $imageGallery = false; + + // Find the active member info record and get it with main member data $where = " ( SELECT access @@ -251,40 +257,22 @@ class GlmMembersFront_members_detail extends GlmDataMemberInfo ".$this->config['access_numb']['Full']." ) "; - $memberInfoID = $this->getActiveInfoForMember($id, $where); + $memberData = $this->getActiveInfoForMemberWithMemberData($id, $where); - // Default is we didn't find the member info - $memberData = false; - $haveMember = false; - $haveImageGallery = false; - $imageGallery = false; - - // If we did get a member ID - if ($memberInfoID) { - - /* - * Get data on the specified member - */ - $memberData = $this->getEntry($memberInfoID); + if (GLM_MEMBERS_PLUGIN_FRONT_DEBUG) { + glmMembersFront::addNotice($memberData, 'DataBlock', 'Member Info with Member Data'); + } + // If we did get member Info + if ($memberData) { - if (GLM_MEMBERS_PLUGIN_FRONT_DEBUG) { - glmMembersFront::addNotice($memberData, 'DataBlock', 'Member Data'); - } - - // If we have member data $success = true; - if ($memberData !== false) { - - $success = true; - $haveMember = true; - - } + $haveMember = true; // Also get any image gallery images require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataImages.php'); $Images = new GlmDataImages($this->wpdb, $this->config); - $imageGallery = $Images->getGallery($this->config['ref_type_numb']['MemberInfo'], $memberInfoID); + $imageGallery = $Images->getGallery($this->config['ref_type_numb']['MemberInfo'], $memberData['id']); $haveImageGallery = ($imageGallery != false); } diff --git a/models/front/members/list.php b/models/front/members/list.php index f42bf877..6b6c71f9 100644 --- a/models/front/members/list.php +++ b/models/front/members/list.php @@ -435,7 +435,7 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo */ // Get member list and sort - $list = $this->getList($where.$alphaWhere, 'member_name'); + $list = $this->getListWithMemberData($where.$alphaWhere, 'member_name'); if (GLM_MEMBERS_PLUGIN_FRONT_DEBUG) { glmMembersFront::addNotice($list, 'DataBlock', 'Member Data'); diff --git a/views/admin/member/memberEdit.html b/views/admin/member/memberEdit.html index c212a6a7..a0a88cfd 100644 --- a/views/admin/member/memberEdit.html +++ b/views/admin/member/memberEdit.html @@ -19,10 +19,6 @@ {/if} - {if $memberUpdated} -

Member Updated

- {/if} - {if apply_filters('glm_members_permit_admin_member_index_edit_member', true)}
@@ -39,7 +35,8 @@ General Settings Address and Location Other Information - + {if $memberUpdated}Member Updated{/if} + {if $memberUpdateError}Member Update Error{/if} @@ -47,7 +44,7 @@ - @@ -64,7 +61,7 @@ - - - - - - - @@ -357,6 +350,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + +
Member Name: + {if $member.fieldFail.name}

{$member.fieldFail.name}

{/if}
Member Display & Access: +
Member Type: +
Notes: + {if $member.fieldFail.notes}

{$member.fieldFail.notes}

{/if}
This "Notes" field is not displayed anywhere else. It is strictly for making and keeping @@ -103,14 +100,14 @@ - - @@ -148,7 +145,7 @@ - - - - - - - -
Address Line 1: + {if $member.fieldFail.addr1}

{$member.fieldFail.addr1}

{/if}
Address Line 2: + {if $member.fieldFail.addr2}

{$member.fieldFail.addr2}

{/if}
State: +
ZIP / Postal Code: + {if $member.fieldFail.zip}

{$member.fieldFail.zip}

{/if}
Country: +
Region: +
Phone #: + {if $member.fieldFail.phone}

{$member.fieldFail.phone}

{/if}
Toll Free #: + {if $member.fieldFail.toll_free}

{$member.fieldFail.toll_free}

{/if}
Web Address (URL): + {if $member.fieldData.url} Test Link {/if} @@ -299,7 +296,7 @@
Credit Cards Accepted: + {foreach from=$member.fieldData.cc_type.bitmap item=v} {$v.name}
{/foreach} @@ -332,9 +329,9 @@

* Required

{if $addingMember} - + {else} - + {/if} {else} @@ -344,10 +341,6 @@
Member Name: {$member.fieldData.name}
Name for URLs:{$member.fieldData.member_slug}
Member Display & Access: {$member.fieldData.access.name}{$member.fieldData.member_type.name}
Date created:{$member.fieldData.created.date}
  +

Member Address

+

The map below will display the likely location as you enter or edit the address.

+
Address: + {$member.fieldData.addr1}
+ {if $member.fieldData.addr2 != ''}{$member.fieldData.addr2}
{/if} + {$member.fieldData.city.name}, {$member.fieldData.state.name} {$member.fieldData.zip}
+ {$member.fieldData.country.name} +
Categories + {if isset($member.fieldData.categories) && $member.fieldData.categories} + {foreach from=$member.fieldData.categories item=c} +
+ {if $c.parent_name != ''}{$c.parent_name}: {/if}{$c.name} + +
+ {/foreach} + {/if} +
Region:{$member.fieldData.region.name}
Phone #:{$member.fieldData.phone}
Toll Free #:{$member.fieldData.toll_free}
Web Address (URL):{$member.fieldData.url}
E-Mail Address:{$member.fieldData.email}
Logo: + {if $member.fieldData.logo} +
+ +
+ + {/if} +
Credit Cards Accepted: + {foreach from=$member.fieldData.cc_type.bitmap item=v} + {$v.name}   + {/foreach} +
Notes:{$member.fieldData.notes}
{else}

No member information available.

@@ -726,6 +772,52 @@ // 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).fadeIn(500).fadeOut(500); + + /* + * Check for bad input or input changes + */ + + // Check for any field errors and if found change related tab to error color. + if ($('.glm-form-bad-input-general').length) { + $('#glm-member-general').addClass('glm-bad-input-area'); + } + if ($('.glm-form-bad-input-address').length) { + $('#glm-member-address').addClass('glm-bad-input-area'); + } + if ($('.glm-form-bad-input-other').length) { + $('#glm-member-other').addClass('glm-bad-input-area'); + } + + // Check for most input changes + $('input, textarea, select').on( 'change', function() { + glmPageUpdateRequired(); + }); + + /* + * Checks for leaving the page + */ + var glmSubmitRequired = false; + + // Flag submit button when updates are required. + function glmPageUpdateRequired() { + $('#updateMember').addClass('glm-bad-input-area'); + glmSubmitRequired = true; + } + // When submit button is clicked, disable the beforeunload message + $('#updateMember').on('click', function() { + glmSubmitRequired = false; + return true; + }); + + // If submit is required and we're laving the page, alert the user + $(window).bind('beforeunload', function() { + if (glmSubmitRequired) { + return 'Are you sure you want to leave?'; + } + return ''; + }); + + }); diff --git a/views/admin/member/memberInfo.html b/views/admin/member/memberInfo.html index b6569343..0cae9e15 100644 --- a/views/admin/member/memberInfo.html +++ b/views/admin/member/memberInfo.html @@ -1,7 +1,5 @@ {include file='admin/member/header.html'} - {if $memberUpdated}

Member Profile Updated

{/if} - @@ -92,7 +90,8 @@ @@ -312,7 +311,7 @@

* Required

- + @@ -336,50 +335,12 @@ Description:{$memberInfo.fieldData.descr|escape:quotes} Short Description:{$memberInfo.fieldData.short_descr} - -   - -

Member Address

-

The map below will display the likely location as you enter or edit the address.

- - - - Address: - - {$memberInfo.fieldData.addr1}
- {if $memberInfo.fieldData.addr2 != ''}{$memberInfo.fieldData.addr2}
{/if} - {$memberInfo.fieldData.city.name}, {$memberInfo.fieldData.state.name} {$memberInfo.fieldData.zip}
- {$memberInfo.fieldData.country.name} - - - - {if $memberInfo.fieldRequired.lat}{else}{/if}Location: - - - -
(map loads here)
- Selected Position: Lat {$memberInfo.fieldData.lat}, Lon {$memberInfo.fieldData.lon} - -  

Other Information

- - Categories - - {if isset($memberInfo.fieldData.categories) && $memberInfo.fieldData.categories} - {foreach from=$memberInfo.fieldData.categories item=c} -
- {if $c.parent_name != ''}{$c.parent_name}: {/if}{$c.name} - -
- {/foreach} - {/if} - - Amenities @@ -394,29 +355,6 @@ {/if} - Region:{$memberInfo.fieldData.region.name} - Phone #:{$memberInfo.fieldData.phone} - Toll Free #:{$memberInfo.fieldData.toll_free} - Web Address (URL):{$memberInfo.fieldData.url} - E-Mail Address:{$memberInfo.fieldData.email} - Logo: - - {if $memberInfo.fieldData.logo} -
- -
- - {/if} - - - - Credit Cards Accepted: - - {foreach from=$memberInfo.fieldData.cc_type.bitmap item=v} - {$v.name}   - {/foreach} - - Notes:{$memberInfo.fieldData.notes} Image Gallery @@ -512,13 +450,15 @@ // Action to de-select an Amenity $('.amenityDelete').live('click', function() { $(this).parent().remove(); + // Also set unload warning + glmPageUpdateRequired(); }); {if $memberInfoID && $memberInfo} // Delete Member Info dialog $("#deleteMemberInfoDialog").dialog({ autoOpen: false, - minWidth: 400, + minWidth: 4, dialogClass: "glm-dialog-no-close" }); $('#deleteMemberInfoButton').click( function() { @@ -546,14 +486,34 @@ // Check for most input changes $('input, textarea, select').on( 'change', function() { - updateRequired(); + glmPageUpdateRequired(); }); - + + /* + * Checks for leaving the page + */ + var glmSubmitRequired = false; + // Flag submit button when updates are required. - function updateRequired() { + function glmPageUpdateRequired() { $('#updateMemberProfile').addClass('glm-bad-input-area'); + glmSubmitRequired = true; } + // When submit button is clicked, disable the beforeunload message + $('#updateMemberProfile').on('click', function() { + glmSubmitRequired = false; + return true; + }); + // If submit is required and we're laving the page, alert the user + $(window).bind('beforeunload', function() { + if (glmSubmitRequired) { + return 'Are you sure you want to leave?'; + } + return ''; + }); + + });