From: Chuck Scott Date: Tue, 27 Oct 2015 18:39:20 +0000 (-0400) Subject: Various updates and fixes X-Git-Tag: v1.0.39^2~1 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=bde018568894510be163aed9c57e1ce03bd1babb;p=WP-Plugins%2Fglm-member-db.git Various updates and fixes --- diff --git a/classes/data/dataMemberInfo.php b/classes/data/dataMemberInfo.php index 21f19388..23e1d60c 100644 --- a/classes/data/dataMemberInfo.php +++ b/classes/data/dataMemberInfo.php @@ -451,6 +451,43 @@ class GlmDataMemberInfo extends GlmDataAbstract } + /* + * Get simplified list of member info records. + * + * @param string $where Where clause + * Note the table refernces M and I. + * + * @return object Class object + * + */ + public function getSimpleMemberInfoList($where = '') + { + + // Save current list of fields + $f = $this->fields; + + // Replace fields list with limited list + $this->fields = array( + 'id' => $f['id'], + 'member' => $f['member'], + 'member_name' => $f['member_name'], + 'member_slug' => $f['member_slug'], + 'member_pointer' => $f['member_pointer'], + 'reference_name' => $f['reference_name'], + 'status' => $f['status'], + 'create_time' => $f['create_time'], + 'modify_time' => $f['modify_time'] + ); + + // Get the simplified list + $list = $this->getList($where); + + // Restore full fields list + $this->fields = $f; + + return $list; + } + } diff --git a/controllers/admin.php b/controllers/admin.php index b5fa09a0..d140cac5 100644 --- a/controllers/admin.php +++ b/controllers/admin.php @@ -465,6 +465,12 @@ class glmMembersAdmin extends GlmPluginSupport ) ); + // Set widget default position to right column + global $wp_meta_boxes; + $glm_dashboard_widget = $wp_meta_boxes['dashboard']['normal']['core']['glm_members_admin_dashboard_widget']; + unset($wp_meta_boxes['dashboard']['normal']['core']['glm_members_admin_dashboard_widget']); + $wp_meta_boxes['dashboard']['side']['core']['glm_members_admin_dashboard_widget'] = $glm_dashboard_widget; + } } diff --git a/lib/html5-File-Upload/assets/css/styles.css b/lib/html5-File-Upload/assets/css/styles.css deleted file mode 100644 index 5f2545d4..00000000 --- a/lib/html5-File-Upload/assets/css/styles.css +++ /dev/null @@ -1,256 +0,0 @@ -/*------------------------- - Simple reset ---------------------------*/ - - -/* -*{ - margin:0; - padding:0; -} -*/ - - -/*------------------------- - General Styles ---------------------------*/ - -/* - -html{ - background:url('../img/background_tile_2.jpg'); - min-height:100%; - position:relative; - -} - -body{ - color:#fff; - min-height:600px; - font:14px/1.3 'Segoe UI',Arial, sans-serif; -} - -a, a:visited { - text-decoration:none; - outline:none; - color:#54a6de; -} - -a:hover{ - text-decoration:underline; -} - -header, footer{ - display:block; -} - -*/ - -/*------------------------- - Header Styles ---------------------------*/ - -/* - -header{ - background:url('../img/background_tile_1.jpg'); - padding:75px; - position: relative; -} - -header:before, -#dropbox:before{ - display: block; - content:''; - height:4px; - width:100%; - background:url('../img/blue_line.jpg'); - position: absolute; - top:0; - left:0; - box-shadow:0 2px 2px rgba(0,0,0,0.4); -} - - -h1{ - background:url('../img/logo.jpg') no-repeat top center; - height:92px; - overflow: hidden; - text-indent: -99999px; - text-align: center; -} - -*/ - -/*------------------------- - Dropbox Element ---------------------------*/ - - - -#dropbox{ -/* - background:url('../img/background_tile_3.jpg'); - - border-radius:3px; - position: relative; - margin:80px auto 90px; - min-height: 290px; - overflow: hidden; - padding-bottom: 40px; - width: 990px; - - box-shadow:0 0 4px rgba(0,0,0,0.3) inset,0 -3px 2px rgba(0,0,0,0.1); -*/ -} - - -#dropbox .message{ - font-size: 11px; - text-align: center; - padding-top:160px; - display: block; -} - -#dropbox .message i{ - color:#ccc; - font-size:10px; -} - -#dropbox:before{ - border-radius:3px 3px 0 0; -} - - - -/*------------------------- - Image Previews ---------------------------*/ - - - -#dropbox .preview{ - width:245px; - height: 215px; - float:left; - margin: 55px 0 0 60px; - position: relative; - text-align: center; -} - -#dropbox .preview img{ - max-width: 240px; - max-height:180px; - border:3px solid #fff; - display: block; - - box-shadow:0 0 2px #000; -} - -#dropbox .imageHolder{ - display: inline-block; - position:relative; -} - -#dropbox .uploaded{ - position: absolute; - top:0; - left:0; - height:100%; - width:100%; - background: url('../img/done.png') no-repeat center center rgba(255,255,255,0.5); - display: none; -} - -#dropbox .preview.done .uploaded{ - display: block; -} - - - -/*------------------------- - Progress Bars ---------------------------*/ - - - -#dropbox .progressHolder{ - position: absolute; - background-color:#252f38; - height:12px; - width:100%; - left:0; - bottom: 0; - - box-shadow:0 0 2px #000; -} - -#dropbox .progress{ - background-color:#2586d0; - position: absolute; - height:100%; - left:0; - width:0; - - box-shadow: 0 0 1px rgba(255, 255, 255, 0.4) inset; - - -moz-transition:0.25s; - -webkit-transition:0.25s; - -o-transition:0.25s; - transition:0.25s; -} - -#dropbox .preview.done .progress{ - width:100% !important; -} - - - -/*---------------------------- - The Footer ------------------------------*/ - -/* - -footer{ - display:block; - background-color: #151517; - - position:fixed; - width:100%; - height:70px; - bottom:0; - left:0; - z-index: 100000; - - box-shadow: 0 -1px 2px #171717; - -webkit-box-shadow: 0 -1px 2px #171717; - -moz-box-shadow: 0 -1px 2px #171717; -} - -footer h2{ - font-size:20px; - font-weight:normal; - left:50%; - margin-left:-400px; - padding:22px 0; - position:absolute; - width: 540px; - color:#eee; -} - -footer a.tzine,a.tzine:visited{ - background:url("../img/tzine.png") no-repeat right top; - border:none; - text-decoration:none; - color:#FCFCFC; - font-size:12px; - height:70px; - left:50%; - line-height:31px; - margin:23px 0 0 110px; - position:absolute; - top:0; - width:290px; -} -*/ \ No newline at end of file diff --git a/lib/html5-File-Upload/assets/img/background_tile_1.jpg b/lib/html5-File-Upload/assets/img/background_tile_1.jpg deleted file mode 100644 index ad83d30a..00000000 Binary files a/lib/html5-File-Upload/assets/img/background_tile_1.jpg and /dev/null differ diff --git a/lib/html5-File-Upload/assets/img/background_tile_2.jpg b/lib/html5-File-Upload/assets/img/background_tile_2.jpg deleted file mode 100644 index c7b5efc1..00000000 Binary files a/lib/html5-File-Upload/assets/img/background_tile_2.jpg and /dev/null differ diff --git a/lib/html5-File-Upload/assets/img/background_tile_3.jpg b/lib/html5-File-Upload/assets/img/background_tile_3.jpg deleted file mode 100644 index ac39d60e..00000000 Binary files a/lib/html5-File-Upload/assets/img/background_tile_3.jpg and /dev/null differ diff --git a/lib/html5-File-Upload/assets/img/blue_line.jpg b/lib/html5-File-Upload/assets/img/blue_line.jpg deleted file mode 100644 index 2af2c9f7..00000000 Binary files a/lib/html5-File-Upload/assets/img/blue_line.jpg and /dev/null differ diff --git a/lib/html5-File-Upload/assets/img/done.png b/lib/html5-File-Upload/assets/img/done.png deleted file mode 100644 index 22a14109..00000000 Binary files a/lib/html5-File-Upload/assets/img/done.png and /dev/null differ diff --git a/lib/html5-File-Upload/assets/img/logo.jpg b/lib/html5-File-Upload/assets/img/logo.jpg deleted file mode 100644 index 5c832523..00000000 Binary files a/lib/html5-File-Upload/assets/img/logo.jpg and /dev/null differ diff --git a/lib/html5-File-Upload/assets/img/tzine.png b/lib/html5-File-Upload/assets/img/tzine.png deleted file mode 100644 index df4abaf9..00000000 Binary files a/lib/html5-File-Upload/assets/img/tzine.png and /dev/null differ diff --git a/lib/html5-File-Upload/assets/js/jquery.filedrop.js b/lib/html5-File-Upload/assets/js/jquery.filedrop.js deleted file mode 100644 index ec2b238d..00000000 --- a/lib/html5-File-Upload/assets/js/jquery.filedrop.js +++ /dev/null @@ -1,315 +0,0 @@ -/* - * Default text - jQuery plugin for html5 dragging files from desktop to browser - * - * Author: Weixi Yen - * - * Email: [Firstname][Lastname]@gmail.com - * - * Copyright (c) 2010 Resopollution - * - * Licensed under the MIT license: - * http://www.opensource.org/licenses/mit-license.php - * - * Project home: - * http://www.github.com/weixiyen/jquery-filedrop - * - * Version: 0.1.0 - * - * Features: - * Allows sending of extra parameters with file. - * Works with Firefox 3.6+ - * Future-compliant with HTML5 spec (will work with Webkit browsers and IE9) - * Usage: - * See README at project homepage - * - */ -(function($){ - - jQuery.event.props.push("dataTransfer"); - var opts = {}, - default_opts = { - url: '', - refresh: 1000, - paramname: 'userfile', - maxfiles: 25, - maxfilesize: 1, // MBs - data: {}, - drop: empty, - dragEnter: empty, - dragOver: empty, - dragLeave: empty, - docEnter: empty, - docOver: empty, - docLeave: empty, - beforeEach: empty, - afterAll: empty, - rename: empty, - error: function(err, file, i){alert(err);}, - uploadStarted: empty, - uploadFinished: empty, - progressUpdated: empty, - speedUpdated: empty - }, - errors = ["BrowserNotSupported", "TooManyFiles", "FileTooLarge"], - doc_leave_timer, - stop_loop = false, - files_count = 0, - files; - - $.fn.filedrop = function(options) { - opts = $.extend( {}, default_opts, options ); - - this.bind('drop', drop).bind('dragenter', dragEnter).bind('dragover', dragOver).bind('dragleave', dragLeave); - $(document).bind('drop', docDrop).bind('dragenter', docEnter).bind('dragover', docOver).bind('dragleave', docLeave); - }; - - function drop(e) { - opts.drop(e); - files = e.dataTransfer.files; - if (files === null || files === undefined) { - opts.error(errors[0]); - return false; - } - - files_count = files.length; - upload(); - e.preventDefault(); - return false; - } - - function getBuilder(filename, filedata, boundary) { - var dashdash = '--', - crlf = '\r\n', - builder = ''; - - $.each(opts.data, function(i, val) { - if (typeof val === 'function') val = val(); - builder += dashdash; - builder += boundary; - builder += crlf; - builder += 'Content-Disposition: form-data; name="'+i+'"'; - builder += crlf; - builder += crlf; - builder += val; - builder += crlf; - }); - - builder += dashdash; - builder += boundary; - builder += crlf; - builder += 'Content-Disposition: form-data; name="'+opts.paramname+'"'; - builder += '; filename="' + filename + '"'; - builder += crlf; - - builder += 'Content-Type: application/octet-stream'; - builder += crlf; - builder += crlf; - - builder += filedata; - builder += crlf; - - builder += dashdash; - builder += boundary; - builder += dashdash; - builder += crlf; - return builder; - } - - function progress(e) { - if (e.lengthComputable) { - var percentage = Math.round((e.loaded * 100) / e.total); - if (this.currentProgress != percentage) { - - this.currentProgress = percentage; - opts.progressUpdated(this.index, this.file, this.currentProgress); - - var elapsed = new Date().getTime(); - var diffTime = elapsed - this.currentStart; - if (diffTime >= opts.refresh) { - var diffData = e.loaded - this.startData; - var speed = diffData / diffTime; // KB per second - opts.speedUpdated(this.index, this.file, speed); - this.startData = e.loaded; - this.currentStart = elapsed; - } - } - } - } - - - - function upload() { - stop_loop = false; - if (!files) { - opts.error(errors[0]); - return false; - } - var filesDone = 0, - filesRejected = 0; - - if (files_count > opts.maxfiles) { - opts.error(errors[1]); - return false; - } - - for (var i=0; i max_file_size) { - opts.error(errors[2], files[i], i); - filesRejected++; - continue; - } - - reader.onloadend = send; - reader.readAsBinaryString(files[i]); - } else { - filesRejected++; - } - } catch(err) { - opts.error(errors[0]); - return false; - } - } - - function send(e) { - // Sometimes the index is not attached to the - // event object. Find it by size. Hack for sure. - if (e.target.index == undefined) { - e.target.index = getIndexBySize(e.total); - } - - var xhr = new XMLHttpRequest(), - upload = xhr.upload, - file = files[e.target.index], - index = e.target.index, - start_time = new Date().getTime(), - boundary = '------multipartformboundary' + (new Date).getTime(), - builder; - - newName = rename(file.name); - if (typeof newName === "string") { - builder = getBuilder(newName, e.target.result, boundary); - } else { - builder = getBuilder(file.name, e.target.result, boundary); - } - - upload.index = index; - upload.file = file; - upload.downloadStartTime = start_time; - upload.currentStart = start_time; - upload.currentProgress = 0; - upload.startData = 0; - upload.addEventListener("progress", progress, false); - - xhr.open("POST", opts.url, true); - xhr.setRequestHeader('content-type', 'multipart/form-data; boundary=' - + boundary); - - xhr.sendAsBinary(builder); - - opts.uploadStarted(index, file, files_count); - - xhr.onload = function() { - if (xhr.responseText) { - var now = new Date().getTime(), - timeDiff = now - start_time, - result = opts.uploadFinished(index, file, jQuery.parseJSON(xhr.responseText), timeDiff); - filesDone++; - if (filesDone == files_count - filesRejected) { - afterAll(); - } - if (result === false) stop_loop = true; - } - }; - } - } - - function getIndexBySize(size) { - for (var i=0; i < files_count; i++) { - if (files[i].size == size) { - return i; - } - } - - return undefined; - } - - function rename(name) { - return opts.rename(name); - } - - function beforeEach(file) { - return opts.beforeEach(file); - } - - function afterAll() { - return opts.afterAll(); - } - - function dragEnter(e) { - clearTimeout(doc_leave_timer); - e.preventDefault(); - opts.dragEnter(e); - } - - function dragOver(e) { - clearTimeout(doc_leave_timer); - e.preventDefault(); - opts.docOver(e); - opts.dragOver(e); - } - - function dragLeave(e) { - clearTimeout(doc_leave_timer); - opts.dragLeave(e); - e.stopPropagation(); - } - - function docDrop(e) { - e.preventDefault(); - opts.docLeave(e); - return false; - } - - function docEnter(e) { - clearTimeout(doc_leave_timer); - e.preventDefault(); - opts.docEnter(e); - return false; - } - - function docOver(e) { - clearTimeout(doc_leave_timer); - e.preventDefault(); - opts.docOver(e); - return false; - } - - function docLeave(e) { - doc_leave_timer = setTimeout(function(){ - opts.docLeave(e); - }, 200); - } - - function empty(){} - - try { - if (XMLHttpRequest.prototype.sendAsBinary) return; - XMLHttpRequest.prototype.sendAsBinary = function(datastr) { - function byteValue(x) { - return x.charCodeAt(0) & 0xff; - } - var ords = Array.prototype.map.call(datastr, byteValue); - var ui8a = new Uint8Array(ords); - this.send(ui8a.buffer); - } - } catch(e) {} - -})(jQuery); \ No newline at end of file diff --git a/lib/html5-File-Upload/assets/js/upload-script.js b/lib/html5-File-Upload/assets/js/upload-script.js deleted file mode 100644 index 33410863..00000000 --- a/lib/html5-File-Upload/assets/js/upload-script.js +++ /dev/null @@ -1,102 +0,0 @@ -$(function(){ - - var dropbox = $('#dropbox'), - message = $('.message', dropbox); - - dropbox.filedrop({ - // The name of the $_FILES entry: - paramname:'pic', - - maxfiles: 5, - maxfilesize: 2, - url: 'post_file.php', - - uploadFinished:function(i,file,response){ - $.data(file).addClass('done'); - // response is the JSON object that post_file.php returns - }, - - error: function(err, file) { - switch(err) { - case 'BrowserNotSupported': - showMessage('Your browser does not support HTML5 file uploads!'); - break; - case 'TooManyFiles': - alert('Too many files! Please select 5 at most! (configurable)'); - break; - case 'FileTooLarge': - alert(file.name+' is too large! Please upload files up to 2mb (configurable).'); - break; - default: - break; - } - }, - - // Called before each upload is started - beforeEach: function(file){ - if(!file.type.match(/^image\//)){ - alert('Only images are allowed!'); - - // Returning false will cause the - // file to be rejected - return false; - } - }, - - uploadStarted:function(i, file, len){ - createImage(file); - }, - - progressUpdated: function(i, file, progress) { - $.data(file).find('.progress').width(progress); - } - - }); - - var template = '
'+ - ''+ - ''+ - ''+ - ''+ - '
'+ - '
'+ - '
'+ - '
'; - - - function createImage(file){ - - var preview = $(template), - image = $('img', preview); - - var reader = new FileReader(); - - image.width = 100; - image.height = 100; - - reader.onload = function(e){ - - // e.target.result holds the DataURL which - // can be used as a source of the image: - - image.attr('src',e.target.result); - }; - - // Reading the file as a DataURL. When finished, - // this will trigger the onload function above: - reader.readAsDataURL(file); - - message.hide(); - preview.appendTo(dropbox); - - // Associating a preview container - // with the file, using jQuery's $.data(): - - $.data(file,preview); - } - - function showMessage(msg){ - message.html(msg); - } - -}); \ No newline at end of file diff --git a/lib/html5-File-Upload/post_file.php b/lib/html5-File-Upload/post_file.php deleted file mode 100644 index c364f940..00000000 --- a/lib/html5-File-Upload/post_file.php +++ /dev/null @@ -1,59 +0,0 @@ -$str)); - exit; -} - -function get_extension($file_name){ - $ext = explode('.', $file_name); - $ext = array_pop($ext); - return strtolower($ext); -} -?> \ No newline at end of file diff --git a/lib/html5-File-Upload/sample-index.html b/lib/html5-File-Upload/sample-index.html deleted file mode 100644 index 50aa0319..00000000 --- a/lib/html5-File-Upload/sample-index.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - HTML5 File Drag and Drop Upload with jQuery and PHP | Tutorialzine Demo - - - - - - - - - -
-

