示例#1
0
 /**
  * Execute the console command.
  *
  * @return void
  */
 public function fire()
 {
     $tasks = Task::where('date', '>=', Carbon::parse(date('d-m-Y')))->where('date', '<=', Carbon::parse(date('d-m-Y'))->addDay(7))->orderBy('date', 'asc')->get();
     \Mail::send('emails.remainder', ['tasks' => $tasks], function ($m) {
         $m->to(env('REMAINDER_EMAIL'), env('REMAINDER_NAME'))->subject('[SUN TASK] Your Task Reminder.');
     });
 }
示例#2
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $user = Auth::user();
     Mail::send('mails.weekly_update', ['user' => $user], function ($m) use($user) {
         $m->to($user->email)->subject('Weekly Update from Moneyburi');
     });
 }
示例#3
0
文件: SendTask.php 项目: Mowex/preg
 public function handle()
 {
     date_default_timezone_set("America/Mexico_City");
     $lastweek = Carbon::now()->startOfWeek()->subWeek();
     $startOfWeek = Carbon::now()->startOfWeek()->addDay();
     if ($startOfWeek->isTomorrow() == true) {
         $encuestas = Encuesta::History($lastweek, $startOfWeek)->get();
     } else {
         $encuestas = Encuesta::Reinicio($startOfWeek)->get();
     }
     $pdf = \PDF::loadView('reportes.Clientes', compact('encuestas'))->setOrientation('landscape')->save(public_path() . '/pdfs/' . 'reporte semanal' . '.pdf');
     $ToMail = '*****@*****.**';
     $ToName = 'Victor Zapata';
     $file = public_path() . '/pdfs/' . 'reporte semanal' . '.pdf';
     \Mail::send('emails.Reportes', [], function ($message) use($ToName, $ToMail, $file) {
         //remitente
         $message->from(env('MAIL_FROM'), env('MAIL_NAME'));
         //asunto
         $message->subject('Reporte Semanal Thaigreen');
         //receptor
         $message->to($ToMail, $ToName);
         $message->to('*****@*****.**', 'Mike');
         $message->to('*****@*****.**', $name = null);
         //Adjunto
         $message->attach($file, ['as' => 'Reporte Semanal.PDF']);
     });
     chmod(public_path() . '/pdfs/' . 'reporte semanal.pdf', 0777);
     unlink(public_path() . '/pdfs/' . 'reporte semanal.pdf');
 }
示例#4
0
 private function sendMail($email, $file = null)
 {
     $this->output->note($email);
     $person[10] = $file ?: 'convite-MLF.jpg';
     Mailer::send('mail', ['person' => $person], function ($m) use($person, $email) {
         $m->to($email)->subject(utf8_encode('Convite - Modernização do Legislativo Fluminense'));
     });
 }
示例#5
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $email = config('system.reset_password_recipients');
     if ($email) {
         $newPassword = str_random(15);
         $user = ModelFactory::getInstance('User')->find(1);
         if ($user) {
             $user->password = bcrypt($newPassword);
             if ($user->save()) {
                 $email = explode(',', $email);
                 $data['password'] = $newPassword;
                 $data['from'] = config('system.from');
                 \Mail::send('emails.reset_password', $data, function ($m) use($email) {
                     $m->from(config('system.from_email'), config('system.from'));
                     $m->to($email)->subject('Reset Password');
                 });
             }
         }
     }
 }
