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;
}
}
}