HTML5 File Upload with jQuery and PHP

-
- -
- Drop images here to upload.
(they will only be visible to you)
-
- - - - - - - - - - - - - - - diff --git a/models/admin/dashboardWidget/index.php b/models/admin/dashboardWidget/index.php index d7840282..0142d911 100644 --- a/models/admin/dashboardWidget/index.php +++ b/models/admin/dashboardWidget/index.php @@ -148,6 +148,11 @@ class GlmMembersAdmin_dashboardWidget_index extends GlmDataMembers $MemberInfo = new GlmDataMemberInfo($this->wpdb, $this->config); $membersPending = $MemberInfo->getStats('status = '.$this->config['status_numb']['Pending']); + // Get member information records with bad or no lat/lon + $hideArchived = " T.status != ".$this->config['status_numb']['Archived']; + $badLatLonList = $MemberInfo->getSimpleMemberInfoList($hideArchived.' AND (T.lat = 0 OR T.lon = 0)'); + $haveBadLatLon = (count($badLatLonList) > 0); + // If there's members with pending information, list them $pendingList = false; if ($membersPending > 0) { @@ -159,6 +164,8 @@ class GlmMembersAdmin_dashboardWidget_index extends GlmDataMembers 'numbMembers' => $stats, 'membersList' => $membersList, 'membersPending' => $membersPending, + 'haveBadLatLon' => $haveBadLatLon, + 'badLatLonList' => $badLatLonList, 'haveMemberTypes' => $haveMemberTypes, 'haveCategories' => $haveCategories, 'haveAccommodationTypes' => $haveAccommodationTypes, diff --git a/models/admin/management/import.php b/models/admin/management/import.php index 396c2e13..f18b7c4c 100644 --- a/models/admin/management/import.php +++ b/models/admin/management/import.php @@ -827,12 +827,30 @@ class GlmMembersAdmin_management_import */ // Import Members + $numbMembersActive = 0; + $numbMembersInactive = 0; while (list ($key, $val) = each ($member) ) { + // Determine if member is active and set access accordingly + if ($val['active'] == 't') { + + // Member is active, so set to active-moderated + $access = $this->config['memb_access_numb']['Moderated']; + $numbMembersActive++; + + } else { + + // Member is not active, so set to no display no access + $access = $this->config['memb_access_numb']['NotDisplayed']; + $numbMembersInactive++; + + } + + // Add main member record $res = $this->wpdb->insert( GLM_MEMBERS_PLUGIN_DB_PREFIX.'members', array( - 'access' => $this->config['memb_access_numb']['Moderated'], + 'access' => $access, 'member_type' => $defaultMemberType, 'created' => date('Y-m-d'), 'name' => $val['member_name'], @@ -998,6 +1016,8 @@ class GlmMembersAdmin_management_import $templateData['numbStates'] = count($state); $templateData['numbRegions'] = count($region); $templateData['numbMembers'] = count($member); + $templateData['numbMembersActive'] = $numbMembersActive; + $templateData['numbMembersInactive'] = $numbMembersInactive; $templateData['numbCategories'] = count($catTrans); $templateData['numbCategoryMembers'] = count($membCat); $templateData['numbAmenities'] = count($amenity); diff --git a/models/admin/members/index.php b/models/admin/members/index.php index 58f1b7f0..e1bd5ac4 100644 --- a/models/admin/members/index.php +++ b/models/admin/members/index.php @@ -147,11 +147,16 @@ class GlmMembersAdmin_members_index extends GlmDataMembers $MemberInfo = new GlmDataMemberInfo($this->wpdb, $this->config); $membersPending = $MemberInfo->getStats('status = '.$this->config['status_numb']['Pending']); + // Get member information records with bad or no lat/lon + $hideArchived = " T.status != ".$this->config['status_numb']['Archived']; + $badLatLonList = $MemberInfo->getSimpleMemberInfoList($hideArchived.' AND (T.lat = 0 OR T.lon = 0)'); + $haveBadLatLon = (count($badLatLonList) > 0); + // If there's members with pending information, list them $pendingList = false; if ($membersPending > 0) { - $pendingList = $MemberInfo->getList('status = '.$this->config['status_numb']['Pending']); + $pendingList = $MemberInfo->getSimpleMemberInfoList('status = '.$this->config['status_numb']['Pending']); } // Compile template data @@ -159,6 +164,8 @@ class GlmMembersAdmin_members_index extends GlmDataMembers 'numbMembers' => $stats, 'membersList' => $membersList, 'membersPending' => $membersPending, + 'haveBadLatLon' => $haveBadLatLon, + 'badLatLonList' => $badLatLonList, 'haveMemberTypes' => $haveMemberTypes, 'haveCategories' => $haveCategories, 'haveAccommodationTypes' => $haveAccommodationTypes, diff --git a/models/admin/members/list.php b/models/admin/members/list.php index 3c673596..6bd88f03 100644 --- a/models/admin/members/list.php +++ b/models/admin/members/list.php @@ -126,6 +126,28 @@ class GlmMembersAdmin_members_list extends GlmDataMembers $where .= " AND T.access != ".$this->config['memb_access_numb']['Archived']; } + // Get a list of categories for filtering + require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCategories.php'); + $Categories = new GlmDataCategories($this->wpdb, $this->config); + $categories = $Categories->getListSortedParentChild(false); + + // Check if there is a category filter + if (isset($_REQUEST['filterCategory'])) { + $filterCat = ($_REQUEST['filterCategory'] - 0); + $where .= " AND T.id in ( + SELECT DISTINCT(I.member) + FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info I, + ".GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info M, + ".GLM_MEMBERS_PLUGIN_DB_PREFIX."categories C + WHERE I.id = M.member_info + AND ( + M.category = $filterCat + OR (C.parent = $filterCat AND M.category = C.id) + ) + )"; + } + + // Get a current list of members $list = $this->getList($where); @@ -173,9 +195,11 @@ class GlmMembersAdmin_members_list extends GlmDataMembers $templateData = array( 'haveMembers' => $haveMembers, 'members' => $list, + 'categories' => $categories, 'haveFilter' => $haveFilter, 'filterArchived' => $filterArchived, 'filterPending' => $filterPending, + 'filterCat' => $filterCat, 'filterName' => stripslashes($filterName) // 'canEdit' => $canEdit ); diff --git a/views/admin/dashboardWidget/index.html b/views/admin/dashboardWidget/index.html index 953e5f60..063bff3a 100644 --- a/views/admin/dashboardWidget/index.html +++ b/views/admin/dashboardWidget/index.html @@ -53,17 +53,33 @@ Number of Members Listed: List Members{$numbMembers} -{if $membersPending} +{if $haveBadLatLon}
-