示例#6
0
 /**
  * Execute the console command.
  *
  * @param Schedule $schedule
  * @param Event $event
  * @param Record $record
  */
 public function handle(Schedule $schedule, Event $event, Record $record)
 {
     $uptimeRobot = new UptimeRobot(env('UPTIMEROBOT_API'));
     $getMonitors = simplexml_load_string($uptimeRobot->getMonitors());
     foreach ($getMonitors->monitor as $monitor) {
         // Check for the restart signal.
         $check = $event->where('event', 'restart');
         if ($monitor['status'] == 9) {
             // Record the restart
             $event->create(['machine_name' => 'ubuntu-512mb-sgp1-01', 'event' => 'restart']);
             // Check for the record of recent restart
             $recentRestart = $record->where('event', 'restart');
             // If there is a recent record but no signal found
             if ($recentRestart->count() > 0 && $check->count() < 6) {
                 \Mail::send('Email.Down', [], function ($message) {
                     $message->to('*****@*****.**', 'Hashim Ibrahim')->subject('About your server');
                 });
             } else {
                 // 4 hours have been passed.
                 $hoursPassed = $check->where('created_at', '<', 'DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 4 HOUR)');
                 if ($hoursPassed->count() > 0) {
                     if ($schedule->exec('envoy run monitorStatus')) {
                         \Log::info('Envoy ran @ ' . \Carbon\Carbon::now());
                         \Mail::send('Email.Server', ['time' => \Carbon\Carbon::now()], function ($message) {
                             $message->to('*****@*****.**', 'Hashim Ibrahim')->subject('About your server');
                         });
                         // Save this restart to db
                         $record->create(['event' => 'restart']);
                     } else {
                         \Log::info('Envoy is not working @ ' . \Carbon\Carbon::now());
                     }
                 }
                 $check->delete();
             }
         } else {
             $check->delete();
             \Log::info('Monitor status is good @ ' . \Carbon\Carbon::now());
         }
     }
 }
示例#7
0
 public function handle()
 {
     $num = $this->argument('num');
     $queuedEmails = QueuedEmail::query()->take($num)->get();
     foreach ($queuedEmails as $email) {
         $standardData = ['site_name' => config('app.site_name'), 'user' => $email->recipient];
         $data = array_merge($standardData, $email->data);
         \Mail::send($email->template, $data, function (\Illuminate\Mail\Message $msg) use($email) {
             $msg->from(config('app.site_email'), config('app.site_name'));
             if (!empty($email->recipient->email)) {
                 $msg->to($email->recipient->email, $email->recipient->name);
             } else {
                 // If the recipient doesn't have an email address recorded,
                 // forward this to the site administrator to figure out.
                 $msg->to(config('app.site_email'));
                 $transParams = ['name' => $email->recipient->name, 'site_email' => config('app.site_email')];
                 $newBody = trans('mail.no-recipient-address', $transParams) . '<hr />' . $msg->getSwiftMessage()->getBody();
                 $msg->getSwiftMessage()->setBody($newBody);
             }
             $msg->subject($email->subject);
         });
         $email->delete();
     }
 }
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     \Log::info("Elie Ishimwe");
     $nowDate = \Carbon\Carbon::now('Africa/Johannesburg')->toDateTimeString();
     //$endDate = \Carbon\Carbon::now('Africa/Johannesburg')->addMinutes(5);
     $cases = CaseReport::where('accepted_at', '=', '0000-00-00 00:00:00')->where('referred_at', '<>', '0000-00-00 00:00:00')->get();
     \Log::info("Cases:");
     \Log::info($cases);
     foreach ($cases as $case) {
         if ($case->sub_sub_category > 0) {
             $firstRespondersObj = CaseResponder::where("sub_sub_category", '=', $case->sub_sub_category)->select('firstResponder')->get();
             \Log::info("First Responders");
             \Log::info($firstRespondersObj);
             \Log::info(sizeof($firstRespondersObj));
             $secondRespondersObj = CaseResponder::where("sub_sub_category", '=', $case->sub_sub_category)->select('secondResponder')->get();
             \Log::info("Second Responders");
             \Log::info($secondRespondersObj);
             \Log::info(sizeof($secondRespondersObj));
             if (sizeof($firstRespondersObj) > 0) {
                 $firstResponders = explode(",", $firstRespondersObj->firstResponder);
                 foreach ($firstResponders as $firstResponder) {
                     $firstResponderUser = User::find($firstResponder);
                     $data = array('name' => $firstResponderUser->name, 'caseID' => $case->id, 'caseDesc' => $case->description, 'caseReporter' => $case->description);
                     \Mail::send('emails.firstNotification', $data, function ($message) use($firstResponderUser) {
                         $message->from('*****@*****.**', 'Siyaleader');
                         $message->to($firstResponderUser->username)->subject("Siyaleader Notification - New Case Notification:");
                     });
                 }
             }
             /* if (sizeof($secondRespondersObj) > 0) {
             
                                 $secondResponders  = explode(",",$secondRespondersObj->secondResponder);
             
                                 foreach ($secondResponders as $secondResponder) {
             
                                     $secondResponderUser = User::find($secondResponder);
                                     $caseOwner           = new CaseOwner();
                                     $caseOwner->user     = $secondResponder ;
                                     $caseOwner->caseId   = $case->id;
                                     $caseOwner->type     = 2;
                                     $caseOwner->active   = 1;
                                     $caseOwner->save();
             
                                      $data = array(
                                                     'name'   =>$secondResponderUser->name,
                                                     'caseID' =>$case->id,
                                                     'caseDesc' => $case->description,
                                                     'caseReporter' => $case->description,
                                                 );
             
                                     \Mail::send('emails.responder',$data, function($message) use ($secondResponderUser) {
                                         $message->from('*****@*****.**', 'Siyaleader');
                                         $message->to($secondResponderUser->username)->subject("Siyaleader Notification - New Case Reported:");
             
                                     });
             
             
                                 }
             
                            }*/
         }
     }
 }
