public function getResudie($id_type, $date1, $date2) { $query = Order::find()->where(['type_ticket' => $id_type]); $query = $query->andWhere(['<=', 'date', $date1]); $query = $query->andWhere(['>=', 'date', $date2]); $orders = $query->all(); foreach ($orders as $order) { $id_order[] = $order->id; } if (isset($id_order) and count($id_order) > 0) { $RelOrderPeople = RelOrderPeople::find()->where(['id_order' => $id_order]); $r = $RelOrderPeople->count(); } else { $r = 0; } switch ($id_type) { case 1: $r = $this->individual - $r; break; case 2: $r = $this->sertificate - $r; break; case 3: $r = $this->shool_vizit - $r; break; case 4: $r = $this->meropriyatie - $r; break; case 5: $r = $this->corpototive_vizit - $r; break; case 6: $r = $this->programm - $r; break; case 7: $r = $this->abonement - $r; break; } return $r; }
function actionGetKidsParents() { $mentor = Mentor::findOne(['token' => $this->get["token"]]); $kids = Kids::findOne(['qr' => $this->get["qr"]]); $parents = array(); $r = array(); if (!$mentor) { $r = $this->setError(205); } else { if (!$kids) { $kidRelOrderPeople = RelOrderPeople::findOne(["qr" => $this->get["qr"]]); if ($kidRelOrderPeople) { $type_people = $kidRelOrderPeople->type_people; if ($type_people == 2) { $kids = Kids::findOne(["id" => $kidRelOrderPeople->id_people]); $RelOrderPeople = RelOrderPeople::find()->where("id_people='" . $kids->id . "' AND type_people=2 ")->asArray()->all(); if ($RelOrderPeople) { foreach ($RelOrderPeople as $val) { $mIDOrder = $val["id_order"]; $mRelOrderPeople = RelOrderPeople::find()->where("id_order='" . $mIDOrder . "' AND type_people=1 ")->asArray()->all(); if ($mRelOrderPeople) { $i = 0; foreach ($mRelOrderPeople as $relVal) { $mIDParent = $relVal["id_people"]; $mParent = Parents::findOne(['id' => $mIDParent]); if ($mParent) { $parents[$i]["name"] = $mParent->name; $parents[$i]["surname"] = $mParent->surname; $parents[$i]["father_name"] = $mParent->father_name; $parents[$i]["phone_number"] = $mParent->phone; $parents[$i]["email"] = $mParent->email; } $i++; } } } } if ($parents) { $r["status"] = "ok"; $r["parent_list"] = $parents; } else { $r = $this->setError(205); } } elseif ($type_people == 1) { $r = $this->setError(301); } else { $r = $this->setError(301); } } else { $r = $this->setError(301); } } else { $RelOrderPeople = RelOrderPeople::find()->where("id_people='" . $kids->id . "' AND type_people=2 ")->asArray()->all(); if ($RelOrderPeople) { foreach ($RelOrderPeople as $val) { $mIDOrder = $val["id_order"]; $mRelOrderPeople = RelOrderPeople::find()->where("id_order='" . $mIDOrder . "' AND type_people=1 ")->asArray()->all(); if ($mRelOrderPeople) { $i = 0; foreach ($mRelOrderPeople as $relVal) { $mIDParent = $relVal["id_people"]; $mParent = Parents::findOne(['id' => $mIDParent]); if ($mParent) { $parents[$i]["name"] = $mParent->name; $parents[$i]["surname"] = $mParent->surname; $parents[$i]["father_name"] = $mParent->father_name; $parents[$i]["phone_number"] = $mParent->phone; $parents[$i]["email"] = $mParent->email; } $i++; } } } } if ($parents) { $r["status"] = "ok"; $r["parent_list"] = $parents; } else { $r = $this->setError(205); } } } return json_encode($r); }
public function SendMail($pdf_array, $content, $order_id) { $user = Yii::$app->user; $order = Order::findOne($order_id); if (!$order->sendMail) { $mRelOrderPeople = RelOrderPeople::find()->where(["id_order" => $order_id])->all(); $user = User::findOne($user->id); $email = $user->email; $d = new mPDF('utf-8', 'A4', '8', '', 0, 0, 0, 0, 0, 0); $d->writeHTML($content); $d->charset_in = 'utf-8'; $d->list_indent_first_level = 0; $d->WriteHTML($html, 2); $content = $d->Output('Все_Билеты.pdf', 'F'); $content = chunk_split(base64_encode($content)); $new_content = array(); $new_filename = array(); $new_content[] = $content; $new_filename[] = 'Все_Билеты.pdf'; /*$j = 0; foreach($mRelOrderPeople as $mRelOrderPeopleVal) { $d= new mPDF('utf-8', 'A4', '8', '', 0, 0, 0, 0, 0, 0); $mContent = $pdf_array[j]; $d->writeHTML($mContent); $d->charset_in = 'utf-8'; $d->list_indent_first_level = 0; $d->WriteHTML($html, 2); $new_content_val = ""; $mFullName = ""; if ($mRelOrderPeopleVal->type_people == 2) { $people = Kids::findOne($mRelOrderPeopleVal->id_people); $mFullName = $people->surname.'_'.$people->name.'_'.$people->father_name.'.pdf'; } elseif ($mRelOrderPeopleVal->type_people == 1) { $people = Parents::findOne($mRelOrderPeopleVal->id_people); $mFullName = $people->surname.'_'.$people->name.'_'.$people->father_name.'.pdf'; } $mFullName = 'Билет_'.$j.'.pdf'; $new_filename[] = $mFullName; $new_content_val = $d->Output($mFullName, 'F'); $new_content[] = chunk_split(base64_encode($new_content_val)); $j++; }*/ $i = 0; foreach ($pdf_array as $pdf_content) { $d = new mPDF('utf-8', 'A4', '8', '', 0, 0, 0, 0, 0, 0); $d->writeHTML($pdf_content); $d->charset_in = 'utf-8'; $d->list_indent_first_level = 0; $d->WriteHTML($html, 2); $new_content_val = $d->Output('tiket' . $i . '.pdf', 'F'); $new_filename[] = 'tiket' . $i . '.pdf'; $new_content[] = chunk_split(base64_encode($new_content_val)); $i++; } $mailto = $email; $from_name = 'Билеты Мастерславль'; $from_mail = '*****@*****.**'; $replyto = $email; $uid = md5(uniqid(time())); $subject = 'Билеты Мастерславль'; $message = 'Билеты Мастерславль'; $filename = 'tikets.pdf'; $message = 'Детский город Мастерславль рад приветствовать Вас! Данное письмо является подтверждением Вашего путешествия в детский город мастеров. Распечатанные билеты необходимо предъявить при входе в Мастерславль. Ждем Вас по адресу: Пресненская набережная, д. 4, стр. 1, станция метро "Выставочная”. Как найти Мастерславль, Вы можете ознакомиться по ссылке - http://www.masterslavl.ru/news/kak-nayti-masterslavl/ При отправке электронного билета на печать необходимо соблюдать следующее требование: не менять настройки печати (качество печати, масштаб страницы и размер изображения), предустановленные по умолчанию. В противном случае билет будет считаться недействительным. Спасибо, что Вы с нами! Управа г. Мастерславля'; $header = "From: " . $from_name . " <" . $from_mail . ">\r\n"; $header .= "Reply-To: " . $replyto . "\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-Type: multipart/mixed; boundary=\"" . $uid . "\"\r\n\r\n"; $header .= "This is a multi-part message in MIME format.\r\n"; $header .= "--" . $uid . "\r\n"; $header .= "Content-type:text/plain; charset=utf-8\r\n"; $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n"; $header .= $message . "\r\n\r\n"; $header .= "--" . $uid . "\r\n"; $k = 0; foreach ($new_content as $new_content_element) { $header .= "Content-Type: application/pdf; name=\"" . $new_filename[k] . "\"\r\n"; $header .= "Content-Transfer-Encoding: base64\r\n"; $header .= "Content-Disposition: attachment; filename=\"" . $new_filename[k] . "\"\r\n\r\n"; $header .= $new_content_element . "\r\n\r\n"; $k++; } $header .= "--" . $uid . "--"; $is_sent = @mail($mailto, $subject, "", $header); $mMessage = Yii::$app->mailer->compose(); $mMessage->setFrom(array('*****@*****.**' => 'Город Мастерславль'))->setTo($email)->setSubject($subject)->setTextBody($message); foreach ($new_filename as $new_filename_element) { $mMessage->attach($new_filename_element, ['fileName' => $new_filename_element, 'contentType' => 'application/pdf']); } $mMessage->send(); $order->sendMail = 1; $order->save(); } }