public function custom() { $user = Sentry::getUser(); $input = Input::all(); try { if ($user->id != 1) { throw new Exception("You do not have valid permissions to perform this action"); } $teachers = Email::where('mass', '=', false)->take(25)->get(); $email = new UtilityMailman(); $email->setSubject($input['subject']); $email->setBody(nl2br($input['body'])); //Decide if the response data should be parsed by Citrus $email->setReportStatus(0); // Where the attempted emails are stored $array = array(); // Number of emails attempted $counter = 0; foreach ($teachers as $teacher) { $email->setReceiver($teacher->to); if (!is_null($teacher->name)) { $email->name = $teacher->name; } else { $email->name = $teacher->company; } $array[] = array('to' => $teacher->to, 'school' => $teacher->company, 'status' => $email->send(null, $teacher), 'name' => $teacher->name); if ($array[0]['status'] == 1) { $teacher->mass = 1; $teacher->save(); } $counter = $counter + 1; } $data = Citrus::combine('total', $counter . ' messages were attempted', 'report', $array); } catch (Exception $e) { $data = Citrus::response('error', $e); } return $data; }