New filter for front and style for admin fields
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 10 Aug 2018 15:38:01 +0000 (11:38 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Fri, 10 Aug 2018 15:38:01 +0000 (11:38 -0400)
Admin fields - add padding and margin to align the checkboxes.
Front end - filter for the CGCS

setup/frontHooks.php
views/admin/entity/fields.html

index 8304a48..0ccc0ca 100644 (file)
@@ -227,12 +227,43 @@ add_filter('glm_custom_fields', function($attribute, $id = 0) {
     if ($result['field_type'] == 'textarea') {
         $result['field_data'] = wpautop($result['field_data']);
     }
-//    echo "<pre>AA" . print_r($result) . "ZZ";
     return $result['field_data'];
     },
     10,
     2
 );
+
+add_filter('glm_get_contact_custom_data_by_ref_dest', function( $custom_field_id, $ref_dest = 0 ) {
+
+    global $wpdb;
+    $query = "SELECT D.field_data, F.field_type FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_field_data D, ".GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX."custom_fields F "
+        . "WHERE D.entity_id = $id "
+        . "AND D.field_id IN (SELECT id FROM ".GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX."custom_fields WHERE field_name LIKE '$attribute' ) "
+        . "AND F.field_name LIKE '$attribute'";
+
+    $result = $wpdb->get_row(
+        $wpdb->prepare(
+            "SELECT field_data
+               FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_field_data
+              WHERE entity_id = (
+                    SELECT id
+                      FROM " . GLM_MEMBERS_CONTACTS_PLUGIN_DB_PREFIX . "contacts
+                     WHERE ref_dest = %d )
+                AND field_id = %d",
+            $ref_dest,
+            $custom_field_id
+        ),
+        ARRAY_A
+    );
+    if ($result['field_type'] == 'textarea') {
+        $result['field_data'] = wpautop($result['field_data']);
+    }
+    return $result['field_data'];
+    },
+    10,
+    2
+);
+
 add_filter('glm_custom_fields_member_types', function() {
 
     $query = "SELECT name FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_type";
index cdcd3b0..f4d76ab 100644 (file)
 
             {if $field.field_type.value == 'checkbox'}
                 <div class="glm-custom-field-checkbox-wrapper">
-                
+
                     <div class="glm-custom-field-checkbox-field">
-                 
+
             {else}
                 <div class="glm-small-12 glm-large-2 glm-columns glm-custom-field-label {if $field.required.value == 1} glm-required {/if}">{$field.field_name}</div>
                     <div class="glm-small-12 glm-large-9 glm-columns glm-custom-field">
             {/if}
-                
+
                         <input type="hidden" name="custom-required" value="{$field.required.value}">
 
                         {$fail = ''}
                     {php}
                             wp_editor('{if isset($customFieldsData[$field.id])}{$customFieldsData[$field.id]|escape:quotes}{/if}', 'custom-field-{$field.id}', array(
                                 'media_buttons' => false,
-                                // 'quicktags' => false,
-                                // 'wpautop' => false,  NOTE: Dont's use. Problem when numerous spaces before text.
                                 'textarea_name' => '{$prefix}[{$field.id}]',
                                 'editor_height' => 200,     // Height in px, overrides editor_rows
-                                // 'textarea_rows' => 8,
                                 {if $field.required.value == 1}'editor_class' => 'glm-required' {/if}
                             ));
                         {/php}
                     {elseif $field.field_type.value == 'checkbox'}
-                            <label class="glm-label{if $field.required.value == 1} glm-required {/if}">
+                            <label class="glm-label{if $field.required.value == 1} glm-required {/if}" style="margin-left: 5px; padding-bottom: 10px;">
                             <input type="hidden" name="{$prefix}[{$field.id}]" value="No" {if !isset($customFieldsData[$field.id]) || $customFieldsData[$field.id] == 'No'}checked{/if}>
                             <input type="checkbox" name="{$prefix}[{$field.id}]" value="Yes" {if isset($customFieldsData[$field.id]) && $customFieldsData[$field.id] == 'Yes'}checked{/if} {if $field.required.value == 1} required{/if}>
                             {$field.field_name}