示例#9
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     // Get contracts that are still active.
     $contracts = Contract::where('State', '!=', 'used')->where('State', '!=', 'cancelled')->where('State', '!=', 'paid')->get();
     foreach ($contracts as $contract) {
         // Check if we have visited this month.
         if ($contract->Visited) {
             // Check if we should reset this.
             if ($contract->QuotaInterval == 'mensuales') {
                 if ('01' == date('d')) {
                     $contract->Visited = false;
                     $contract->save();
                 }
             } else {
                 if ($contract->QuotaInterval == 'quincenales') {
                     if ('01' == date('d')) {
                         $contract->Visited = false;
                         $contract->save();
                     } else {
                         if ('16' == date('d')) {
                             $contract->Visited = false;
                             $contract->save();
                         }
                     }
                 } else {
                     if (date('D') == 'Mon') {
                         $contract->Visited = false;
                         $contract->save();
                     }
                 }
             }
         }
         // Check if we need to organize a visit for this contract.
         if (!$contract->Visited) {
             if ($contract->StartDate < date('Y-m-d')) {
                 $visitDates = explode(',', $contract->PaymentDates);
                 foreach ($visitDates as $date) {
                     if ($date == date('d', strtotime("+3 days"))) {
                         // Check if we already have a visit programmed for this contract.
                         $transports = Transport::where('Type', '=', '8')->where('ReasonId', '=', $contract->Id)->where('Date', '=', date('Y-m-d', strtotime("+3 days")))->get();
                         if (count($transports) == 0) {
                             // Get an appropriate vehicle for this.
                             $vehicles = Vehicle::where('BranchId', '=', $contract->BranchId)->where('Repair', '=', false)->get();
                             $vehicle = null;
                             foreach ($vehicles as $v) {
                                 if (!$vehicle) {
                                     $vehicle = $v;
                                 }
                                 // In this case the smaller the vehicle the more suitable it should be.
                                 // TODO: This could be improved.
                                 if ($v->Type < $vehicle->Type) {
                                     $vehicle = $v;
                                 }
                             }
                             if (!$vehicle) {
                                 // In this case we don't have a vehicle and the provider doesn't provide delivery so we must notify an administrator.
                                 $users = User::where('UserLevel', '=', 1)->get();
                                 foreach ($users as $admin) {
                                     Notification::create(array('UserId' => $admin->Id, 'Created' => date('Y-m-d H:i:s'), 'Reason' => 'Aergia no fue capaz de organizar el cobro para el contrato ' . $contract->Code . '. Por favor revisar y organizar el cobro de la cuota de este contrato.', 'Url' => '/contract/' . $contract->Id, 'Seen' => false));
                                 }
                             } else {
                                 // Get location of client.
                                 $client = Client::find($contract->ClientId);
                                 $location = Location::find($client->LocationId);
                                 $transport = Transport::create(array('Date' => date('Y-m-d', strtotime("+3 day")), 'Time' => '00:00:00', 'VehicleId' => $vehicle->Id, 'DriverId' => 0, 'StartLatitude' => 0, 'StartLongitude' => 0, 'Journey' => '[]', 'EndLatitude' => $location->Latitude, 'EndLongitude' => $location->Longitude, 'EndAddress' => $client->Address, 'Distance' => 0, 'ReasonId' => $contract->Id, 'Type' => 8, 'State' => 2, 'Order' => 0, 'Depreciation' => 0));
                                 // Inform creditor of when you shall collect payment.
                                 if ($client->Email != '') {
                                     Mail::send('emails.ai.contractReminder', ['contract' => $contract, 'transport' => $transport], function ($message) use($contract, $client) {
                                         $message->to($client->Email);
                                         $message->subject('Cobro de Cuota de Contrato: ' . $contract->Code);
                                     });
                                 }
                             }
                         }
                     }
                 }
             }
         }
         // TODO: Not sure if I want to do something in these cases.
         switch ($contract->State) {
             case 'usedpending':
                 break;
             case 'late':
                 break;
         }
     }
 }
