Refactor Cron class to improve query fetching and enhance email configuration with settings

This commit is contained in:
2024-11-16 09:13:08 +01:00
parent 13e9c2f054
commit d2daa98f7e
2 changed files with 9 additions and 8 deletions

View File

@@ -129,18 +129,19 @@ class Cron
. 'FROM ' . 'FROM '
. 'tasks AS t ' . 'tasks AS t '
. 'WHERE ' . 'WHERE '
. 'reminders_interval IS NOT NULL AND reminders_send = 0 AND status != 2 AND deleted = 0 AND date_end IS NOT NULL' ) -> fetchAll(); . 'reminders_interval IS NOT NULL AND reminders_send = 0 AND status != 2 AND deleted = 0 AND date_end IS NOT NULL' ) -> fetchAll( \PDO::FETCH_ASSOC );
if ( is_array( $results ) and!empty( $results ) ) foreach ( $results as $row ) if ( is_array( $results ) and!empty( $results ) ) foreach ( $results as $row )
{ {
$days_counter = explode( ',', $row['reminders_interval'] ); $days_counter = explode( ',', $row['reminders_interval'] );
rsort( $days_counter ); rsort( $days_counter );
if ( is_array( $days_counter ) and!empty( $days_counter ) ) foreach ( $days_counter as $dc ) if ( is_array( $days_counter ) ) foreach ( $days_counter as $dc )
{ {
if ( !$mdb -> count( 'tasks_reminders', [ 'AND' => [ 'task_id' => $row['id'], 'day_counter' => $dc ] ] ) ) if ( !$mdb -> count( 'tasks_reminders', [ 'AND' => [ 'task_id' => $row['id'], 'day_counter' => $dc ] ] ) )
{ {
$send = false; $send = false;
$date_tmp = date( 'Y-m-d', strtotime( '+' . $dc . 'days', strtotime( date( 'Y-m-d' ) ) ) ); $date_tmp = date( 'Y-m-d', strtotime( '+' . $dc . 'days', strtotime( date( 'Y-m-d' ) ) ) );
if ( $date_tmp >= $row['date_end'] ) if ( $date_tmp >= $row['date_end'] )
{ {
if ( !$mdb -> count( 'tasks_reminders', ['AND' => ['task_id' => $row['id'], 'day_counter' => $dc]] ) ) if ( !$mdb -> count( 'tasks_reminders', ['AND' => ['task_id' => $row['id'], 'day_counter' => $dc]] ) )
@@ -151,7 +152,7 @@ class Cron
{ {
foreach ( $users as $user ) foreach ( $users as $user )
{ {
$user_email = $mdb -> get( 'users', 'email', ['id' => $user] ); $user_email = $mdb -> get( 'users', 'email', ['id' => $user] ); echo $user_mail;
date( 'Y-m-d', strtotime( $row['date_end'] ) ) == date( 'Y-m-d' ) ? $date = 'dzisiaj' : $date = date( 'Y-m-d', strtotime( $row['date_end'] ) ); date( 'Y-m-d', strtotime( $row['date_end'] ) ) == date( 'Y-m-d' ) ? $date = 'dzisiaj' : $date = date( 'Y-m-d', strtotime( $row['date_end'] ) );

View File

@@ -209,10 +209,10 @@ class S
$mail = new PHPMailer; $mail = new PHPMailer;
$mail -> IsSMTP(); $mail -> IsSMTP();
$mail -> SMTPAuth = true; $mail -> SMTPAuth = true;
$mail -> Host = 'host117523.hostido.net.pl'; $mail -> Host = $settings['email_host'];
$mail -> Port = 25; $mail -> Port = $settings['email_port'];
$mail -> Username = 'www@projectpro.pl'; $mail -> Username = $settings['email_login'];
$mail -> Password = 'pMCZHCHBywtDGaVz'; $mail -> Password = $settings['email_password'];
$mail -> CharSet = "UTF-8"; $mail -> CharSet = "UTF-8";
$mail -> SMTPOptions = array( $mail -> SMTPOptions = array(
'ssl' => array( 'ssl' => array(