MasterClass/application/controllers/Background_service.php
2025-07-29 15:53:43 +03:00

932 lines
40 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
use app\core\auth\Sso;
use app\controllers\events\Event_workshop_informer;
class Background_service extends \MY_Controller {
protected $_servers_;
public function __construct()
{
$this->my_parent_controller();
$this->load->library("mailjet_libr");
$this->load->model("GAnalytics_model");
$this->load->model("event_email_recipient_model");
$this->load->model("event_email_template_model");
// $this->eventWorkshop = new Event_workshop_informer();
}
public function run_service_011($limit, $service_type, $server){
if ((isset($service_type) && !empty($service_type)) || (isset($this->_servers_[$server]) && !empty($this->_servers_[$server]))) {
if (isset($limit) && !empty($limit)) {
$maildata = $this->get_mail_recipes($limit, $service_type);
if ($maildata["status"]) {
$maildata["addVars"] = $this->definedVars(strtoupper($server));
$mjmailer_response = $this->mailjet_libr->send($maildata, $service_type);
if (isset($mjmailer_response["success"]) && !empty($mjmailer_response["success"])) {
if(countVal($mjmailer_response["sent_emails"]) > 0 || countVal($mjmailer_response["failed_emails"]) > 0) {
$response = $this->event_email_recipient_model->update_recipient_email_status($mjmailer_response, $service_type);
if ($response) {
echo "Log (" . date("Y-m-d H:i:s A") . ") - ".$mjmailer_response["logs"] . PHP_EOL;
} else {
echo "Log (" . date("Y-m-d H:i:s A") . ") : Server connection error." . PHP_EOL;
}
} else {
echo "Log (" . date("Y-m-d H:i:s A") . ") : Err code : ".$mjmailer_response["logs"]." Message : Cannot send emails." . PHP_EOL;
}
} else {
if (isset($mjmailer_response["logs"]) && !empty($mjmailer_response["logs"])) {
echo "Log (" . date("Y-m-d H:i:s A") . ") : " . print_r($mjmailer_response["logs"]) . PHP_EOL;
} else {
echo "Log (" . date("Y-m-d H:i:s A") . ") : Unknown error occurred" . PHP_EOL;
}
}
} else {
if(isset($maildata["message"]) && !empty($maildata["message"])){
echo $maildata["message"];
}
}
} else {
echo "Log (" . date("Y-m-d H:i:s A") . ") : Specify the number of items to process." . PHP_EOL;
}
} else {
echo "Log (" . date("Y-m-d H:i:s A") . ") : Undefined service type." . PHP_EOL;
}
}
private function get_mail_recipes($limit, $type){
switch($type){
case 1:
return $this->get_reminder_emails($limit);
break;
case 2:
return $this->get_waitlist_emails($limit);
break;
case 3:
return $this->get_push_event_emails($limit);
break;
case 4:
// Resend email or Send Paid event emails in the Background
return $this->get_fo_emails_to_send($limit);
break;
case 5:
// Send workshop informer emails
return $this->sendEmailToWorkshopInformer($limit);
break;
default :
echo "No action has been specified.";
exit(0);
break;
};
}
public function auto_close_and_open_event($service_code){
if (isset($service_code) && !empty($service_code)) {
if($service_code == "lemodeFRWlogx0d@2016") {
//open events
$this->load->model("event_model");
$this->load->model("user_subscriber_model");
$open_events_for_res_feedback = $this->event_model->open_events_for_reservations();
$terminate_events_feedback = $this->event_model->terminate_events();
$close_events_feedback = $this->event_model->close_events();
// $close_events_feedback = $this->user_subscriber_model->automatic_disable_moderation_events();
// Delete outdated files in FO
deleteOutdatedTmpFiles();
if($open_events_for_res_feedback){
echo "System (" . date("Y-m-d H:i:s A") . ") : Events Open for Reservation : " . $open_events_for_res_feedback .PHP_EOL;
}
if($terminate_events_feedback){
echo "System (" . date("Y-m-d H:i:s A") . ") : Events Terminated : " . $terminate_events_feedback .PHP_EOL;
}
if($close_events_feedback){
echo "System (" . date("Y-m-d H:i:s A") . ") : Events Closed : " . $close_events_feedback . PHP_EOL;
}
} else {
echo "System (" . date("Y-m-d H:i:s A") . ") : Unknown service code." . PHP_EOL;
}
} else {
echo "System (" . date("Y-m-d H:i:s A") . ") : Undefined service. Please specify a valid service code." . PHP_EOL;
}
}
public function auto_unlock_fo_actions($service_code){
if (isset($service_code) && !empty($service_code)) {
if($service_code == "lemodeFRWlogx0d@2016") {
$this->load->model("event_concurrent_process_model");
$this->load->model("user_model");
$this->load->model("event_email_schedule_model");
$unlock_processes = $this->event_concurrent_process_model->cron_unlock_fo_actions();
/*This approach will log out all users who closes the browser and not logged in properly after 24hrs.*/
$logout_users = $this->user_model->logout_users();
/* we need to set to passe all the reminder custom schedule */
$set_reminder_sched_topass = $this->event_email_schedule_model->set_reminder_sched_to_pass();
$expired_access_token = $this->user_model->access_token_has_expired();
if($unlock_processes) {
echo "System (" . date("Y-m-d H:i:s A") . ") : Unlock_processes : " . $unlock_processes .PHP_EOL;
}
// if($logout_users){
// echo "System (" . date("Y-m-d H:i:s A") . ") : Logout_Users : " . $logout_users . PHP_EOL;
// }
// if($set_reminder_sched_topass){
// echo "System (" . date("Y-m-d H:i:s A") . ") : Reminder_sched_passed : " . $set_reminder_sched_topass. PHP_EOL;
// }
// if($expired_access_token){
// echo "System (" . date("Y-m-d H:i:s A") . ") : Expired_token : " . $expired_access_token . PHP_EOL;
// }
} else {
echo "System (" . date("Y-m-d H:i:s A") . ") : Unknown service code." . PHP_EOL;
}
} else {
echo "System (" . date("Y-m-d H:i:s A") . ") : Undefined service. Please specify a valid service code." . PHP_EOL;
}
}
public function get_reminder_emails($limit=1){
if($limit>0) {
$this->load->model("event_registration_model");
$published_events = $this->event_registration_model->get_data_reminder_email_list();
if ($published_events) {
$mj_mailer_data = array();
foreach ($published_events as $value) {
$event_email_tpl = $this->event_email_template_model->get_current_event_email_template($value->event_id, 3, 1);
if(countVal($event_email_tpl) > 0) {
$event_email_tpl->email_tpl_detail = urldecode($event_email_tpl->email_tpl_detail);
$subscribers = $this->event_registration_model->get_event_subscribers_list($value->event_start_date_time, $value->event_id, $limit);
if ($subscribers) {
$total_result = countVal($subscribers);
if ($total_result < $limit) {
$limit = $limit - $total_result;
array_push($mj_mailer_data, array(
"event" => $value,
"event_email_tpl" => $event_email_tpl,
"subscribers" => $subscribers
));
} else {
array_push($mj_mailer_data, array(
"event" => $value,
"event_email_tpl" => $event_email_tpl,
"subscribers" => $subscribers
));
break;
}
}
}
}
if(countVal($mj_mailer_data) > 0){
return array("status" => true, "maildata" => $mj_mailer_data);
} else {
return array(
"status" => false,
"message" => ""
);
}
} else {
return array(
"status" => false,
"message" => ""
);
}
} else {
return array(
"status" => false,
"message" => "Log (" . date("Y-m-d H:i:s A") . ") : Please specify the number of mails to send per process.".PHP_EOL
);
}
}
public function get_waitlist_emails($limit=1){
if($limit>0) {
$this->load->model("event_wait_list_model");
$published_events = $this->event_wait_list_model->get_data_waitlists();
if ($published_events) {
$swift_mailer_data = array();
foreach ($published_events as $value) {
$event_email_tpl = $this->event_email_template_model->get_current_event_email_template($value->event_id, $value->event_schedule_id, 2, true);
if(countVal($event_email_tpl) > 0) {
$event_email_tpl->email_tpl_detail = urldecode($event_email_tpl->email_tpl_detail);
$subscribers = $this->event_wait_list_model->get_waitlists_subscribers($value->event_schedule_id, $limit);
if ($subscribers) {
$total_result = countVal($subscribers);
if ($total_result < $limit) {
$limit = $limit - $total_result;
array_push($swift_mailer_data, array(
"event" => $value,
"event_email_tpl" => $event_email_tpl,
"subscribers" => $subscribers
));
} else {
array_push($swift_mailer_data, array(
"event" => $value,
"event_email_tpl" => $event_email_tpl,
"subscribers" => $subscribers
));
break;
}
}
}
}
if(countVal($swift_mailer_data) > 0){
return array("status" => true, "maildata" => $swift_mailer_data);
} else {
return array(
"status" => false,
"message" => ""
);
}
} else {
return array(
"status" => false,
"message" => ""
);
}
} else {
return array(
"status" => false,
"message" => "Log (" . date("Y-m-d H:i:s A") . ") : Please specify the number of mails to send per process.".PHP_EOL
);
}
}
public function get_push_event_emails($limit=1){
if($limit>0) {
$this->load->model("event_email_custom_model");
$published_events = $this->event_email_custom_model->get_data_push_event_email();
if ($published_events) {
$mj_mailer_data = array();
foreach ($published_events as $value) {
$event_email_tpl = $this->event_email_template_model->get_current_event_email_template($value->event_id, $value->event_schedule_id, 4, true);
if(countVal($event_email_tpl) > 0) {
$event_email_tpl->email_tpl_detail = urldecode($event_email_tpl->email_tpl_detail);
$subscribers = $this->event_email_custom_model->get_push_event_recipients($value->email_custom_id, $limit);
$total_result = countVal($subscribers);
if ($total_result > 0) {
if ($total_result < $limit) {
$limit = $limit - $total_result;
array_push($mj_mailer_data, array(
"event" => $value,
"event_email_tpl" => $event_email_tpl,
"subscribers" => $subscribers
));
} else {
array_push($mj_mailer_data, array(
"event" => $value,
"event_email_tpl" => $event_email_tpl,
"subscribers" => $subscribers
));
break;
}
}
}
}
if(countVal($mj_mailer_data) > 0){
return array("status" => true, "maildata" => $mj_mailer_data);
} else {
return array(
"status" => false,
"message" => ""
);
}
} else {
return array(
"status" => false,
"message" => ""
);
}
} else {
return array(
"status" => false,
"message" => "Log (" . date("Y-m-d H:i:s A") . ") : Please specify the number of mails to send per process.".PHP_EOL
);
}
}
public function get_fo_emails_to_send($limit=1){
if($limit>0) {
$this->load->model("event_email_recipient_model");
$published_events = $this->event_email_recipient_model->get_data_resend_email_list();
if (!$published_events) {
return array(
"status" => false,
"message" => ""
);
}
$mj_mailer_data = array();
/* Get resend emails for published events*/
foreach ($published_events as $value) {
// Remove duplicate email_type_id
$email_type_ids = array_values(array_unique(explode("_", $value->email_type_id)));
if(countVal($email_type_ids) <= 0){
continue;
}
foreach ($email_type_ids as $email_type_id) {
$event_cancel_tpl = (($value->event_status === 'CANCEL') ? 7 : null);
$event_email_tpl = $this->event_email_template_model->get_current_event_email_template($value->event_id, $value->event_schedule_id, $email_type_id, true, $event_cancel_tpl);
if(countVal($event_email_tpl) <= 0) {
continue;
}
$event_email_tpl->email_tpl_detail = urldecode($event_email_tpl->email_tpl_detail);
$subscribers = $this->event_email_recipient_model->get_event_subscribers_list($value->event_schedule_id, $email_type_id, $limit);
if (!$subscribers) {
continue;
}
$total_result = countVal($subscribers);
if ($total_result < $limit) {
$limit = $limit - $total_result;
array_push($mj_mailer_data, array(
"event" => $value,
"event_email_tpl" => $event_email_tpl,
"subscribers" => $subscribers
));
} else {
array_push($mj_mailer_data, array(
"event" => $value,
"event_email_tpl" => $event_email_tpl,
"subscribers" => $subscribers
));
break;
}
}
}
if(countVal($mj_mailer_data) > 0){
return array("status" => true, "maildata" => $mj_mailer_data);
} else {
return array(
"status" => false,
"message" => ""
);
}
} else {
return array(
"status" => false,
"message" => "Log (" . date("Y-m-d H:i:s A") . ") : Please specify the number of mails to send per process.".PHP_EOL
);
}
}
public function reminder_email_management_service($service_code){
if (isset($service_code) && !empty($service_code)) {
if($service_code == "lemodeFRWlogx0d@2016") {
$this->load->model("event_model");
$this->load->model("event_email_schedule_model");
$result = $this->event_model->get_events_for_reminder_email();
$msg_log = "";
if(countVal($result) > 0) {
foreach ($result as $row) {
$email_schedule = $this->event_email_schedule_model->get_email_sending_schedule($row);
if(countVal($email_schedule) > 0){
$msg_log .=$this->reminder_subscribers($email_schedule, $row);
}
}
}
echo $msg_log. PHP_EOL;
} else {
echo "System (" . date("Y-m-d H:i:s A") . ") : Unknown service code." . PHP_EOL;
}
} else {
echo "System (" . date("Y-m-d H:i:s A") . ") : Undefined service. Please specify a valid service code." . PHP_EOL;
}
}
private function reminder_subscribers($email_schedule, $event){
$count = 0; $events="";
$this->load->model("event_registration_model");
if(countVal($email_schedule) > 0)
{
foreach($email_schedule as $row){
$events .="Event_id : ".$event->event_id.", Event_schedule_id : ".$row->email_schedule_id.", Email sched. type : ".$row->email_sched_reference." \n";
$count += $this->event_registration_model->prepare_list_for_reimnder_email($row, $event);
}
} else{
$events .="Event_id : ".$event->event_id.", Event_schedule_id : ".$email_schedule->email_schedule_id.", Email sched. type : ".$email_schedule->email_sched_reference." \n";
$count += $this->event_registration_model->prepare_list_for_reimnder_email($email_schedule, $event);
}
if($count > 0) {
echo "System (" . date("Y-m-d H:i:s A") . ") : Count : ".$count.", Record : \n".$events. PHP_EOL;
}
}
public function waitlist_management_service($service_code){
if (!isset($service_code) && empty($service_code)) {
echo "System (" . date("Y-m-d H:i:s A") . ") : Undefined service. Please specify a valid service code.";
}
if($service_code != "lemodeFRWlogx0d@2016") {
echo "System (" . date("Y-m-d H:i:s A") . ") : Unknown service code.";
return false;
}
$this->load->model("event_model");
$this->load->model("event_wait_list_model");
$this->load->model("event_email_schedule_model");
$this->load->model("event_email_default_setting_model");
$result = $this->event_model->get_events_for_waitinglist_email();
// $parameters = $this->event_email_default_setting_model->get_default_email_schedule(2);
$msg_log = "";
//only process data when parameters are all set
// if(sizeof($parameters) > 0) {
//only process events with waitlisted
if (countVal($result) <= 0) {
return false;
}
foreach ($result as $row) {
//check the date to reset, check from table "event_template_email"
if($row->email_schedule_id <= 0) {
//if there are parameters already, immediately add them to "event_email_template"
$msg_log .= $this->prepare_waitlist_tobe_emailed($row);
continue;
}
$check_reset_date = $this->event_email_template_model->check_reset_time($row->email_schedule_id);
//reset date is now
if(!$check_reset_date) {
continue;
}
//if there are parameters already, immediately add them to "event_email_template"
$msg_log .= $this->prepare_waitlist_tobe_emailed($row);
}
echo $msg_log;
}
private function prepare_waitlist_tobe_emailed($event){
$result = $this->event_email_schedule_model->add_email_schedule_for_waitlist($event->event_id, $event->event_schedule_id);
if($result["success"]) {
$this->event_wait_list_model->prepare_list_for_reinvitation_email($result["email_schedule_id"], $event->event_schedule_id, $result["schedule"]->email_tpl_number_of_recipients);
} else {
return "Log (" . date("Y-m-d H:i:s A") . ") : " ."Cannot add email_template";
}
}
private function add_to_waitlist_for_email($event_id){
$this->load->model("event_deregistration_model");
$this->event_deregistration_model->add_to_waitlist_for_email($event_id);
}
public function email_waiting_list_reinvitation() {
$this->mailjet_libr->email_waiting_list_reinvitation();
}
public function sendEmailToWorkshopInformer($limit = 1){
return Event_workshop_informer::sendEmailToWorkshopInformer($limit);
}
public function prepareWorkshopInformerList($service_code) {
Event_workshop_informer::prepareWorkshopInformerList($service_code);
}
/** Set status of reservation when year of subscription is more than 1 year */
public function video_workshop_reservation_validation() {
$this->load->model("event_registration_model");
$result = $this->event_registration_model->update_expiring_video_reservation();
}
/** Sets event registration workshop session value */
public function update_event_registration() {
$this->load->model("event_model");
$this->load->model("event_registration_model");
$events = $this->event_model->get_online_video();
foreach($events as $event) {
$this->event_registration_model->update_reservation_workshop_session($event->workshop_session, $event->event_id);
}
}
public function definedVars($server){
switch($server) {
case "LOCAL":
return array(
"base_url" => "https://univ.c4m.mg/",
"lemonde_logo" => "/home/stephane/public_html/img/logo_white.png",
"event_picture" => "resources/images/frontoffice/events/",
"event_url" => "event_details?event_id="
);
case "PREPROD":
return array(
"base_url" => "https://univ.c4m.mg/",
"lemonde_logo" => "/home/stephane/public_html/img/logo_white.png",
"event_picture" => "resources/images/frontoffice/events/",
"event_url" => "event_details?event_id="
);
case "DEV":
return array(
"base_url" => "https://univ.c4m.mg/",
"lemonde_logo" => "/home/stephane/public_html/img/logo_white.png",
"event_picture" => "resources/images/frontoffice/events/",
"event_url" => "event_details?event_id="
);
default: // PROD
return array(
"base_url" => "https://univ.c4m.mg/",
"lemonde_logo" => "/home/stephane/public_html/img/logo_white.png",
"event_picture" => "resources/images/frontoffice/events/",
"event_url" => "event_details?event_id="
);
}
}
public function get_server_time(){
echo "PHP : ".date('Y-m-d H:i:s');
echo "<br/>";
print_r($this->db->query("SELECT @@global.time_zone, @@session.time_zone, NOW();")->row());
if (date_default_timezone_get()) {
echo '<br/>date_default_timezone_set: ' . date_default_timezone_get() . '<br />';
}
if (ini_get('date.timezone')) {
echo '<br/>date.timezone: ' . ini_get('date.timezone');
}
}
public function update_email_status(){
$this->load->model("event_schedule_model");
$scheds = $this->event_schedule_model->get_scheds();
foreach($scheds as $row){
$this->event_schedule_model->add_event_email_schedule_status($row->event_schedule_id);
}
}
/**
** @method get Google analytics data and store it locally
*/
public function fetch_and_store_analytics_data($start ='', $end ='', $limit ='', $order ='', $report_category = 'all_garep'){
$report = new GAnalytics_model();
$data = $report->getStoreGAData($this->db, $start, $end);
$data = $report->getStoreConnectedUsers($start, $end);
output_to_json($this, array(
"message" => 'successful'
));
// output_to_json($this, $data);
}
/**
* CRON
* Way to automatically sets by event schedule flexible moderation setting to TRUE
* once it matches the scheduled set
*
* @param $service_code passcode
* @return void
*
* access public member
*/
public function moderation(string $service_code) : void
{
/**
* Total seats = 100
* Remaining = 40
* A = 100 * .50
* B = 100 A,
* B > Remaining , enable flexible
* B < Remaining, disable flexible
*/
// function model that checks and update per event flexible moderation to TRUE once it satisfies the schedule
if (isset($service_code) && !empty($service_code)) {
if($service_code == "lemodeFRWlogx0d@2016") {
$this->load->model('event_moderation_model');
$this->event_moderation_model->querySetPerEventFlexibleModerationToActive();
} else {
echo "System (" . date("Y-m-d H:i:s A") . ") : Unknown service code." . PHP_EOL;
}
} else {
echo "System (" . date("Y-m-d H:i:s A") . ") : Undefined service. Please specify a valid service code." . PHP_EOL;
}
}
//TODO: Remove this part before updating Prod server!!!
public function bypass_coockie_creation() {
$WHITELIST = [
'lemonde.test1@gmail.com',
'lemonde.test2@gmail.com',
'lemonde.test3@gmail.com',
'guillaume.b@wylog.com',
'cvergara@wylog.com',
'qsarza@wylog.com',
'emma@wylog.com',
'reden@wylog.com'
];
$data = array(
'csrfname' => $this->security->get_csrf_token_name(),
'csrfhash' => $this->security->get_csrf_hash(),
'error' => "",
"whitelisted" => $WHITELIST
);
if ($this->input->post('email_address') && !in_array($this->input->post('email_address'), $WHITELIST)) {
$data["error"] = "Subscriber not found!";
} else if ($this->input->post('email_address')) {
$extractName = explode("@", $this->input->post('email_address'));
Sso::set_mock_cookies([
'mail' => $this->input->post('email_address'),
'firstname' => $extractName[0],
'name' => 'Test',
'premium' => !!$this->input->post('premium'),
'sso' => [
'product_code' => ""//$this->input->post('product_code')
]
// 'stay_connected' => 1
]);
redirect('authenticate');
}
$this->load->view('cookie_view', $data);
}
/**
* send reminder email for distance workshop per video
*/
public function atelier_distance_reminder() {
$this->load->model("event_registration_model");
$result = $this->event_registration_model->get_atelier_distance_subscribers();
$response = array();
if($result) {
//$this->load->library("mailjet_libr");
foreach($result as $row) {
//unset($row->night_class_prices);
$email_data = $this->get_distance_reminder_email((array)$row);
if($email_data) {
$val = $this->mailjet_libr->send($email_data, 7);
array_push($response, $val);
}
}
}
output_to_json($this, array(
"datetime" => date('Y-m-d H:i:s'),
"data" => $response
));
}
/**
* Caution: do not call this method
* This was use on the static event reminder email
* Send reminder email
*/
public function atelier_event_47_53_reminder() {
$this->load->model("event_registration_model");
$result = $this->event_registration_model->get_subscribers_by_event_id(REMINDER_EVENT_IDS);
$response = array();
if($result) {
//$this->load->library("mailjet_libr");
$copy = false;
$tmp = false;
foreach($result as $row) {
//unset($row->night_class_prices);
if(!$copy) {
$tmp = (array) $row;
$copy = true;
break;
}
// $email_data = $this->get_distance_reminder_email_47_53((array)$row);
// if($email_data) {
// $val = $this->mailjet_libr->send($email_data, 7);
// array_push($response, $val);
// }
}
if($tmp) {
$emails = $this->subscribers_email();
foreach($emails as $email) {
$tmp['email_address'] = $email;
$email_data = $this->get_distance_reminder_email_47_53((array)$tmp);
if($email_data) {
$val = $this->mailjet_libr->send($email_data, 7);
array_push($response, $val);
}
}
}
}
output_to_json($this, array(
"datetime" => date('Y-m-d H:i:s'),
"data" => $response
));
}
private function get_distance_reminder_email(array $data) {
$mj_mailer_data = array();
$this->load->model("event_email_template_model");
$data = array_merge($data, ['video_link' => 'atelier-a-distance/'.$data['event_id']]);
$event_email_tpl = $this->event_email_template_model->get_current_event_email_template($data['event_id'], 8, 1);
$event_email_tpl->email_tpl_detail = urldecode($event_email_tpl->email_tpl_detail);
array_push($mj_mailer_data, array(
"event" => (object)$data,
"event_email_tpl" => $event_email_tpl,
"subscriber" => (object)$data
));
//return $event_email_tpl;
return $mj_mailer_data[0];
}
private function get_distance_reminder_email_47_53(array $data) {
$mj_mailer_data = array();
$this->load->model("event_email_template_model");
$data = array_merge($data, ['video_link' => 'atelier-a-distance/'.$data['event_id']]);
// $event_email_tpl = $this->event_email_template_model->get_customized_template_by_email_type_id(8);
$event_email_tpl = $this->event_email_template_model->get_default_template_by_email_type_id(8);
$event_email_tpl->email_tpl_detail = urldecode($event_email_tpl->email_tpl_detail);
array_push($mj_mailer_data, array(
"event" => (object)$data,
"event_email_tpl" => $event_email_tpl,
"subscriber" => (object)$data
));
//return $event_email_tpl;
return $mj_mailer_data[0];
}
private function subscribers_email() {
return array('maeva@wylog.com', 'satos@wylog.com');
// return array(
// 'malingre@lemonde.fr',
// 'tovo@lemonde.fr',
// 'jg.santi@lemonde.fr',
// 'wachowiak@lemonde.fr',
// 'ateliers+ieseg@lemonde.fr',
// 'savoyebenji@gmail.com',
// 'aubron@lemonde.fr',
// 'lavielle@ext.lemonde.fr',
// 'sophie-noelle.nemo@laposte.fr',
// 'cmbasquin@hotmail.com',
// 'christinemagne@orange.fr',
// 'descoursierem@gmail.com',
// 'mila.voisin2003@gmail.com',
// 'c.andre.art@wanadoo.fr',
// 'v.chauveau@chauveau-associes.com',
// 'c.vouilloux@orange.fr',
// 'gg.menez@laposte.net',
// 'mailys.habouzit@gmail.com',
// 'michelhuleu@hotmail.fr',
// 'alexandre.gueguen.7@orange.fr',
// 'elif.c.kayi@gmail.com',
// 'alan.calvez@hotmail.fr',
// 'd.breiner@orange.fr',
// 'brasset.marine@hotmail.fr',
// 'louis.saix@protonmail.com',
// 'kaplun.yuri@gmail.com',
// 'ubaldi.vitti@gmail.com',
// 'francoisle@outlook.com',
// 'juleslichne@gmail.com',
// 'edgarfoisnet@gmail.com',
// '1marianne.deruelle@gmail.com',
// 'chaboche.adeline@gmail.com',
// 'mailyadamar@gmail.com',
// 'p.pochet@hotmail.fr',
// 'cuche.avocat@gmail.com',
// 'anne.veroncacheux@hotmail.fr',
// 'laureguegan76@gmail.com',
// 'leclosduserres@gmail.com',
// 'c.derouard@ieseg.fr',
// 'r.joliet@ieseg.fr',
// 'a.matynia@ieseg.fr',
// 'l.perezarmas@ieseg.fr',
// 'y.ruia@ieseg.fr',
// 'rania.aadil@ieseg.fr',
// 'guillaume.adhemard@ieseg.fr',
// 'morgane.agostini@ieseg.fr',
// 'sara.akhondiarsi@ieseg.fr',
// 'robin.alaukla@ieseg.fr',
// 'pierre.andrieux@ieseg.fr',
// 'auriane.anselot@ieseg.fr',
// 'asmaa.arahal@ieseg.fr',
// 'gabriel.asseo@ieseg.fr',
// 'Titouan.aubry@ieseg.fr',
// 'hugo.barroso@ieseg.fr',
// 'chloe.bedhom@ieseg.fr',
// 'armand.beraud@ieseg.fr',
// 'riwan.berrada@ieseg.fr',
// 'hugo.berthoumieux@ieseg.fr',
// 'emmanuel.bonneau@ieseg.fr',
// 'emma.bonnin@ieseg.fr',
// 'agnes.bouvarel@ieses.fr',
// 'amandine.boyas@ieseg.fr',
// 'konstantin.braz@ieseg.fr',
// 'yann.bretelle@ieseg.fr',
// 'emma.briche@ieseg.fr',
// 'thomas.brigant@ieseg.fr',
// 'mila.bruneau@ieseg.fr',
// 'nathan.caloin@ieseg.fr',
// 'oceane.camuzeaux@ieseg.fr',
// 'baptiste.carton@ieseg.fr',
// 'quentin.chaine@ieseg.fr',
// 'vincent.charbonnier@ieseg.fr',
// 'antoine.colle@ieseg.fr',
// 'sidonie.collette@ieseg.fr',
// 'capucine.compagnionbarbry@ieseg.fr',
// 'gustave.degalard@ieseg.fr',
// 'loup-quirec.dekermel@ieseg.fr',
// 'daniela.destefanoguastalla@ieseg.fr',
// 'louis.delplanque@ieseg.fr',
// 'celia.deroussen@ieseg.fr',
// 'cecile.desprez@ieseg.fr',
// 'martin.desroches@ieseg.fr',
// 'thibault.desroches-nougue@ieseg.fr',
// 'ali.drissikaitouni@ieseg.fr',
// 'catherine.dubord@ieseg.fr',
// 'aubin.dufrien@ieseg.fr',
// 'louis.durance@ieseg.fr',
// 'rayan.eloueslati@ieseg.fr',
// 'tom.ernoult@ieseg.fr',
// 'victoria.etienne@ieseg.fr',
// 'louise.favrot@ieseg.fr',
// 'antoine.finkielsztejn@ieseg.fr',
// 'antoine.flipo@ieseg.fr',
// 'saona.ginestes@ieseg.fr',
// 'Bilah.habre@ieseg.fr',
// 'hugo.heurtin@ieseg.fr',
// 'lucas.howe@ieseg.fr',
// 'camille.hussherr@ieseg.fr',
// 'Justine.ibghi@ieseg.fr',
// 'yichao.ji@ieseg.fr',
// 'christianbrice.kamga@ieseg.fr',
// 'annedoulce.kneib@ieseg.fr',
// 'valentin.lauferon@ieseg.fr',
// 'clement.laurencon@ieseg.fr',
// 'aurelie.laval@ieseg.fr',
// 'amaury.legarrec@ieseg.fr',
// 'stephane.legousse@ieseg.fr',
// 'sophie.lemarchand@ieseg.fr',
// 'tanguy.leostic@ieseg.fr',
// 'elouan.leroux@ieseg.fr',
// 'severine.leroux@ieseg.fr',
// 'simon.liu@ieseg.fr',
// 'paul.lubais@ieseg.fr',
// 'joseph.mammar@ieseg.fr',
// 'eleonore.marechal@ieseg.fr',
// 'paul.mathieucollin@ieseg.fr',
// 'juliette.maurice@ieseg.fr',
// 'élise.Mbengalackbizot@ieseg.fr',
// 'elise.Mbengalackbizot@ieseg.fr',
// 'dorian.menuet@ieseg.fr',
// 'come.meriaux@ieseg.fr',
// 'yannis.meurine@ieseg.fr',
// 'dimitri.morel@ieseg.fr',
// 'theonegri8@gmail.com',
// 'celine.ni@ieseg.fr',
// 'mehdi.ouahni@ieseg.fr',
// 'clement.pannier@ieseg.fr',
// 'paul.paressant@ieseg.fr',
// 'maiwenn.percheron@ieseg.fr',
// 'anne.perrot@ieseg.fr',
// 'elise.petitcollin@ieseg.fr',
// 'agathe.pichard@ieseg.fr',
// 'maxime.plonquet@ieseg.fr',
// 'elina.pons@ieseg.fr',
// 'vincent.porge@ieseg.fr',
// 'marine.queyrat@ieseg.fr',
// 'arthur.radjabi@ieseg.fr',
// 'camille.roda@ieseg.fr',
// 'nina.romano@ieseg.fr',
// 'emilie.saint-mleux@ieseg.fr',
// 'marine.sarfati@ieseg.fr',
// 'matthis.saudrais@ieseg.fr',
// 'theo.sauvage@ieseg.fr',
// 'benjamin.savoye@ieseg.fr',
// 'elisa.schiettecatte@ieseg.fr',
// 'edouard.schoumacher@ieseg.fr',
// 'naima.speybroeck@ieseg.fr',
// 'astrid.thibaud@ieseg.fr',
// 'Alexandre.trier@ieseg.fr',
// 'abinav.vadivelou@ieseg.fr',
// 'alix.vaillant@ieseg.fr',
// 'bixente.vanoosthuyse@gmail.col',
// 'enzo.vasconi@ieseg.fr',
// 'alice.vasselin@ieseg.fr',
// 'alexandre.vimont@ieseg.fr',
// 'margauxvinel@ieseg.fr',
// 'nathan.wygoda@ieseg.fr',
// 'vincent.zimmermann@ieseg.fr',
// 'p.bocquet@ieseg.fr',
// 'bellissen@gmail.com',
// 'margauxvinel@icloud.com',
// 'lise.bonardin@hotmail.com',
// );
}
}