/** 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));
}
Beispiel #2
0
/**
 * 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;
}