-{"version":3,"file":"glma-admin-sass.css","sources":["app.scss","_test.scss","_dashboard.scss"],"sourcesContent":["@import 'test';\n@import 'dashboard';",".stupid-widget{\n color: red;\n}","/* New Dashboard Styles */\n.glm-associate-admin-wrap.glm-associate-admin-dashboard-wrap {\n #glm-admin-content-container {\n background-color: transparent;\n border: 0;\n padding: 0;\n }\n .members-summary-widget {\n .summary-widget-body {\n padding: 10px;\n position: relative;\n .dashboard-widget-buttons {\n margin: 0;\n }\n .quick-links {\n padding: 8px 12px 4px;\n margin: 0 -12px;\n .quick-link {\n &:after {\n content: ' |';\n }\n &:last-child:after {\n content: '';\n }\n }\n }\n .list-header {\n padding: 8px 12px 8px;\n border-top: 1px solid #eee;\n border-bottom: 1px solid #eee;\n margin: 0 -10px;\n }\n .collection {\n margin: 0 -10px;\n border-bottom: 1px solid #eee;\n .collection-item {\n background-color: #fafafa;\n line-height: 1;\n padding: 5px 15px;\n float: left;\n width: 100%;\n a:not(.btn) {\n color: #0073aa;\n display: inline-block;\n overflow: hidden;\n padding: 0 2%;\n &.collection-item-left {\n float: left;\n text-align: left;\n }\n &.collection-item-right {\n text-align: right;\n float: right;\n }\n\n }\n }\n }\n\n }\n }\n .dashboard-summary-widget{\n background-color: white;\n box-shadow: none;\n border-color: #e5e5e5;\n box-shadow: 0 1px 1px rgba(0,0,0,0.04);\n // .date-field{\n // @media (max-width: 1024px){\n // width: 50% !important;\n // }\n // }\n .summary-widget-handle::after {\n content: \"\";\n position: absolute;\n top: 55%;\n transform: translateY(-50%);\n right: 10px;\n width: 0;\n height: 0;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-top: 6px solid black;\n }\n .summary-widget-handle {\n padding: 7px 10px;\n background-color: white;\n color: black;\n border-bottom: 1px solid #eee;\n font-size: 15px;\n font-weight: bold;\n position: relative;\n }\n }\n\n .glm-summary-widgets-wrapper > h2 {\n font-size: 32px;\n }\n}\n.dashboard-summary-widget{\n .modal-content.datepicker-container{\n .select-dropdown.dropdown-trigger{\n width: 85px;\n }\n }\n .date-search-container{\n margin-top: 20px;\n .date-search-title{\n padding-left: 12px;\n font-weight: bold;\n }\n }\n [type=\"checkbox\"]:not(:checked), [type=\"checkbox\"]:checked{\n position: relative;\n opacity: 1;\n pointer-events: initial;\n }\n}"],"mappings":"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","names":[],"sourceRoot":"/source/"}
\ No newline at end of file
+{"version":3,"file":"glma-admin-sass.css","sources":["app.scss","_test.scss","_dashboard.scss"],"sourcesContent":["@import 'test';\n@import 'dashboard';",".stupid-widget{\n color: red;\n}","/* New Dashboard Styles */\n.glm-associate-admin-wrap.glm-associate-admin-dashboard-wrap {\n #glm-admin-content-container {\n background-color: transparent;\n border: 0;\n padding: 0;\n }\n .members-summary-widget {\n .summary-widget-body {\n padding: 10px;\n position: relative;\n .dashboard-widget-buttons {\n margin: 0;\n }\n .quick-links {\n padding: 8px 12px 4px;\n margin: 0 -12px;\n .quick-link {\n &:after {\n content: ' |';\n }\n &:last-child:after {\n content: '';\n }\n }\n }\n .list-header {\n padding: 8px 12px 8px;\n border-top: 1px solid #eee;\n border-bottom: 1px solid #eee;\n margin: 0 -10px;\n }\n .collection {\n margin: 0 -10px;\n border-bottom: 1px solid #eee;\n .collection-item {\n background-color: #fafafa;\n line-height: 1;\n padding: 5px 15px;\n float: left;\n width: 100%;\n a:not(.btn) {\n color: #0073aa;\n display: inline-block;\n overflow: hidden;\n padding: 0 2%;\n &.collection-item-left {\n float: left;\n text-align: left;\n }\n &.collection-item-right {\n text-align: right;\n float: right;\n }\n\n }\n }\n }\n\n }\n }\n .dashboard-summary-widget{\n background-color: white;\n box-shadow: none;\n border-color: #e5e5e5;\n box-shadow: 0 1px 1px rgba(0,0,0,0.04);\n // .date-field{\n // @media (max-width: 1024px){\n // width: 50% !important;\n // }\n // }\n .summary-widget-handle::after {\n content: \"\";\n position: absolute;\n top: 55%;\n transform: translateY(-50%);\n right: 10px;\n width: 0;\n height: 0;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-top: 6px solid black;\n }\n .summary-widget-handle {\n padding: 7px 10px;\n background-color: white;\n color: black;\n border-bottom: 1px solid #eee;\n font-size: 15px;\n font-weight: bold;\n position: relative;\n }\n }\n\n .glm-summary-widgets-wrapper > h2 {\n font-size: 32px;\n }\n}\n.dashboard-summary-widget{\n .modal-content.datepicker-container{\n .select-dropdown.dropdown-trigger{\n width: 85px;\n }\n }\n .date-search-container{\n margin-top: 20px;\n .date-search-title{\n padding-left: 12px;\n font-weight: bold;\n }\n }\n // [type=\"checkbox\"]:not(:checked), [type=\"checkbox\"]:checked{\n // position: relative;\n // opacity: 1;\n // pointer-events: initial;\n // }\n}"],"mappings":"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","names":[],"sourceRoot":"/source/"}
\ No newline at end of file
* @link http://dev.gaslightmedia.com/
*/
-
+require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMembers.php';
/*
* This model is called when the "Shortcodes" menu is selected
*
*/
-class GlmMembersAdmin_export_index
+class GlmMembersAdmin_export_index extends GlmDataMembers
{
/**
public function modelAction($actionData = false) {
+ $where = ' true ';
+ $alphaWhere = ' true ';
+ $catSearchSelected = false;
+ $catSelectedString = "";
+ $mTypeSelected = '';
+ $catSelected = '';
+ $catsToUse = '';
+ $filterPending = false;
+ $filterArchived = false;
+ $filterFeatured = false;
+ $haveFilter = false;
+ $numbDisplayed = false;
+ $lastDisplayed = false;
+ $paging = true;
+ $prevStart = false;
+ $nextStart = false;
+ $start = 1;
+ $limit = 20; // Set to the number of listings per page
+ $namesList = false;
+ $enable_members = $this->config['settings']['enable_members'];
+ $textSearch = false;
+
+ // Save all query parameters
+ if ( isset( $_REQUEST['glm_action'] ) && $_REQUEST['glm_action'] == 'list' ) {
+ $_SESSION['member_saved_search'] = $_REQUEST;
+ } else if ( !isset( $_REQUEST['glm_action'] )
+ && (!isset( $_REQUEST['back_to_search'] ) || !filter_var( $_REQUEST['back_to_search'], FILTER_VALIDATE_BOOLEAN ))
+ ) {
+ unset( $_SESSION['member_saved_search'] );
+ }
+ // Check for back to search flag
+ if ( isset( $_REQUEST['back_to_search'] )
+ && filter_var( $_REQUEST['back_to_search'], FILTER_VALIDATE_BOOLEAN )
+ && isset( $_SESSION['member_saved_search'] )
+ ) {
+ $_REQUEST = $_SESSION['member_saved_search'];
+ }
+ // Check if this is a request to show archived members
+ if (isset($_REQUEST['filterArchived'])) {
+ $where .= " AND access = ".$this->config['access_numb']['Archived'];
+ $filterArchived = true;
+ $haveFilter = true;
+
+ // If not, don't show them
+ } else {
+ $where .= " AND access != ".$this->config['access_numb']['Archived'];
+ }
+
+ // Check for a text search
+ if (isset($_REQUEST['text_search']) && trim($_REQUEST['text_search']) != '') {
+
+ // $textSearch = addslashes(filter_input(INPUT_POST, 'text_search', FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES));
+ $textSearch = addslashes(filter_var($_REQUEST['text_search'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES));
+ $where .= " AND T.id in (
+ SELECT DISTINCT(id)
+ FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."members
+ WHERE name like '%$textSearch%'
+ )";
+
+ }
+
+ // 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);
+
+ // If we have categories, add "selected" element default false;
+ if (is_array($categories)) {
+ reset($categories);
+ while (list($k, $v) = each($categories)) {
+ $categories[$k]['selected'] = false;
+ }
+ }
+
+ // Get a list of member_types for filtering
+ require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMemberTypes.php';
+ $MemberTypes = new GlmDataMemberTypes( $this->wpdb, $this->config );
+ $member_types = $MemberTypes->getList();
+
+ // Check if there is a member_type filter
+ if ( isset( $_REQUEST['filterMemberTypes'] ) && $memberTypeFilter = filter_var( $_REQUEST['filterMemberTypes'], FILTER_VALIDATE_INT ) ) {
+ $where .= " AND T.member_type = $memberTypeFilter ";
+ $mTypeSelected = $memberTypeFilter;
+ }
+
+ // Check if there is a category filter (multi-select)
+ if (isset($_REQUEST['categorySearch']) && $_REQUEST['categorySearch'] > 0) {
+ $catsToUse = explode(',',$_REQUEST['categorySearch']);
+ }
+ if (isset($_REQUEST['filterCategories']) && count($_REQUEST['filterCategories']) > 0) {
+ $catsToUse = $_REQUEST['filterCategories'];
+ }
+
+ if ($catsToUse && $catsToUse !== '') {
+ $cats = '';
+ $catsSep = '';
+
+ // For each selected category
+ foreach($catsToUse as $c) {
+ $cats .= $catsSep.$c;
+ $catsSep = ',';
+ $categories[$c]['selected'] = true;
+ }
+
+ $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 I.status != " . $this->config['status_numb']['Archived'] ."
+ AND (
+ M.category in ($cats)
+ OR (C.parent in ($cats) AND M.category = C.id)
+ )
+ )";
+ $catSelectedString = $cats;
+ }
+
+ // Check for "Pending Only
+ if (isset($_REQUEST['filterPending'])) {
+
+ // Refine search only to members with pending Info data
+ $where .= " AND (
+ SELECT COUNT(id)
+ FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info I
+ WHERE I.status = ".$this->config['status_numb']['Pending']."
+ AND I.member = T.id
+ )";
+
+ $filterPending = true;
+ $haveFilter = true;
+ }
+
+ // Check for "Featured Only
+ if (isset($_REQUEST['filterFeatured'])) {
+
+ // Refine search only to members with pending Info data
+ $where .= " AND (
+ SELECT COUNT(id)
+ FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."members I
+ WHERE I.featured = 1
+ AND I.id = T.id
+
+ )";
+ $filterFeatured = true;
+ $haveFilter = true;
+ }
+
+ // If doing alpha list
+ if (isset($_REQUEST['alpha'])) {
+ $actionData['request']['alpha'] = $_REQUEST['alpha'];
+ }
+
+ $alphaList = false;
+ $alphaWhere = '';
+
+ $alphaSelected = false;
+
+ // If user clicked a page request then we need to check the savedAlpha value
+ if (isset($_REQUEST['savedAlpha']) && isset($_REQUEST['pageSelect'])) {
+ $actionData['request']['alpha'] = $_REQUEST['savedAlpha'];
+ }
+
+ if ($actionData['request']['alpha'] && strlen($actionData['request']['alpha']) == 1) {
+ $alphaSelected = strtoupper($actionData['request']['alpha']);
+ $alphaWhere .= " AND T.name LIKE '$alphaSelected%'";
+ }
+
+ // Get full list for all other filters, but not filtered by alpha (that would be silly)
+ $alphaList = $this->getAlphaList(' AND '.$where, $alphaSelected);
+
+ $whereParts = apply_filters('glm-member-db-admin-search-query', $where, 'glm-member-db');
+ if ( is_array( $whereParts ) && count( $whereParts ) > 0 ) {
+ $where .= ' AND '.implode(" AND ", $whereParts);
+ $whereSep = ' AND ';
+ }
+
+ // Get count of members listed
+ $memberCount = $this->getStats($where);
+
+ // If the number of members is less than a page, don't do paging
+ if ($memberCount <= $limit) {
+ $paging = false;
+ }
+
+ // Get full list of names matching this where clause for search box
+ $namesList = $this->getIdName($where);
+
+ // Check if we're doing paging
+ if (isset($_REQUEST['pageSelect'])) {
+
+ // If request is for Next
+ if ($_REQUEST['pageSelect'][0] == 'N') {
+ $newStart = $_REQUEST['nextStart'] - 0;
+
+ // Otherwise it must be Previous
+ } else {
+ $newStart = $_REQUEST['prevStart'] - 0;
+ }
+
+ if ($newStart > 0) {
+ $start = $newStart;
+ }
+ }
+
+ // echo '<pre>$where: ' . print_r( $where, true ) . '</pre>';
+
+ // Get stats for number of members found matching current selection criteria (includes alpha selection)
+ $filteredMembersFound = $this->getStats(str_replace('T.', '', $where.$alphaWhere));
+
+ // Get a current list of members
+ $listResult = $this->getSimpleMembersList($where.$alphaWhere, 'name', true, 'id', $start, $limit);
+
+ // Get paging results
+ $numbDisplayed = $listResult['returned'];
+ $lastDisplayed = $listResult['last'];
+ if ($start == 1) {
+ $prevStart = false;
+ } else {
+ $prevStart = $start - $limit;
+ if ($start < 1) {
+ $start = 1;
+ }
+ }
+ if ($listResult['returned'] == $limit) {
+ $nextStart = $start + $limit;
+ }
+
+ // since we're doing paging, we have to break out just the member data
+ $list = $listResult['list'];
+ unset($listResult);
+
+ // If we have list entries - even if it's an empty list
+ $success = true;
+ $haveMembers = false;
+ if ($list !== false) {
+
+ $success = true;
+
+ // If we have any entries
+ if (count($list) > 0) {
+ $haveMembers = true;
+ }
+ }
+
+ // Determine if current user can add, edit, delete member data
+// $canEdit = current_user_can('glm_members_edit');
+
+ // Add a url for each member
+ if ( isset( $list) && is_array( $list ) ) {
+ foreach ($list as $member) {
+ $list[$member['id']]['member_slug'] = sanitize_title($member['name']);
+ }
+ }
+
+ // Create current month/date string to pre-populate the Month/Year field for
+ $monthYear = date('F Y');
+
+ // Update the textSearch for output into the form.
+ $textSearch = str_replace("\'", "'", $textSearch );
+ $textSearch = str_replace('\\"', '"', $textSearch );
+ $textSearch = str_replace('\\', '', $textSearch );
+
// Compile template data
$templateData = array(
-
+ 'monthYear' => $monthYear,
+ 'enable_members' => $enable_members,
+ 'haveMembers' => $haveMembers,
+ 'members' => $list,
+ 'memberCount' => $memberCount,
+ 'categories' => $categories,
+ 'member_types' => $member_types,
+ 'haveFilter' => $haveFilter,
+ 'filterArchived' => $filterArchived,
+ 'filterFeatured' => $filterFeatured,
+ 'filterPending' => $filterPending,
+ 'catSelected' => $catSelected,
+ 'catSearchSelected' => $catSelectedString,
+ 'mTypeSelected' => $mTypeSelected,
+ 'alphaList' => $alphaList,
+ 'alphaSelected' => $alphaSelected,
+ 'numbDisplayed' => $numbDisplayed,
+ 'lastDisplayed' => $lastDisplayed,
+ 'paging' => $paging,
+ 'prevStart' => $prevStart,
+ 'nextStart' => $nextStart,
+ 'start' => $start,
+ 'limit' => $limit,
+ 'namesList' => $namesList,
+ 'textSearch' => $textSearch
);
-
// Return status, any suggested view, and any data to controller
return array(
'status' => true,