public static function estimate_notification(SI_Estimate $estimate, $recipients = array(), $from_email = null, $from_name = null) { $invoice = ''; if ($invoice_id = $estimate->get_invoice_id()) { $invoice = SI_Invoice::get_instance($invoice_id); } foreach (array_unique($recipients) as $user_id) { /** * sometimes the recipients list will pass an email instead of an id * attempt to find a user first. */ if (is_email($user_id)) { if ($user = get_user_by('email', $user_id)) { $user_id = $user->ID; $to = self::get_user_email($user_id); } else { // no user found $to = $user_id; } } else { $to = self::get_user_email($user_id); } $data = array('user_id' => is_numeric($user_id) ? $user_id : '', 'estimate' => $estimate, 'invoice' => $invoice, 'to' => $to); self::send_notification('send_estimate', $data, $to, $from_email, $from_name); } }
public static function estimate_data(SI_Estimate $estimate) { $estimate_data = array('title' => $estimate->get_title(), 'id' => $estimate->get_id(), 'estimate_id' => $estimate->get_estimate_id(), 'invoice_id' => $estimate->get_invoice_id(), 'client_id' => $estimate->get_client_id(), 'client_data' => array(), 'status' => $estimate->get_status(), 'issue_date' => $estimate->get_issue_date(), 'expiration_date' => $estimate->get_expiration_date(), 'po_number' => $estimate->get_po_number(), 'discount' => $estimate->get_discount(), 'tax' => $estimate->get_tax(), 'tax2' => $estimate->get_tax2(), 'currency' => $estimate->get_currency(), 'total' => $estimate->get_total(), 'subtotal' => $estimate->get_subtotal(), 'calculated_total' => $estimate->get_calculated_total(), 'project_id' => $estimate->get_project_id(), 'terms' => $estimate->get_terms(), 'notes' => $estimate->get_notes(), 'line_items' => $estimate->get_line_items(), 'user_id' => $estimate->get_user_id()); if ($estimate->get_client_id()) { $client = SI_Client::get_instance($estimate->get_client_id()); if (is_a($client, 'SI_Client')) { $estimate_data['client_data'] = self::client_data($client); } } return $estimate_data; }