Changeset 2789504
- Timestamp:
- 09/23/2022 10:07:16 PM (4 years ago)
- Location:
- groups-for-membermouse
- Files:
-
- 50 added
- 4 edited
-
tags/2.1.4 (added)
-
tags/2.1.4/css (added)
-
tags/2.1.4/css/admin.css (added)
-
tags/2.1.4/css/groups-leader-dashboard.css (added)
-
tags/2.1.4/groups-for-membermouse.php (added)
-
tags/2.1.4/images (added)
-
tags/2.1.4/images/close.png (added)
-
tags/2.1.4/images/group_title_bg.png (added)
-
tags/2.1.4/images/loading.gif (added)
-
tags/2.1.4/images/pbar-animated.gif (added)
-
tags/2.1.4/includes (added)
-
tags/2.1.4/includes/activate_group.php (added)
-
tags/2.1.4/includes/add_group.php (added)
-
tags/2.1.4/includes/add_group_user.php (added)
-
tags/2.1.4/includes/cancel_group.php (added)
-
tags/2.1.4/includes/change_group_cost.php (added)
-
tags/2.1.4/includes/check_user.php (added)
-
tags/2.1.4/includes/check_username.php (added)
-
tags/2.1.4/includes/class.shortcodes.php (added)
-
tags/2.1.4/includes/config.php (added)
-
tags/2.1.4/includes/create_group.php (added)
-
tags/2.1.4/includes/create_group_leader.php (added)
-
tags/2.1.4/includes/delete_group.php (added)
-
tags/2.1.4/includes/delete_group_data.php (added)
-
tags/2.1.4/includes/delete_group_member.php (added)
-
tags/2.1.4/includes/docs.php (added)
-
tags/2.1.4/includes/edit_group.php (added)
-
tags/2.1.4/includes/edit_group_name.php (added)
-
tags/2.1.4/includes/group_leader_form.php (added)
-
tags/2.1.4/includes/import.php (added)
-
tags/2.1.4/includes/manage.php (added)
-
tags/2.1.4/includes/manage_groups.php (added)
-
tags/2.1.4/includes/manage_groups_admin.php (added)
-
tags/2.1.4/includes/purchase_link.php (added)
-
tags/2.1.4/includes/show_help_window.php (added)
-
tags/2.1.4/includes/show_purchase_link.php (added)
-
tags/2.1.4/includes/tabs.php (added)
-
tags/2.1.4/includes/templates (added)
-
tags/2.1.4/includes/templates/mm_group_template.csv (added)
-
tags/2.1.4/includes/update_group.php (added)
-
tags/2.1.4/includes/update_group_name.php (added)
-
tags/2.1.4/index.php (added)
-
tags/2.1.4/js (added)
-
tags/2.1.4/js/admin.js (added)
-
tags/2.1.4/js/checkout.js (added)
-
tags/2.1.4/js/groups-leader-dashboard.js (added)
-
tags/2.1.4/js/mm-group-import_wizard.js (added)
-
tags/2.1.4/readme.txt (added)
-
tags/2.1.4/templates (added)
-
tags/2.1.4/templates/mm_groups_import_template.csv (added)
-
trunk/groups-for-membermouse.php (modified) (1 diff)
-
trunk/includes/class.shortcodes.php (modified) (11 diffs)
-
trunk/js/groups-leader-dashboard.js (modified) (3 diffs)
-
trunk/readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
groups-for-membermouse/trunk/groups-for-membermouse.php
r2683995 r2789504 4 4 * Plugin Name: Groups for MemberMouse 5 5 * Description: Adds group support to MemberMouse. You can define different types of groups allowing a single customer to pay for multiple seats and members to join existing groups for free or for a price based on how you configure the group type. <strong>Requires MemberMouse to activate and use.</strong> 6 * Version: 2.1. 36 * Version: 2.1.4 7 7 * Author: Mintun Media 8 8 * Plugin URI: https://www.mintunmedia.com -
groups-for-membermouse/trunk/includes/class.shortcodes.php
r2683995 r2789504 83 83 global $wpdb, $current_user; 84 84 85 static $count = 1; // used to set unique IDs 86 85 87 $search = $_GET["q"]; 86 88 $filter = $_GET["filter"]; 87 89 $order = $_GET["order"]; 90 $countID = $_GET["countid"]; 88 91 89 92 $controls = array( … … 91 94 'add-member' => 'show', 92 95 'action-column' => 'show', 96 'status' => '', 93 97 ); 94 98 … … 97 101 $signup_link_content = '<button class="btn primary-btn" title="Signup Link" id="signup-link">Signup Link</button>'; 98 102 $add_member_content = '<button class="btn primary-btn" title="Add a Member" id="add-member">Add Member</button>'; 103 $edit_group_name_link = '<button class="btn primary-btn" title="Edit Group Name" id="edit-group-name">Edit Group Name</button>'; 99 104 $action_header_content = '<th>Actions</th>'; 100 105 … … 102 107 $add_member_control = $atts['add-member']; 103 108 $action_control = $atts['action-column']; 109 $status_type = $atts['status']; 104 110 105 111 $groups = new MemberMouseGroupAddon(); … … 138 144 $gMemResults = $wpdb->get_results($gMemSql); ?> 139 145 140 <h2><em><?php echo $group_name; ?></em> Management Dashboard </h2>146 <h2><em><?php echo $group_name; ?></em> Management Dashboard <? if($status_type) { echo ($status_type == 'active') ? ' - Active' : ' - Deactivated'; } ?></h2> 141 147 142 148 <div class="groups-button-container"> 143 <button class="btn primary-btn" title="Edit Group Name" id="edit-group-name">Edit Group Name</button> 144 <?php if ($signup_link_control != 'hide') { 145 echo $signup_link_content; 146 } 147 if ($add_member_control != 'hide') { 148 echo $add_member_content; 149 <?php if ($status_type != 'inactive') { 150 echo $edit_group_name_link; 151 152 if ($signup_link_control != 'hide') { 153 echo $signup_link_content; 154 } 155 if ($add_member_control != 'hide') { 156 echo $add_member_content; 157 } 149 158 } ?> 150 159 </div> … … 152 161 <!-- TODO create a JS action that refreshes the page & changes the query param for 'search'. --> 153 162 <div class="search-input-container"> 154 <input type="text" id="members-search-input " placeholder="Search Members by Email or Name" aria-placeholder="Search Members by Email or Name" value="<?php echo $search;?>">155 <button id="members-search " class="btn btn-primary">Search</button>156 <button id="clear-search " class="btn btn-primary">Clear</button>163 <input type="text" id="members-search-input<? echo '-'.$count ?>" placeholder="Search Members by Email or Name" aria-placeholder="Search Members by Email or Name" value="<?php if($count == $countID) { echo $search; } ?>"> 164 <button id="members-search<? echo '-'.$count ?>" class="btn btn-primary search-btn" data-search-input="<? echo $count ?>">Search</button> 165 <button id="clear-search<? echo '-'.$count ?>" class="btn btn-primary clear-search-btn" data-search-input="<? echo $count ?>">Clear</button> 157 166 </div> 158 167 … … 184 193 $statusId = (int) $gMemRes->member_status; 185 194 195 if($status_type == 'active' && $statusId != 1) { 196 continue; 197 } 198 if($status_type == 'inactive' && $statusId != 0) { 199 continue; 200 } 201 186 202 // Get Member's Active Subscriptions - includes overdue subscriptions 187 203 $activeSubscriptions = $member->getActiveMembershipSubscriptions(true); … … 232 248 } 233 249 234 if (!empty($search) ) {250 if (!empty($search) && $count == $countID) { 235 251 $filteredData = $this->search_member_results($filteredData, $search); 236 252 } … … 238 254 239 255 <div class="member-count"> 240 <p>Members: <?= sizeof($filteredData) ?>/<?= $group_size ?></p> 256 <p> 257 <? echo ($status_type == 'inactive') ? 'Deactivated Members: ' : 'Members: '; 258 echo sizeof($filteredData); 259 if($status_type != 'inactive') { echo '/'. $group_size; } ?> 260 </p> 241 261 </div> 242 262 243 <?php if (!empty($search) ) : ?>263 <?php if (!empty($search) && $count == $countID) : ?> 244 264 <div class="search-result-notif"> 245 265 <h3>Search Results for <span class="query">"<?php echo $search ?>"</span></h3> … … 274 294 $url .= $member['membership_id'] . ", " . MM_Status::$CANCELED . ", '" . $redirecturl . "');"; 275 295 $cancellationHtml = "<a title=\"Cancel Member\" style=\"cursor: pointer;display: none;\" onclick=\"" . $url . "\"/>" . MM_Utils::getIcon('stop', 'red', '1.2em', '1px') . "</a>"; 276 277 296 ?> 278 297 <tr class="<?= strtolower($member->status) ?>"> … … 345 364 endif; 346 365 366 $count++; // update after each use 367 347 368 return ob_get_clean(); 348 369 } -
groups-for-membermouse/trunk/js/groups-leader-dashboard.js
r2683995 r2789504 9 9 const $groupSignupLinkTrigger = $('#signup-link'); 10 10 const $addMemberTrigger = $('#add-member'); 11 const $clearSearchTrigger = $("#clear-search");12 11 let $deleteMemberTrigger = $('.delete-member'); 13 12 14 13 let $filterHeaderTrigger = $('.filter-header-wrapper'); 15 let $searchTrigger = $('#members-search'); 16 let $searchInput = $('#members-search-input'); 14 let $searchTrigger = $('.search-btn'); 15 let $clearSearchTrigger = $(".clear-search-btn"); 16 // let $searchInput = $('#members-search-input'); 17 17 18 18 $groupSignupLinkTrigger.click(openSignUpLinkPop); … … 71 71 */ 72 72 function searchMembers() { 73 inputID = $(this).data('search-input'); 74 $searchInput = $('#members-search-input-'+ inputID); 75 73 76 let searchQuery = $searchInput.val(); 74 77 let params = (new URL(document.location)).searchParams; 75 78 params.set('q', searchQuery); 79 params.set('countid', inputID); 76 80 location.search = params.toString(); 77 81 } … … 82 86 function clearSearch() { 83 87 let params = (new URL(document.location)).searchParams; 84 if (params.has('q') ) {88 if (params.has('q') && params.has('countid')) { 85 89 params.delete('q'); 90 params.delete('countid'); 86 91 location.search = params.toString(); 87 92 } -
groups-for-membermouse/trunk/readme.txt
r2683995 r2789504 69 69 70 70 == Changelog == 71 2.1.4 72 - ENHANCEMENT: Added attribute support to Group Leader Dashboard shortcode. Can now display members in table based on status 73 - ENHANCEMENT: Updated Group Leader Dashboard shortcode to allow multiple uses on the same page 74 71 75 2.1.3 72 76 - ENHANCEMENT: Added Filtering and sorting functionality to Group Leader Dashboard
Note: See TracChangeset
for help on using the changeset viewer.