$content = $this->controller( 'memberinfo', 'fields', $memberId );
return $content;
},1,2);
+add_filter( 'glm-member-db-custom-filter-search', function ( $content ) {
+$parts = array();
+ $customFields = $this->wpdb->get_results(
+ "SELECT *
+ FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_fields",
+ ARRAY_A
+ );
+ if ( isset( $customFields ) && count( $customFields ) > 0 ) {
+ foreach ( $customFields as $key => $field ) {
+ switch ( $field['field_type'] ) {
+ case 'text':
+ case 'textarea':
+
+ break;
+ case 'checkbox':
+ // convert name to lower case and replace spaces with _
+ $field_name = preg_replace( '/[ -]/', '_', strtolower( $field['field_name'] ) );
+ $parts[$field['id']] = '<b>' . $field['field_name'] . ':</b> <input type="checkbox" name="' . $field_name . '" value="1"';
+ if ( isset( $_REQUEST[$field_name] ) && filter_var( $_REQUEST[$field_name], FILTER_VALIDATE_BOOLEAN ) ) {
+ $parts[$field['id']] .= ' checked';
+ }
+ $parts[$field['id']] .= '></b>';
+ break;
+ }
+ }
+ }
+ return implode( ' ', $parts );
+});
+add_filter('glm-member-db-admin-search-query', function() {
+ $queryParts = array();
+ // Get all custom fields
+ $customFields = $this->wpdb->get_results(
+ "SELECT *
+ FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_fields",
+ ARRAY_A
+ );
+ if ( isset( $customFields ) && count( $customFields ) > 0 ) {
+ foreach ( $customFields as $key => $field ) {
+ switch ( $field['field_type'] ) {
+ case 'text':
+ case 'textarea':
+
+ break;
+ case 'checkbox':
+ // convert name to lower case and replace spaces with _
+ $field_name = preg_replace( '/[ -]/', '_', strtolower( $field['field_name'] ) );
+ if ( isset( $_REQUEST[$field_name] ) && filter_var( $_REQUEST[$field_name], FILTER_VALIDATE_BOOLEAN ) ) {
+ $queryParts[] = " T.id IN (
+ SELECT member
+ FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info
+ WHERE id IN (
+ SELECT ref_dest
+ FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_field_data
+ WHERE field_data = 'Yes'
+ AND field_id = (SELECT id
+ FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_fields
+ WHERE field_name = '" . esc_sql( $field['field_name'] ) . "')
+ ) )";
+ }
+ break;
+ }
+ }
+ }
+ return $queryParts;
+});
add_action(
'glm-member-db-member-info-save-custom-fields',
function( $memberInfoId ){