From e74a255bfce21e3a748b54244d25d73343e67bbf Mon Sep 17 00:00:00 2001 From: andrewmbacon Date: Wed, 5 Aug 2015 14:06:12 -0400 Subject: [PATCH] Fixing conflict --- uc-people.js | 41 +++++++++++++++++++++++++++++++++++++++++ uc-people.php | 42 +++++++++++++++++++++++++++++++++++++++--- 2 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 uc-people.js diff --git a/uc-people.js b/uc-people.js new file mode 100644 index 0000000..1ceb6e6 --- /dev/null +++ b/uc-people.js @@ -0,0 +1,41 @@ +jQuery(document).ready(function($){ + if( $('#uc_people_lookup').length ){ + $('#uc_people_lookup_search').click(function(ev){ + ev.preventDefault(); + + var query = $('#uc_people_lookup').val(); + if( (query.length == 8 && query.match(/[a-z]{3}[0-9]{5}/)) || query.match(/uconn.edu/) ){ + $.ajax({ + url: ajax_object.ajax_url, + data: { 'action': 'uc_people_lookup', 'query': query }, + success: function(response){ + if( !isEmpty(response) ){ + $('#uc_people_lookup_metabox p.howto').text("Person found"); + var fields = ['first_name', 'last_name', 'phone', 'email']; + fields.forEach(function(el,i,a){ + $('#acf-field-'+el).val(""); + if( response.hasOwnProperty(el) ){ + $('#acf-field-'+el).val( response[el] ); + } + }); + } else { + $('#uc_people_lookup_metabox p.howto').text("Person not found"); + } + }, + dataType: 'json' + }); + } else { + $('#uc_people_lookup_metabox p.howto').text("Invalid e-mail address or NetID entered"); + } + }); + } +}); + +function isEmpty( object ){ + for( var key in object ){ + if( Object.prototype.hasOwnProperty.call(object,key) ){ + return false; + } + } + return true; +} \ No newline at end of file diff --git a/uc-people.php b/uc-people.php index 04a108f..e0171ea 100644 --- a/uc-people.php +++ b/uc-people.php @@ -10,6 +10,9 @@ if ( ! defined( 'WPINC' ) ) { die; } +require 'acf-export.php'; +require_once(WP_CONTENT_DIR . '/ldap.php'); + function create_custom_custom_post_type(){ $labels = array( @@ -128,7 +131,7 @@ function importFile(){ $title = $v['First Name'].' '.$v['Last Name']; $args = array( 'post_title' => $title, - 'post_name' => 'testing-contact', + 'post_name' => strtolower($v['First Name']).'-'.strtolower($v['Last Name']), 'post_status' => 'publish', 'post_type' => 'person', 'menu_order' => ( !empty($v['Order']) ? $v['Order'] : 0 ), @@ -178,6 +181,39 @@ function uc_people_settings_page(){ '; + echo '

'; + echo '

'; + echo '

'; + echo ''; +} + + +function uc_acf_admin_enqueue_scripts(){ + wp_enqueue_script( 'ucpeoplejs', plugin_dir_url(__FILE__).'/uc-people.js', array('jquery'), '1.0' ); + wp_localize_script( 'ucpeoplejs', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); +} + +add_action('acf/input/admin_enqueue_scripts', 'uc_acf_admin_enqueue_scripts'); + +add_action( 'wp_ajax_uc_people_lookup', 'uc_people_lookup_callback' ); +function uc_people_lookup_callback(){ + $query = $_GET['query']; + + $userInfo = ldap_lookup($query); + $userInfo['phone'] = $userInfo['uup-phone1']; + unset($userInfo['uup-phone1']); + + echo wp_json_encode($userInfo); + + wp_die(); +} + ?> \ No newline at end of file