$start = 1;
$limit = 20; // Set to the number of listings per page
$namesList = false;
+ $customFieldResults = false;
$where = '';
// If that was successful
if ($contactInfo['status'] && !$newContactEmailExists && !$newContactUsernameExists && !$misMatchedWpUsers) {
+ $contactInfoID = $contactInfo['fieldData']['id'];
+ $customFieldResults = apply_filters( 'glm-member-db-save-custom-fields', $contactInfoID );
// If there's an existing WordPress user matching the E-Mail address but that has a different username
if ($contactCheck['wordpressEmail']
if ($contactInfo['status']) {
$contactInfo = $this->editEntry(($_REQUEST['id']-0));
- $contactUpdated = true;
+ $customFieldResults = apply_filters( 'glm-member-db-save-custom-fields', $_REQUEST['id']-0 );
+ if(is_array($customFieldResults)){
+ $contactUpdated = false;
+ $contactUpdateError = true;
+ } else {
+ $contactUpdated = true;
+ $contactUpdateError = false;
+ }
// Get the wordpress user ID
$wpUser = get_user_by('email', $contactInfo['fieldData']['email']);
// Compile template data
$templateData = array(
- 'option' => $option,
- 'loggedInMember' => $loggedInMember,
- 'fromMemberMenu' => $fromMemberMenu,
- 'haveMember' => $haveMember,
- 'memberID' => $this->memberID,
- 'memberData' => $memberData,
- 'memberName' => $memberName,
- 'membersList' => $membersList,
- 'refType' => $refType,
- 'refTypeName' => $refTypeName,
- 'haveContacts' => $haveContacts,
- 'contactsList' => $contactsList['list'],
- 'numbContacts' => $numbContacts,
- 'contactID' => $contactID,
- 'contactInfo' => $contactInfo,
- 'newContactEmailExists' => $newContactEmailExists,
- 'newContactUsernameExists' => $newContactUsernameExists,
- 'misMatchedWpUsers' => $misMatchedWpUsers,
- 'usernameChangedToWP' => $usernameChangedToWP,
- 'newContactCreated' => $newContactCreated,
- 'usingExistingWPContact' => $usingExistingWPContact,
- 'contactUpdated' => $contactUpdated,
- 'filterArchived' => $filterArchived,
- 'filterText' => $filterText,
- 'haveFilter' => $haveFilter,
- 'userDeleted' => $userDeleted,
- 'wpUserDeleted' => $wpUserDeleted,
- 'contactMembers' => $contactMembers,
-
- 'numbDisplayed' => $numbDisplayed,
- 'lastDisplayed' => $lastDisplayed,
- 'paging' => $paging,
- 'prevStart' => $prevStart,
- 'nextStart' => $nextStart,
- 'start' => $start = 1,
- 'limit' => $limit,
- 'namesList' => $namesList,
- 'EntityManagerRole' => $this->config['contact_role_numb']['EntityManager']
+ 'option' => $option,
+ 'loggedInMember' => $loggedInMember,
+ 'fromMemberMenu' => $fromMemberMenu,
+ 'haveMember' => $haveMember,
+ 'memberID' => $this->memberID,
+ 'memberData' => $memberData,
+ 'memberName' => $memberName,
+ 'membersList' => $membersList,
+ 'refType' => $refType,
+ 'refTypeName' => $refTypeName,
+ 'haveContacts' => $haveContacts,
+ 'contactsList' => $contactsList['list'],
+ 'numbContacts' => $numbContacts,
+ 'contactID' => $contactID,
+ 'contactInfo' => $contactInfo,
+ 'newContactEmailExists' => $newContactEmailExists,
+ 'newContactUsernameExists' => $newContactUsernameExists,
+ 'misMatchedWpUsers' => $misMatchedWpUsers,
+ 'usernameChangedToWP' => $usernameChangedToWP,
+ 'newContactCreated' => $newContactCreated,
+ 'usingExistingWPContact' => $usingExistingWPContact,
+ 'contactUpdated' => $contactUpdated,
+ 'filterArchived' => $filterArchived,
+ 'filterText' => $filterText,
+ 'haveFilter' => $haveFilter,
+ 'userDeleted' => $userDeleted,
+ 'wpUserDeleted' => $wpUserDeleted,
+ 'contactMembers' => $contactMembers,
+ 'numbDisplayed' => $numbDisplayed,
+ 'lastDisplayed' => $lastDisplayed,
+ 'paging' => $paging,
+ 'prevStart' => $prevStart,
+ 'nextStart' => $nextStart,
+ 'start' => $start = 1,
+ 'limit' => $limit,
+ 'namesList' => $namesList,
+ 'EntityManagerRole' => $this->config['contact_role_numb']['EntityManager'],
+ 'slug' => GLM_MEMBERS_CONTACTS_PLUGIN_SLUG,
+ 'customFieldResults' => $customFieldResults
);
if (apply_filters('glm_members_menu_members', $update)) {
// And if there's contact member data
- if ($_REQUEST['contactMembers'] && count($_REQUEST['contactMembers'])) {
+ if (isset($_REQUEST['contactMembers']) && count($_REQUEST['contactMembers'])) {
// Update the contact members selection
$contactMembersList = implode(',', $_REQUEST['contactMembers']);
{/if}
{if $option == 'create'}
- <h2 class="glm-left">Add New Contact</h2>
+ <h2>Add New Contact</h2>
{else}
{if $contactUpdated}<h2 class="glm-notice glm-flash-updated">Contact Updated</h2>{/if}
<a id="deleteContactButton" class="button button-primary glm-button glm-right">Delete this Contact</a>
<input type="hidden" name="id" value="{$contactInfo.fieldData.id}">
<input type="hidden" name="modify_time" value="now">
{/if}
-
- <table class="glm-admin-table glm-shrink">
+ <h2 class="nav-tab-wrapper" style="margin-bottom: 1em;">
+ <a id="glm-contact-info-profile" data-show-table="glm-table-profile" class="glm-contact-info-tab nav-tab nav-tab-active">Profile Data</a>
+ {apply_filters('glm-member-db-custom-fields-nav', '', 'contact-info')}
+
+ <!--{if $contactUpdateError}<span class="glm-error glm-flash-updated glm-right">{$terms.term_contact_cap} Profile Update Error</span>{/if}-->
+ <!--{if $errorMessage}<span class="glm-error glm-flash-updated glm-right">{$errorMessage}</span>{/if}-->
+ </h2>
+
+ <div id="glm-table-custom-fields" class="glm-hidden glm-admin-table glm-table glm-contact-info-table">
+
+
+ {if $option == 'create'}
+ {apply_filters('glm-members-custom-fields-form', '', $slug,'','')}
+ {else}
+ {$prefix = $slug|cat:'_'}
+ {$uid = $prefix|cat:$contactInfo.fieldData.id}
+ {apply_filters('glm-members-custom-fields-form', '', $slug,$contactInfo.fieldData.id,'')}
+ {apply_filters('glm-members-custom-fields-form', '', $uid,$contactInfo.fieldData.id,'')}
+ {/if}
+ </div>
+ <table id="glm-table-profile" class="glm-admin-table glm-admin-table-outer glm-hidden glm-contact-info-table">
+<!-- <table class="glm-admin-table glm-shrink">-->
<tr>
{if $haveMember}
<th>Contact For:</th>
<script type="text/javascript">
jQuery(document).ready(function($) {
+ /*
+ * Edit area tabs
+ */
+ $('.glm-contact-info-tab').click( function() {
+ glmSetupAreaTab($(this));
+ });
+
+ // Do inital setup on load for first tab
+ glmSetupAreaTab($('#glm-contact-info-profile'));
+
+ // Setup edit area selected
+ function glmSetupAreaTab(t) {
+
+ // Clear table highlights and hide all tables
+ $('.glm-contact-info-tab').removeClass('nav-tab-active');
+ $('.glm-contact-info-table').addClass('glm-hidden');
+
+ // Highlight selected tab
+ t.addClass('nav-tab-active');
+
+ // Show selected table
+ var table = t.attr('data-show-table');
+ $('#' + table).removeClass('glm-hidden');
+
+ // Count remaining characters in field
+ $('.glm-char-count').keyup( function() {
+ glmCharsRemaining($(this));
+ });
+
+ $('.glm-char-count').each( function() {
+ glmCharsRemaining($(this));
+ });
+
+ }
+
// Filter triggers
$(".listFilter" ).change( function() {