/** * @param $post_id */ function save_meta_values($post_id, $post) { $meta_fields = $this->get_meta_fields(); if (isset($_POST['post_ID']) && !empty($_REQUEST['rtbiz_is_staff_member']) && 'yes' == $_REQUEST['rtbiz_is_staff_member']) { $users = rtbiz_get_wp_user_for_contact($_POST['post_ID']); if (empty($users[0])) { $primary_email = rtbiz_get_entity_meta($_POST['post_ID'], self::$primary_email_key, true); $userid = email_exists($primary_email); if (rtbiz_is_primary_email_unique($primary_email, $_POST['post_ID']) && !is_wp_error($userid) && !p2p_connection_exists($this->post_type . '_to_user', array('to' => $userid))) { rtbiz_connect_contact_to_user($_POST['post_ID'], $userid); } else { update_user_meta(get_current_user_id(), Rtbiz_Entity::$meta_key_prefix . 'wp_user_not_connected_' . $_POST['post_ID'], true); } } } if (isset($_POST['contact_meta'][self::$primary_email_key]) && empty($_POST['contact_meta'][self::$primary_email_key])) { update_user_meta(get_current_user_id(), Rtbiz_Entity::$meta_key_prefix . 'empty_primary_email_' . $_POST['post_ID'], true); } else { delete_user_meta(get_current_user_id(), Rtbiz_Entity::$meta_key_prefix . 'empty_primary_email_' . $_POST['post_ID']); } foreach ($meta_fields as $field) { if (isset($_POST['contact_meta'][$field['key']]) && !empty($_POST['contact_meta'][$field['key']])) { if ($field['key'] == self::$primary_email_key) { if (!rtbiz_is_primary_email_unique($_POST['contact_meta'][$field['key']], $_POST['post_ID'])) { update_user_meta(get_current_user_id(), Rtbiz_Entity::$meta_key_prefix . 'unique_primary_email_' . $_POST['post_ID'], true); continue; } else { delete_user_meta(get_current_user_id(), Rtbiz_Entity::$meta_key_prefix . 'unique_primary_email_' . $_POST['post_ID']); } } $contact_meta[$field['key']] = $_POST['contact_meta'][$field['key']]; if (isset($field['is_multiple']) && $field['is_multiple']) { $oldmeta = self::get_meta($post_id, $field['key']); foreach ($oldmeta as $ometa) { self::delete_meta($post_id, $field['key'], $ometa); } foreach ($contact_meta[$field['key']] as $nmeta) { if ('' == $nmeta) { continue; } self::add_meta($post_id, $field['key'], $nmeta); } } else { self::update_meta($post_id, $field['key'], $_POST['contact_meta'][$field['key']]); } } else { $oldmeta = self::get_meta($post_id, $field['key']); foreach ($oldmeta as $ometa) { self::delete_meta($post_id, $field['key'], $ometa); } } } Rtbiz_Contact_Profile_Access::save($post_id, null); parent::save_meta_values($post_id, $post); }
/** * * Save Meta Fields * * @param $post_id */ protected function save_meta_values($post_id, $post) { foreach ($this->meta_fields as $field) { if (isset($_POST['company_meta'][$field['key']]) && !empty($_POST['company_meta'][$field['key']])) { if ($field['key'] == self::$primary_email) { if (!rtbiz_is_primary_email_unique_company($_POST['company_meta'][$field['key']])) { continue; } } $company_meta[$field['key']] = $_POST['company_meta'][$field['key']]; if (isset($field['is_multiple']) && $field['is_multiple']) { $oldmeta = self::get_meta($post_id, $field['key']); foreach ($oldmeta as $ometa) { self::delete_meta($post_id, $field['key'], $ometa); } foreach ($company_meta[$field['key']] as $nmeta) { if ('' == $nmeta) { continue; } self::add_meta($post_id, $field['key'], $nmeta); } } else { self::update_meta($post_id, $field['key'], $_POST['company_meta'][$field['key']]); } } else { $oldmeta = self::get_meta($post_id, $field['key']); foreach ($oldmeta as $ometa) { self::delete_meta($post_id, $field['key'], $ometa); } } } parent::save_meta_values($post_id, $post); }