/** * Updates the email address of a customer record when the email on a user is updated * * @access public * @since 1.0 */ public function update_customer_email_on_user_update($user_id = 0, $old_user_data) { $customer = new KBS_Customer($user_id, true); if (!$customer) { return false; } $user = get_userdata($user_id); if (!empty($user) && $user->user_email !== $customer->email) { if (!$this->get_customer_by('email', $user->user_email)) { $success = $this->update($customer->id, array('email' => $user->user_email)); if ($success) { // Update some payment meta if we need to $tickets_array = explode(',', $customer->ticket_ids); if (!empty($tickets_array)) { foreach ($tickets_array as $ticket_id) { kbs_update_ticket_meta($ticket_id, 'email', $user->user_email); } } do_action('kbs_update_customer_email_on_user_update', $user, $customer); } } } }
/** * Assigns an agent to the ticket. * * @since 1.0 * @param int $ticket_id The ticket ID to update. * @param int $user_id The agent user ID. If not set, use current user. * @return mixed. */ function kbs_assign_agent($ticket_id, $user_id = 0) { if (empty($user_id)) { $user_id = get_current_user_id(); } /** * Fires immediately before assigning an agent * * @since 1.0 * @param int $ticket_id The ticket ID * @param int $user_id The user ID */ do_action('kbs_pre_assign_agent', $ticket_id, $user_id); $return = kbs_update_ticket_meta($ticket_id, array('agent' => $user_id)); /** * Fires immediately after assigning an agent * * @since 1.0 * @param int $ticket_id The ticket ID * @param int $user_id The user ID */ do_action('kbs_post_assign_agent', $ticket_id, $user_id); return $return; }