From: Chuck Scott Date: Wed, 21 Oct 2015 17:05:15 +0000 (-0400) Subject: Various fixes to member lists and some admin issues. X-Git-Tag: v1.0.32^2~1 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=c9a5cc7bb4455cabfc164956c4d62226574a3ca2;p=WP-Plugins%2Fglm-member-db.git Various fixes to member lists and some admin issues. --- diff --git a/classes/data/dataMemberInfo.php b/classes/data/dataMemberInfo.php index fa5931a4..21f19388 100644 --- a/classes/data/dataMemberInfo.php +++ b/classes/data/dataMemberInfo.php @@ -339,17 +339,19 @@ class GlmDataMemberInfo extends GlmDataAbstract * Find the active member info record for a specific member ID * * @param integer $member ID of the member name + * @param string $where Optional WHERE clause for query * * @return integer Member info record ID or false if not found */ - public function getActiveInfoForMember($member) { + public function getActiveInfoForMember($member, $where = 'true') { $memberID = $member - 0; $sql = " - SELECT id - FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX. "member_info - WHERE member = $memberID + SELECT T.id + FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX. "member_info T + WHERE $where + AND member = $memberID AND status = ".$this->config['status_numb']['Active']." ;"; $memberInfo = $this->wpdb->get_row($sql, ARRAY_A); diff --git a/classes/data/dataMembers.php b/classes/data/dataMembers.php index 28845700..d1e7739b 100644 --- a/classes/data/dataMembers.php +++ b/classes/data/dataMembers.php @@ -119,6 +119,7 @@ class GlmDataMembers extends GlmDataAbstract { 'list' => $this->config['memb_access'], 'l_blank' => true, 'required' => true, + 'default' => 30, 'force_list' => true, 'use' => 'a' ), diff --git a/config/plugin.ini b/config/plugin.ini index 0e089558..be8d6682 100644 --- a/config/plugin.ini +++ b/config/plugin.ini @@ -55,10 +55,10 @@ status_numb['Archived'] = 90 ; ; Member Access Levels ; -memb_access[10] = 'Not Displayed' +memb_access[30] = 'Display, Member Updates Moderated' +memb_access[40] = 'Display, Member Updates Not Moderated' memb_access[20] = 'Display, No Memb Access' -memb_access[30] = 'Display, Moderated' -memb_access[40] = 'Display, Full Access' +memb_access[10] = 'Not Displayed, No Member Access' memb_access[90] = 'Not Displayed, Archived' memb_access_numb['NotDisplayed'] = 10 diff --git a/css/admin.css b/css/admin.css index ad75c1de..539820ba 100644 --- a/css/admin.css +++ b/css/admin.css @@ -4,14 +4,20 @@ */ -.glm-required { - color: red !important; -} .glm-error { color: red; + font-weight: bold; } -.glm-notice { +.glm-warning { color: green; + font-weight: bold; +} +.glm-notice { + color: blue; + font-weight: bold; +} +.glm-required { + color: red !important; } .glm-active { color: blue; diff --git a/models/admin/management/import.php b/models/admin/management/import.php index dfc11785..396c2e13 100644 --- a/models/admin/management/import.php +++ b/models/admin/management/import.php @@ -832,7 +832,7 @@ class GlmMembersAdmin_management_import $res = $this->wpdb->insert( GLM_MEMBERS_PLUGIN_DB_PREFIX.'members', array( - 'access' => $this->config['memb_access_numb']['Full'], + 'access' => $this->config['memb_access_numb']['Moderated'], 'member_type' => $defaultMemberType, 'created' => date('Y-m-d'), 'name' => $val['member_name'], diff --git a/models/admin/members/index.php b/models/admin/members/index.php index 73ca9ca9..58f1b7f0 100644 --- a/models/admin/members/index.php +++ b/models/admin/members/index.php @@ -103,6 +103,9 @@ class GlmMembersAdmin_members_index extends GlmDataMembers // Get stats on the current list of members $stats = $this->getStats(); + // Get simple member list + $membersList = $this->getSimpleMembersList(); + // Check for required Member Types require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMemberTypes.php'); $MemberTypes = new GlmDataMemberTypes($this->wpdb, $this->config); @@ -154,6 +157,7 @@ class GlmMembersAdmin_members_index extends GlmDataMembers // Compile template data $templateData = array( 'numbMembers' => $stats, + 'membersList' => $membersList, 'membersPending' => $membersPending, 'haveMemberTypes' => $haveMemberTypes, 'haveCategories' => $haveCategories, diff --git a/models/front/members/detail.php b/models/front/members/detail.php index 5db68561..e6371035 100644 --- a/models/front/members/detail.php +++ b/models/front/members/detail.php @@ -143,7 +143,6 @@ class GlmMembersFront_members_detail extends GlmDataMemberInfo // Check for "show" shortcode parameter $settings = array(); $showList = $actionData['request']['show']; -echo "$showList
"; if ($showList) { @@ -165,7 +164,7 @@ echo "$showList
"; // Or we're clearing all } elseif ($s == 'none') { -echo "Here"; + while (list($key, $val) = each($GLOBALS['showOpts'])) { $settings[$val] = false; } @@ -241,33 +240,54 @@ echo "Here"; } // Find the active member info record - $memberInfoID = $this->getActiveInfoForMember($id); + $where = " + ( + SELECT access + FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."members + WHERE id = T.member + ) IN ( + ".$this->config['memb_access_numb']['NoAccess'].", + ".$this->config['memb_access_numb']['Moderated'].", + ".$this->config['memb_access_numb']['Full']." + ) + "; + $memberInfoID = $this->getActiveInfoForMember($id, $where); + + // Default is we didn't find the member info + $memberData = false; + $haveMember = false; + $haveImageGallery = false; + $imageGallery = false; - /* - * Get data on the specified member - */ - $memberData = $this->getEntry($memberInfoID); + // 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 Data'); - } - // If we have member data - $success = true; - $haveMember = false; - if ($memberData !== false) { + if (GLM_MEMBERS_PLUGIN_FRONT_DEBUG) { + glmMembersFront::addNotice($memberData, 'DataBlock', 'Member Data'); + } + // If we have member data $success = true; - $haveMember = true; + if ($memberData !== false) { - } + $success = 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); - $haveImageGallery = ($imageGallery != false); + // 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); + $haveImageGallery = ($imageGallery != false); + + } // Compile template data $templateData = array( diff --git a/models/front/members/list.php b/models/front/members/list.php index 277b847b..d1eb091a 100644 --- a/models/front/members/list.php +++ b/models/front/members/list.php @@ -241,13 +241,14 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo $cats = array(); if (isset($actionData['request']['category'])) { + // Convert comma separated list to an array $catsRequested = explode(',', $actionData['request']['category']); // Check for numeric IDs only while (list($k, $v) = each($catsRequested)) { - // If it's just numeric - if (preg_match('/^[0-9]*$/', trim($v))) { + // If it's just numeric - note Explode returns an array element with value = 0 if no string. + if (preg_match('/^[0-9]*$/', trim($v)) && $v > 0) { // Clean up the category number and add to cats array $cats[] = ($v-0); @@ -289,8 +290,7 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo // If there's categories specified with the shortcode if (count($cats) > 0) { - /* - * Restrict available categories for selection to those in shortcode or children + /* * Restrict available categories for selection to those in shortcode or children * Note that the array is already ordered by parent then children then next parent * so $parentSelected */ @@ -317,6 +317,9 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo } } +var_dump($cats); + $catSelected = implode(',', $cats); +echo $catSelected; // If we're doing category search selection Get category filter data if ($this->config['settings']['list_show_search_category']) { @@ -397,8 +400,18 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo } // If an amenity search has been selected } // it doing amenity search - // Only look at active member information - $where .= $whereSep." T.status = ".$this->config['status_numb']['Active']; + // Only look at active member information where the member is displayable (memb_access = 20, 30, 40) + $where .= $whereSep." + ( + SELECT access + FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."members + WHERE id = T.member + ) IN ( + ".$this->config['memb_access_numb']['NoAccess'].", + ".$this->config['memb_access_numb']['Moderated'].", + ".$this->config['memb_access_numb']['Full']." + ) + AND T.status = ".$this->config['status_numb']['Active']; // If doing alpha list $alphaList = false; diff --git a/views/admin/member/index.html b/views/admin/member/index.html index bf7d4add..09db9801 100644 --- a/views/admin/member/index.html +++ b/views/admin/member/index.html @@ -46,7 +46,7 @@ - Access: + Member Display & Access: Show archived information   +

+ + {if $haveMember} {if $haveInfoRecords} Add New Member Information Version -

Member Information Versions

- - -

- Show archived information   -

-
- {if $noActive}

There is no active information for this member.

{/if} diff --git a/views/admin/member/memberInfo.html b/views/admin/member/memberInfo.html index c4eba6eb..02f1884c 100644 --- a/views/admin/member/memberInfo.html +++ b/views/admin/member/memberInfo.html @@ -8,17 +8,53 @@ {if $memberInfoID && $memberInfo} -
Archive this Member Information
+
Delete this Member Information Version
+ {if $memberInfo.fieldData.status.value == 10} +

Cancel

+

+ NOTE: This member information is the currently active version! You may not delete an active version. + To delete this version, please select another version to be active or change the "Member Info Status" on this page to something + other than "Active". +

+

+ If you change this version to something other than "Active" without selecting another version as active, there will be no active + information for this member. Members without an active information version will not be displayed on the front-end of this Web site. +

+

+ Click the "Member Dashboard" tab above to see all information versions for this member and optionally to select another version to + be active. +

+ {else}

Cancel

-

+

+
+

WARNING:

+

+ Clicking the "Delete this Member Information Version" button above will + delete all of the data and images displayed on this page and any other information in the tabs that may show to the right of the "Member Info" + tab above. +

+

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

+

- NOTE: Archived member information records are not listed in the the member Dashboard by default but - may be shown using the "Show archived information" checkbox on that page. -

- + This member may also have other member information records. Click the "Member Dashboard" Tab above to view a list of all information + records for this member. +

+

+ Only this member information version will be deleted. Other member information versions listed under the "Member Dashboard" tab + above will not be deleted. +

+

+ There may also be "Archived" versions that will not normally show up in the "Member Dashboard". Click the + "Show Archiived Versions" checkbox at the top right of the versions list on that page to include archived versions. +

+ + {/if}

Edit Member Information

diff --git a/views/admin/members/index.html b/views/admin/members/index.html index 0e4a33d4..5ddb03ba 100644 --- a/views/admin/members/index.html +++ b/views/admin/members/index.html @@ -3,6 +3,15 @@

Main Dashboard

+{if $membersList} + + + +{/if} + {if !$haveMemberTypes} @@ -93,7 +102,36 @@
+ + Member Search: +
You do not have any Member Types setup.
{/if} - +{if $membersList} + +{/if} {include file='admin/footer.html'} diff --git a/views/admin/members/list.html b/views/admin/members/list.html index d2772d31..39bb35fb 100644 --- a/views/admin/members/list.html +++ b/views/admin/members/list.html @@ -49,8 +49,7 @@ {if $m.pending > 0}Pending{/if} - Active Version - Manage + Active Info {/foreach} diff --git a/views/front/members/list.html b/views/front/members/list.html index 709f3f1d..0a906c9b 100644 --- a/views/front/members/list.html +++ b/views/front/members/list.html @@ -175,7 +175,7 @@ {if $m.logo && $settings.list_map_show_logo}
{/if}
{if $settings.list_map_show_detaillink} - {$m.member} + {$m.member} {else} {$m.member} {/if}