示例#10
0
 private function drawTable($projects)
 {
     foreach ($projects as $key => $claims) {
         $project = Project::find($key);
         $styleTd = 'style="border:1px solid #000;"';
         $table = '<table cellpadding="2" cellspacing="0" style="margin: 0;  width:100%;">';
         $table .= "<tr><td {$styleTd}>id</td><td {$styleTd}>Дата</td><td {$styleTd}>Клиент</td><td {$styleTd}>Контактный телефон</td><td {$styleTd}>Описание</td><td {$styleTd}>Дата обратного звонка</td><td {$styleTd}>Статус</td>";
         $propertiesPR = Property::where('model_initiator', '=', 'project')->where('link_id', '=', $key)->orderBy('sort')->get();
         foreach ($propertiesPR as $property) {
             $table .= "<td {$styleTd}>" . $property->title . "</td>";
         }
         $table .= "</tr>";
         foreach ($claims as $claim) {
             $table .= "<tr>";
             $table .= "<td {$styleTd}>{$claim->id}</td>";
             $table .= "<td {$styleTd}>" . $claim->created_at->format('d.m.Y H:i') . "</td>";
             $table .= "<td {$styleTd}>{$claim->name}</td>";
             $table .= "<td {$styleTd}>{$claim->phone}</td>";
             $table .= "<td {$styleTd}>{$claim->text}</td>";
             $table .= "<td {$styleTd}>{$claim->backcall_at}</td>";
             $table .= "<td {$styleTd}>" . $claim->statusT->title . "</td>";
             $propertiesByTitle = [];
             $properties = \App\Property::showPropertyValue($claim);
             foreach ($properties as $prop) {
                 $propertiesByTitle[$prop["title"]] = $prop["value"];
             }
             foreach ($propertiesPR as $property) {
                 if (!empty($propertiesByTitle[$property->title])) {
                     $table .= "<td {$styleTd}>" . $propertiesByTitle[$property->title] . "</td>";
                 } else {
                     $table .= "<td {$styleTd}></td>";
                 }
             }
             $table .= "</tr>";
         }
         $table .= "</table>";
         $title = "Отчет за неделю: " . $project->title;
         \Mail::send('emails.reports', compact('table', 'title'), function ($message) use($project) {
             $emails = [];
             $emails[] = $project->client->email;
             if (!empty($project->client->send_email)) {
                 $emailsSplit = explode(",", $project->client->send_email);
                 foreach ($emailsSplit as $item) {
                     $emails[] = trim($item);
                 }
             }
             $message->to($emails, 'Callcenter №1')->subject('Круглосуточный call-центр №1');
         });
     }
 }
