/** * Execute the console command. * * @return mixed */ public function handle() { // This would be a great place to remove code and // put into a package, so that the command simply // calls the package function. // Get unsent reminders $remindersToSend = Reminder::where('fires_at', '<=', new \DateTime('now'))->where('fired_at', '=', NULL)->get(); // Send each reminder foreach ($remindersToSend as $reminder) { echo 'Sending text: ' . $reminder->message . "\n"; // Send text message reminder $account_sid = env('TWILIO_ACCOUNT_SID', ''); // Your Twilio account sid $auth_token = env('TWILIO_AUTH_TOKEN', ''); // Your Twilio auth token $client = new \Services_Twilio($account_sid, $auth_token); $message = $client->account->messages->sendMessage(env('TWILIO_PHONE_NUMBER', ''), env('TEST_RECEIVE_PHONE_NUMBER', ''), $reminder->message); /* echo 'Sent from ' . env('TWILIO_PHONE_NUMBER', '') . '<br/>'; print $message->sid; */ // Record that we have sent this reminder $reminder->fired_at = new \DateTime('now'); $reminder->save(); } }
/** * Execute the console command. * * @return mixed */ public function handle() { require_once './vendor/twilio/sdk/Services/Twilio.php'; // Get Current TimeStamp $date = new DateTime(); $date = $date->format('Y-m-d H:i:00'); // Get Reminders With TimeStamp $reminders = Reminder::where('reminder', '=', $date)->get(); // Loop Through Reminders foreach ($reminders as $reminder) { // Get User for Reminder $user = User::where('id', '=', $reminder->user_id)->first(); if ($user->textsent < $user->textlimit) { $user->textsent++; // Send Text to User with Reminder Text $account_sid = Config::get('twilio.sid'); $auth_token = Config::get('twilio.token'); $client = new \Services_Twilio($account_sid, $auth_token); $client->account->messages->create(array('To' => $user->telephone, 'From' => Config::get('twilio.from'), 'Body' => $reminder->text)); $reminder->sent = true; $user->save(); } } $reminders->save(); return "Sent Texts"; }
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function show($id) { $user = Auth::user()->id; $lists = Reminder::where('user_id', '=', $user)->where('category_id', '=', $id)->where('sent', '=', false)->get(); foreach ($lists as $list) { $list->reminder = DateTime::createFromFormat('Y-m-d H:i:s', $list->reminder)->format('d/m/Y H:i'); } return Response::json($lists, 200); }
public function index(Request $request) { Reminder::where('active', '=', true)->where('expiry', '<', DB::raw('NOW()'))->update(['active' => false]); $sequence = array(); $month_offset = 3; $alarms = Alarm::where('closed', '=', false)->where('date1', '<', DB::raw('NOW() + INTERVAL ' . $month_offset . ' MONTH'))->orderBy('date1', 'asc')->get(); $reminders = Reminder::where('active', '=', true)->where('expiry', '<', DB::raw('NOW() + INTERVAL ' . $month_offset . ' MONTH'))->orderBy('expiry', 'asc')->get(); $alarms = $alarms->merge($reminders)->sort(function ($first, $second) { return $first->time() - $second->time(); }); $m = $start = date('n'); if (count($alarms) != 0) { $first = $alarms->first(); $m = min($first->month(), $m); } while ($m < $start + $month_offset) { $name = strftime('%B', mktime(0, 0, 0, $m, 1)); $sequence[$name] = array(); $m++; } $managed = array(); foreach ($alarms as $a) { $this->alarmSetStatus($a); $name = strftime('%B', mktime(0, 0, 0, $a->month(), 1)); $sequence[$name][] = $a; $managed[] = $a->id; } if ($request->has('target')) { $target = $request->input('target'); $data['focus'] = $target; if (array_search($target, $managed) === false) { $a = Alarm::find($target); $this->alarmSetStatus($a); $name = strftime('... %B %Y', mktime(0, 0, 0, $a->month(), 1, $a->year())); $sequence[$name] = [$a]; } } else { $data['focus'] = -1; } $data['alarms'] = $sequence; $data['iterable_mails'] = $this->getIterableMails(); return view('alarms.index', $data); }
/** * Execute the console command. * * @return mixed */ public function handle() { // Get Current TimeStamp $date = new DateTime(); $diff = new DateInterval('PT1H'); $date = $date->sub($diff); $date = $date->format('Y-m-d H:i:00'); // Get Reminders With TimeStamp $reminders = Reminder::where('reminder', '=', $date)->get(); // Loop Through Reminders foreach ($reminders as $reminder) { // Get User for Reminder $user = User::where('id', '=', $reminder->user_id)->first(); $user->textsent--; $user->save(); } $reminders->delete(); return "Sent Texts"; }
/** * Execute the console command. * * @return mixed */ public function handle() { $reminders = Reminder::where('utcReminderDate', '<=', \Carbon\Carbon::now()->format('Y-m-d H:i'))->get(); foreach ($reminders as $reminder) { $data = array('title' => $reminder->title, 'date' => $reminder->userReminderDate, 'description' => $reminder->description, 'name' => $reminder->user->firstname); Mail::send('emails.reminder', $data, function ($message) use($reminder) { $message->to($reminder->user->email, $reminder->user->firstname . ' ' . $reminder->user->lastname); $message->subject('A Friendly Remindr'); }); $moveReminder = new SentReminders(); $moveReminder->id = $reminder->id; $moveReminder->memberid = $reminder->memberid; $moveReminder->title = $reminder->title; $moveReminder->userReminderDate = $reminder->userReminderDate; $moveReminder->utcReminderDate = $reminder->utcReminderDate; $moveReminder->description = $reminder->description; $moveReminder->save(); Reminder::destroy($reminder->id); } }
public function getIcs() { $alarms = Alarm::where('closed', '=', false)->orderBy('date1', 'asc')->get(); $reminders = Reminder::where('active', '=', true)->orderBy('expiry', 'asc')->get(); return view('export.ics', ['alarms' => $alarms, 'reminders' => $reminders]); }
<?php use App\Reminder; use App\Worker; use App\User; // Get the worker. $worker = Worker::find(Auth::user()->TypeId); // Now get the Reminders of the worker. $reminders = Reminder::where('WorkerId', '=', $worker->Id)->get(); ?> <ul class="news-items"> @foreach($reminders as $reminder) <li id='reminder-{{ $reminder->Id }}'> <div class="news-item-date"><span class="news-item-day">{{ date('d', strtotime($reminder->Date))}}</span> <span class="news-item-month">{{ date('M', strtotime($reminder->Date))}}</span></div> <div class="news-item-detail" style="width:100%;padding-left:15px;"><p class="news-item-preview">{{ $reminder->Note }}</p> </div> </li> @endforeach </ul>
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $reminders = Reminder::where('memberid', '=', Auth::user()->id)->orderBy('utcReminderDate', 'desc')->paginate(15); return view('reminder.index', compact('reminders')); }