function process_event($id, $name, $event_date, $event_time) { global $site_extras, $debug, $only_testing; global $EXTRA_REMINDER_WITH_OFFSET, $EXTRA_REMINDER_WITH_DATE; if ($debug) { printf("Event %d: \"%s\" at %s on %s <br />\n", $id, $name, $event_time, $event_date); } // Check to see if this event has any reminders $extras = get_site_extra_fields($id); for ($j = 0; $j < count($site_extras); $j++) { $extra_name = $site_extras[$j][0]; $extra_type = $site_extras[$j][2]; $extra_arg1 = $site_extras[$j][3]; $extra_arg2 = $site_extras[$j][4]; //if ( $debug ) // printf ( " name: %s\n type: %d\n arg1: %s\n arg2: %s\n", // $extra_name, $extra_type, $extra_arg1, $extra_arg2 ); if (!empty($extras[$extra_name]['cal_remind'])) { if ($debug) { echo " Reminder set for event. <br />\n"; } // how many minutes before event should we send the reminder? $ev_h = (int) ($event_time / 10000); $ev_m = $event_time / 100 % 100; $ev_year = substr($event_date, 0, 4); $ev_month = substr($event_date, 4, 2); $ev_day = substr($event_date, 6, 2); $event_time = mktime($ev_h, $ev_m, 0, $ev_month, $ev_day, $ev_year); if (($extra_arg2 & $EXTRA_REMINDER_WITH_OFFSET) > 0) { $minsbefore = $extras[$extra_name]['cal_data']; $remind_time = $event_time - $minsbefore * 60; } else { if (($extra_arg2 & $EXTRA_REMINDER_WITH_DATE) > 0) { $rd = $extras[$extra_name]['cal_date']; $r_year = substr($rd, 0, 4); $r_month = substr($rd, 4, 2); $r_day = substr($rd, 6, 2); $remind_time = mktime(0, 0, 0, $r_month, $r_day, $r_year); } else { $minsbefore = $extra_arg1; $remind_time = $event_time - $minsbefore * 60; } } if ($debug) { echo " Mins Before: {$minsbefore} <br />\n"; } if ($debug) { echo " Event time is: " . date("m/d/Y H:i", $event_time) . "<br />\n"; echo " Remind time is: " . date("m/d/Y H:i", $remind_time) . "<br />\n"; } if (time() >= $remind_time) { // It's remind time or later. See if one has already been sent $last_sent = 0; $res = dbi_query("SELECT MAX(cal_last_sent) FROM " . "webcal_reminder_log WHERE cal_id = " . $id . " AND cal_event_date = {$event_date}" . " AND cal_name = '" . $extra_name . "'"); if ($res) { if ($row = dbi_fetch_row($res)) { $last_sent = $row[0]; } dbi_free_result($res); } if ($debug) { echo " Last sent on: " . date("m/d/Y H:i", $last_sent) . "<br />\n"; } if ($last_sent < $remind_time) { // Send a reminder if ($debug) { echo " SENDING REMINDER! <br />\n"; } send_reminder($id, $event_date); // now update the db... log_reminder($id, $extra_name, $event_date); } } } } }
function send_expiry_reminder_email($member, $invoice) { $name = config('name'); $subject = "Votre adhésion à {$name} arrive à échéance"; $message = "\n{$name} aimerait vous remercier pour le support que vous lui avez apporté il y a presque un an par votre adhésion en tant que membre. La portée des actions de {$name} est d'autant plus grande que le nombre d'adhérents est grand, et l'appui que vous nous donnez motive chacun de nous à continuer.\n\nNous sollicitons donc un renouvellement de votre adhésion à {$name}, qui arrive échéance le " . format_date($member['expiry_date']) . ".\n"; send_reminder($member, $subject, $message, $invoice); }
JOIN custom_field_value cfv ON cfv.personid = p.id AND cfv.fieldid = ' . (int) $ini['CUSTOM_FIELD_ID']; if ($ini['CC_STATUS']) { $map = array_flip(Person::getStatusOptions()); $SQL .= ' LEFT JOIN _person cc ON ( LENGTH(cc.email) > 0 AND cc.congregationid = p.congregationid AND cc.status = ' . $GLOBALS['db']->quote($map[$ini['CC_STATUS']]) . ' )'; } $SQL .= ' WHERE cfv.value_date = CURDATE() + INTERVAL ' . (int) $ini['REMINDER_OFFSET'] . ' DAY'; $res = $GLOBALS['db']->queryAll($SQL); check_db_result($res); foreach ($res as $row) { send_reminder($row); } function send_reminder($person) { global $ini; $toEmail = $person['email']; if (!empty($ini['OVERRIDE_RECIPIENT'])) { $toEmail = $ini['OVERRIDE_RECIPIENT']; } if (!strlen($person['email'])) { if (!empty($ini['VERBOSE'])) { echo $person['first_name'] . ' ' . $person['last_name'] . " has no email address - skipping \n"; } return; } $content = replace_keywords($ini['EMAIL_BODY'], $person);
function process_event($id, $name, $start, $end, $new_date = '') { global $debug, $is_task, $only_testing; // Get reminders array. $reminder = getReminders($id); if (!empty($reminder)) { if ($debug) { echo " Reminder set for event.<br />\n"; } $times_sent = $reminder['times_sent']; $repeats = $reminder['repeats']; $lastsent = $reminder['last_sent']; $related = $reminder['related']; // If we are working with a repeat or overdue task, and we have sent all the // reminders for the basic event, then reset the counter to 0. if (!empty($new_date)) { if ($times_sent == $repeats + 1) { if (!$is_task || $related == 'E' && date('Ymd', $new_date) != date('Ymd', $end)) { // Tasks only. $times_sent = 0; } } $new_offset = date_to_epoch($new_date) - ($start - $start % 86400); $start += $new_offset; $end += $new_offset; } if ($debug) { printf("Event %d: \"%s\" on %s at %s GMT<br />\n", $id, $name, gmdate('Ymd', $start), gmdate('H:i:s', $start)); } // It is pointless to send reminders after this time! $pointless = $end; $remB4 = $reminder['before'] == 'Y'; if (!empty($reminder['date'])) { // We're using a date. $remind_time = $reminder['timestamp']; } else { // We're using offsets. $offset = $reminder['offset'] * 60; // Convert to seconds. if ($related == 'S') { // Relative to start. $offset_msg = ($remB4 ? ' Mins Before Start: ' : ' Mins After Start: ') . $reminder['offset']; $remind_time = $remB4 ? $start - $offset : $start + $offset; } else { // Relative to end/due. $offset_msg = ($remB4 ? ' Mins Before End: ' : ' Mins After End: ') . $reminder['offset']; $remind_time = $remB4 ? $end - $offset : $end + $offset; $pointless = $remB4 ? $end : $end + $offset; } } // Factor in repeats if set. if ($repeats > 0 && $times_sent <= $repeats) { $remind_time += $reminder['duration'] * 60 * $times_sent; } if ($debug) { echo (empty($offset_msg) ? '' : $offset_msg . '<br />') . ' Event ' . ($related == 'S' ? 'start time is: ' . gmdate('m/d/Y H:i', $start) : 'end time is: ' . gmdate('m/d/Y H:i', $end)) . ' GMT<br /> Remind time is: ' . gmdate('m/d/Y H:i', $remind_time) . ' GMT<br /> Effective delivery time is: ' . date('m/d/Y H:i T', $remind_time) . '<br /> Last sent on: ' . ($lastsent == 0 ? 'NEVER' : date('m/d/Y H:i T', $lastsent)) . '<br /><br /> times_sent = ' . $times_sent . ' repeats = ' . $repeats . ' time = ' . date('His', time()) . ' remind_time = ' . date('His', $remind_time) . ' lastsent = ' . ($lastsent > 0 ? date('Ymd His', $lastsent) : " NEVER ") . ' pointless = ' . date('Ymd His', $pointless) . ' is_task = ' . ($is_task ? 'true' : 'false') . '<br />'; } if ($times_sent < $repeats + 1 && time() >= $remind_time && $lastsent <= $remind_time && (time() <= $pointless || $is_task)) { // Send a reminder. if ($debug) { echo ' SENDING REMINDER!<br />' . "\n"; } send_reminder($id, $start); // Now update the db... if ($debug) { echo '<br /> LOGGING REMINDER!<br /><br />' . "\n"; } log_reminder($id, $times_sent + 1); } } }
$varHour = substr($varTime, 0, 2); $varMin = substr($varTime, 3, 2); if ($varHour < 12) { $varHour = $varHour + 12; } $varRowTime = $varHour . ":" . $varMin; $time_diff = get_timedifference($time1, $varRowTime); echo $row["id"] . "time diff is" . $time_diff . "\n"; if ($time_diff <= 40) { echo "reminder sent" . $row["id"] . "\n"; $obj = new Clickatell(); $phone_number_temp = $row["phone"]; $phone_number = preg_replace("/[^0-9]/", "", $phone_number_temp); if (strlen($phone_number) == 10) { $phone_number = "1" . $phone_number; } else { $phone_number = $phone_number; } $obj->sendSms($phone_number, $text_msg); send_reminder($row["fname"], $row["email"]); $sql = "UPDATE Booking_details SET flag_reminder ='1' WHERE id='" . $row['id'] . "'"; mysql_query($sql) or die("I cannot run , reason : " . mysql_error()); } } } else { echo "inside else"; } ?>