示例#11
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     // Expiring Assets
     $expiring_assets = Asset::getExpiringWarrantee(Setting::getSettings()->alert_interval);
     $this->info(count($expiring_assets) . ' expiring assets');
     $asset_data['count'] = count($expiring_assets);
     $asset_data['email_content'] = '';
     $now = date("Y-m-d");
     foreach ($expiring_assets as $asset) {
         $expires = $asset->warrantee_expires();
         $difference = round(abs(strtotime($expires) - strtotime($now)) / 86400);
         if ($difference > 30) {
             $asset_data['email_content'] .= '<tr style="background-color: #fcffa3;">';
         } else {
             $asset_data['email_content'] .= '<tr style="background-color:#d9534f;">';
         }
         $asset_data['email_content'] .= '<td><a href="' . config('app.url') . '/hardware/' . e($asset->id) . '/view">';
         $asset_data['email_content'] .= $asset->showAssetName() . '</a></td><td>' . e($asset->asset_tag) . '</td>';
         $asset_data['email_content'] .= '<td>' . e($asset->warrantee_expires()) . '</td>';
         $asset_data['email_content'] .= '<td>' . $difference . ' days</td>';
         $asset_data['email_content'] .= '<td>' . ($asset->supplier ? e($asset->supplier->name) : '') . '</td>';
         $asset_data['email_content'] .= '<td>' . ($asset->assigneduser ? e($asset->assigneduser->fullName()) : '') . '</td>';
         $asset_data['email_content'] .= '</tr>';
     }
     // Expiring licenses
     $expiring_licenses = License::getExpiringLicenses(Setting::getSettings()->alert_interval);
     $this->info(count($expiring_licenses) . ' expiring licenses');
     $license_data['count'] = count($expiring_licenses);
     $license_data['email_content'] = '';
     foreach ($expiring_licenses as $license) {
         $expires = $license->expiration_date;
         $difference = round(abs(strtotime($expires) - strtotime($now)) / 86400);
         if ($difference > 30) {
             $license_data['email_content'] .= '<tr style="background-color: #fcffa3;">';
         } else {
             $license_data['email_content'] .= '<tr style="background-color:#d9534f;">';
         }
         $license_data['email_content'] .= '<td><a href="' . config('app.url') . '/admin/licenses/' . $license->id . '/view">';
         $license_data['email_content'] .= $license->name . '</a></td>';
         $license_data['email_content'] .= '<td>' . $license->expiration_date . '</td>';
         $license_data['email_content'] .= '<td>' . $difference . ' days</td>';
         $license_data['email_content'] .= '</tr>';
     }
     if (Setting::getSettings()->alert_email != '' && Setting::getSettings()->alerts_enabled == 1) {
         if (count($expiring_assets) > 0) {
             \Mail::send('emails.expiring-assets-report', $asset_data, function ($m) {
                 $m->to(explode(',', Setting::getSettings()->alert_email), Setting::getSettings()->site_name);
                 $m->subject('Expiring Assets Report');
             });
         }
         if (count($expiring_licenses) > 0) {
             \Mail::send('emails.expiring-licenses-report', $license_data, function ($m) {
                 $m->to(explode(',', Setting::getSettings()->alert_email), Setting::getSettings()->site_name);
                 $m->subject('Expiring Licenses Report');
             });
         }
     } else {
         if (Setting::getSettings()->alert_email == '') {
             echo "Could not send email. No alert email configured in settings. \n";
         } elseif (Setting::getSettings()->alerts_enabled != 1) {
             echo "Alerts are disabled in the settings. No mail will be sent. \n";
         }
     }
 }