Pending Member Information

+

Records with Bad Map Locations

- + + {assign var="i" value="0"} + {foreach $badLatLonList as $p} + {if $i++ is odd by 1} - - + {else} + + {/if} + - + {/foreach} + +
Member NameReference Name
+ {$p.member} +
+{/if} + +{if $membersPending} +
+

Pending Member Information

+ + {assign var="i" value="0"} {foreach $pendingList as $p} @@ -75,9 +91,6 @@ - {/foreach} diff --git a/views/admin/management/import/readDatabase.html b/views/admin/management/import/readDatabase.html index e3dc7788..59dc4752 100644 --- a/views/admin/management/import/readDatabase.html +++ b/views/admin/management/import/readDatabase.html @@ -13,6 +13,8 @@ + + diff --git a/views/admin/member/index.html b/views/admin/member/index.html index 09db9801..acdd2055 100644 --- a/views/admin/member/index.html +++ b/views/admin/member/index.html @@ -82,23 +82,17 @@

 

-
-

Member Information Versions

+ Add New Member Information Version +
+

+

Member Information Versions

Show archived information  

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

There is no active information for this member.

- {/if} - +

+
{$p.member} - {$p.reference_name} -
States:{$numbStates}
Regions:{$numbRegions}
Members:{$numbMembers}
Members Active:{$numbMembersActive}
Members Inactive:{$numbMembersInactive}
Categories:{$numbCategories}
Member Category Entires:{$numbCategoryMembers}
Amenities:{$numbAmenities}
@@ -110,6 +104,10 @@ + + {if $haveMember} + {if $haveInfoRecords} + {assign var="i" value="0"} {foreach $memberInfoRecords as $m} {if $i++ is odd by 1} @@ -127,13 +125,12 @@ {/foreach} - -
{else} -

You do not yet have any member information entered.

-

Click here too start entering information for this member.

- {/if} + Click here too start entering information for this member. {/if} + + + {/if} {else}

You do not have any Member Types setup.

diff --git a/views/admin/member/memberInfo.html b/views/admin/member/memberInfo.html index 73db7e7e..1f87a456 100644 --- a/views/admin/member/memberInfo.html +++ b/views/admin/member/memberInfo.html @@ -558,8 +558,6 @@ - -