function getMailer() { $this->ci->load->library('email'); $Email = new CI_Email(); $Email->initialize(array('protocol' => 'smtp', 'smtp_host' => 'infizi.com', 'smtp_user' => '*****@*****.**', 'smtp_pass' => 'Kb}v]w[t%.@&', 'smtp_port' => '26', 'mailtype' => 'html')); return $Email; }
/** * Initialize preferences * * @param array * @return CI_Email */ public function initialize($config = array()) { $this->CI =& get_instance(); $config['protocol'] = $this->CI->config->item('protocol'); $config['smtp_host'] = $this->CI->config->item('smtp_host'); $config['smtp_port'] = $this->CI->config->item('smtp_port'); $config['smtp_user'] = $this->CI->config->item('smtp_user'); $config['smtp_pass'] = $this->CI->config->item('smtp_pass'); $config['newline'] = "\r\n"; return parent::initialize($config); }
/** FINALIZE PRINT TASK * * @param $tid - TASK ID * @param $status - TASK STATUS (STOPPED - PERFORMED) * **/ function finalize_print($tid, $status) { //global $log; //$log->info('Task #'.$tid.' print '.$status); //$log->info('Task #'.$tid.' start finalizing'); //LOAD DB $db = new Database(); //GET TASK $task = $db->query('select * from sys_tasks where id=' . $tid); $reset = false; //CHECK IF TASK WAS ALREARDY FINALIZED if ($task['status'] == 'stopped' || $task['status'] == 'performed') { //$log->info('Task #'.$tid.' already finalized. Exit'); return; } //GET TASK ATTRIBUTES $attributes = json_decode($task['attributes'], TRUE); $print_type = $attributes['print_type']; if ($status == 'stopped' && $print_type == 'additive') { //IF % PROGRESS IS < 0.5 FOR SECURITY REASON I RESET THE BOARD CONTROLLER $monitor = json_decode(file_get_contents($attributes['monitor']), TRUE); $percent = $monitor['print']['stats']['percent']; if ($percent < 0.2) { /** FORCE RESET CONTROLLER */ $_command = 'sudo python ' . PYTHON_PATH . 'force_reset.py'; shell_exec($_command); $reset = true; //$log->info('Task #'.$tid.' reset controller'); } } //GET TYPE OF FILE (ADDITIVE OR SUBTRACTIVE) FOR ENDING MACRO $file = $db->query('select * from sys_files where id=' . $attributes['id_file']); //UPDATE TASK update_task($tid, $status); $_macro_end_print_response = TEMP_PATH . 'macro_response'; $_macro_end_print_trace = TEMP_PATH . 'macro_trace'; /* if(($file['print_type'] == 'additive') && !$reset){ echo 'sudo python '.PYTHON_PATH.'gmacro.py end_print_additive_safe_zone '.$_macro_end_print_trace.' '.$_macro_end_print_response.' > /dev/null &'; shell_exec('sudo python '.PYTHON_PATH.'gmacro.py end_print_additive_safe_zone '.$_macro_end_print_trace.' '.$_macro_end_print_response.' > /dev/null &'); } */ $end_macro = $file['print_type'] == 'subtractive' ? 'end_print_subtractive' : 'end_print_additive'; write_file($_macro_end_print_trace, '', 'w'); chmod($_macro_end_print_trace, 0777); write_file($_macro_end_print_response, '', 'w'); chmod($_macro_end_print_response, 0777); //EXEC END MACRO shell_exec('sudo python ' . PYTHON_PATH . 'gmacro.py ' . $end_macro . ' ' . $_macro_end_print_trace . ' ' . $_macro_end_print_response . ' > /dev/null &'); //$log->info('Task #'.$tid.' end macro: '.$end_macro); sleep(2); shell_exec('sudo kill ' . $attributes['pid']); // SEND MAIL if (isset($attributes['mail']) && $attributes['mail'] == 1 && $status == 'peformed') { $user = $db->query('select * from sys_user where id=' . $task['user']); // CREATE IMAGE TO SEND write_file($attributes['folder'] . 'print.jpg', '', 'w'); chmod($attributes['folder'] . 'print.jpg', 0777); // TAKE PICTURE shell_exec('sudo raspistill -hf -vf -rot 90 --exposure off -awb sun -ISO 400 -w 768 -h 1024 -o ' . $attributes['folder'] . 'print.jpg' . ' -t 0'); $email = new CI_Email(); $config['mailtype'] = 'html'; $email->initialize($config); $email->from('*****@*****.**', 'Your Personal Fabricator - Fabtotum'); $email->to($user['email']); // ATTACH $email->attach($attributes['folder'] . 'print.jpg'); $email->subject('Your print is finished'); $message = 'Dear <strong>' . ucfirst($user['first_name']) . '</strong>,<br>i want to inform you that the print is finished right now'; $email->message($message); if (!$email->send()) { //$log->error('Task #'.$tid.' mail sent to '.$user['email']); } else { //$log->info('Task #'.$tid.' mail sent to '.$user['email']); } } $db->close(); //WAIT FOR THE UI TO FINALIZE THE PROCESS //sleep(7); //REMOVE ALL TEMPORARY FILES shell_exec('sudo rm -rf ' . $attributes['folder']); //$log->info('Task #'.$tid.' end finalizing'); }
public function initialize($config = array()) { // Use passed config first if (!empty($config)) { return parent::initialize($config); } else { // If nothing passed - try loading settings from config $emailConfig = $this->CI->config->item('plain_email_settings'); if (!empty($emailConfig)) { return parent::initialize($emailConfig); // No settings in config - use defaults } else { return parent::initialize(); } } }