254], [['to_email', 'from_email', 'from_name'], 'string', 'max' => 200], [['who_comment'], 'string', 'max' => 50], [['code'], 'unique'] ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'code' => 'Code', 'name' => 'Name', 'value' => 'Value', 'to_email' => 'To Email', 'from_email' => 'From Email', 'from_name' => 'From Name', 'done' => 'Done', 'who_comment' => 'Who Comment', ]; } public static function header() { $office = Offices::findOne(1); $phones = explode(";",$office['phones']); $output = "
"; foreach ($phones as &$el) { $output .= "
".$el."
 
"; } $output .= "
".$office['address']."
 
".$office['email']."
 
 
 
"; return $output; } public static function get($code,$vars,$to = '',$from = '',$from_name = '',$captcha=false) { $model = new Emails(); $data = $model->findOne(['code'=>$code]); //$letter = $data['value']; $subject = $data['name']; if ($data['value'] == '') { return false; } if ($from == '') { $from = $data['from_email']; } if ($from_name == '') { $from_name = $data['from_name']; } /*if ($to == '') { $to = $data['to_email']; }*/ if ($data['to_email'] != '') { $to = $data['to_email']; } $letter = Emails::header().$data['value']; if ($code == 'cart_client') { $subject = "Заказ №".$vars['order_numer']." - ".date("d.m.Y").", ".date("H:i"); } else if ($code == 'cart_manager') { $subject = $vars['name']." (№".$vars['order_numer'].") - ".date("d.m.Y").", ".date("H:i"); } foreach ($vars as $kk=>$vv) { $str = '{'.$kk.'}'; $letter = str_replace($str,$vv,$letter); } $letter = str_replace(array("../../../"),"http://".$_SERVER['SERVER_NAME']."/",$letter); $mail = new \PHPMailer(); $mail->CharSet = "UTF-8"; $mail->From = $from; $mail->FromName =$from_name; $mail->Subject =$subject; $mail->MsgHTML($letter); $fp = fopen("Emails_log.txt","w"); fwrite($fp, $letter); fclose($fp); $mail->AddAddress($to); // $splitEmails = explode(",",$to); // if (count($splitEmails)>1){ // foreach ($splitEmails as $sEmail){ // $mail->AddAddress($sEmail); // // } // // } else { // $mail->AddAddress($to); // } if ($captcha){ if (md5($vars['code'])==$_SESSION['captcha_keystring']) { if ($mail->Send()){ $mail->ClearAddresses(); $_SESSION['sendC'] = 1; return true; } else return false; } else { $_SESSION['error_data'] = $vars; $_SESSION['sendC'] = 2; return false; } } else { if ($mail->Send()){ $mail->ClearAddresses(); $_SESSION['sendC'] = 1; return true; } else return false; } } }