Beispiel #1
0
 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();
        }
    }