/** Send the contents of a new message to users on the project */ function notify_new_meeting($meeting_id, $sender_id) { $CI =& get_instance(); $CI->load->model(array('Project', 'Meeting')); $meeting = $CI->Meeting->load($meeting_id); $project = $CI->Project->load($meeting->project_id); $subject = sprintf('(%s) New Meeting Scheduled', $project->name); $attendees = $CI->User->get_for_meeting($meeting_id); $recipient_names = ''; $i = 0; foreach ($attendees as $recipient) { if ($i > 0) { $recipient_names .= ","; } $recipient_names .= " " . $recipient->fullname; $i++; } $sender = $CI->User->load($sender_id); include APPPATH . '/views/emails/new_meeting.php'; $mg = new Mailgun($CI->config->item('mailgun_key')); $batchMsg = $mg->BatchMessage($CI->config->item('mailgun_domain')); $batchMsg->setFromAddress($CI->config->item('notifications_email_from') . ' <' . $CI->config->item('notifications_email') . '>'); $batchMsg->setSubject($subject); $batchMsg->setTextBody($msg_text); $batchMsg->setHtmlBody($msg); $batchMsg->setClickTracking(true); $batchMsg->setOpenTracking(true); foreach ($attendees as $recipient) { $datetime = localize_datetime($meeting->date, $meeting->time, $recipient); $batchMsg->addToRecipient($recipient->email, array("time" => $datetime->format('h:i A'), "date" => $datetime->format('F j, Y'))); } $batchMsg->finalize(); loggly(array('text' => 'Sending notification of new meeting', 'method' => 'notification_helper.notify_new_meeting', 'sender_id' => $sender_id, 'meeting_id' => $meeting_id)); }
/** * MEETINGS * @param $object * @return mixed */ function decorate_meeting($object) { $CI =& get_instance(); $CI->load->model(array('Meeting', 'Project')); if (isset($object->project_id)) { $object->project_uuid = $CI->Project->get_uuid($object->project_id); } if (isset($object->moderator_id)) { $object->moderator_uuid = $CI->User->get_uuid($object->moderator_id); } if (isset($object->creator_id)) { $object->creator_uuid = $CI->User->get_uuid($object->creator_id); } $users = $CI->User->get_for_meeting($object->id); $object->recipients = decorate_users($users); $datetime = localize_datetime($object->date, $object->time); $object->date = $datetime->format('Y-m-d'); $object->time = $datetime->format('H:i'); $object->phone = $CI->config->item('twilio_phone'); unset($object->deleted, $object->moderator_id, $object->creator_id, $object->project_id, $object->id); return $object; }