/** * Get a single email * * @since 4.1 * @param int $id * @param array $fields * @return array */ public function get_email($id, $fields = array()) { // validate the email ID $id = $this->validate_request($id, 'follow_up_email', 'read'); // Return the validate error. if (is_wp_error($id)) { return $id; } $email = new FUE_Email($id); $email_data = array('id' => $email->id, 'created_at' => $email->post->post_date, 'type' => $email->get_type(), 'template' => $email->template, 'name' => $email->name, 'subject' => $email->subject, 'message' => $email->message, 'status' => $this->fix_status_string($email->status, true), 'trigger' => $email->trigger, 'trigger_string' => $email->get_trigger_string(), 'interval' => $email->interval, 'duration' => $email->duration, 'always_send' => $email->always_send, 'product_id' => $email->product_id, 'category_id' => $email->category_id, 'campaigns' => wp_get_object_terms($email->id, 'follow_up_email_campaign', array('fields' => 'slugs'))); return array('email' => apply_filters('fue_api_email_response', $email_data, $email, $fields, $this->server)); }
/** * Get the name and trigger of the follow-up email * @param array $item * @return string */ public function get_email_value($item) { $email = new FUE_Email($item['email_id']); if (!$email->exists()) { return '<em>deleted</em>'; } if ($email->status != FUE_Email::STATUS_ACTIVE) { return sprintf(__('<a href="%s">#%d %s</a> - Inactive<br/><small>(%s)</small>', 'follow_up_emails'), admin_url('post.php?post=' . $item['email_id'] . '&action=edit'), $item['email_id'], $email->name, $email->get_trigger_string()); } else { return sprintf(__('<a href="%s">#%d %s</a><br/><small>(%s)</small>', 'follow_up_emails'), admin_url('post.php?post=' . $item['email_id'] . '&action=edit'), $item['email_id'], $email->name, $email->get_trigger_string()); } return sprintf(__('<a href="%s">#%d %s</a><br/><small>(%s)</small>', 'follow_up_emails'), 'admin.php?page=followup-emails-form&id=' . $item['email_id'], $item['email_id'], $email->name, $email->get_trigger_string()); }