예제 #1
0
 public function actionTest2()
 {
     /*
     нужно сделать сарипт на WT который будет отправлять рассылку в очередь основываясь на таблице
        - Нужно делать 2 версии для узбекистана и остальные
        - Если в рассылки меньше 4 предложений то не отправлять такое предложение
     */
     $logTable = SubscribeTable::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("date2=:date")->setParams(array(":date" => date("Y-m-d")))->setLimit(1)->setCache(0));
     if (sizeof($logTable) > 0) {
         Yii::import("modules.console.components.*");
         Yii::import("modules.console.controllers.*");
         $worldCount = 0;
         $uzCount = 0;
         $itemCount = 0;
         $item = $logTable[0];
         $sql = "SELECT count(id) as count_ FROM catalog_tours WHERE active=1";
         if ($item->category_id->id > 0) {
             $sql .= " AND category_id='" . $item->category_id->id . "'";
         }
         $worldCountArr = CatalogTours::sql($sql . " AND country_id='1' ");
         if (sizeof($worldCountArr) > 0) {
             $worldCount = $worldCountArr[0]["count_"];
         }
         if ($item->country_id->id > 1) {
             $uzCountArr = CatalogTours::sql($sql . " AND country_id='" . $item->country_id->id . "'");
             if (sizeof($uzCountArr) > 0) {
                 $uzCount = $uzCountArr[0]["count_"];
             }
         } else {
             $uzCountArr = CatalogTours::sql($sql . " AND country_id!=1 ");
             if (sizeof($uzCountArr) > 0) {
                 $uzCount = $uzCountArr[0]["count_"];
             }
         }
         $class = new SubscribeTableController(rand(100, 999));
         echo $logTable[0]->id . "*";
         // отпраляем рассылку для мира
         if ($worldCount > 4) {
             $message = $class->actionShow($logTable[0]->id, "", true);
             $usersGroup = SubscribeTableUsers::sql("SELECT id FROM subscribe_table_users WHERE id in( SELECT rightId FROM cat_relations WHERE leftClass='SubscribeTable' AND leftId='" . $logTable[0]->id . "' AND rightClass='SubscribeTableUsers' )");
             foreach ($usersGroup as $key => $value) {
                 $usersGroupsList[] = $value["id"];
             }
             if (!empty($usersGroupsList) && sizeof($usersGroupsList) > 0) {
                 if (SubscribesUzHelper::sendEmails($usersGroupsList, $logTable[0]->name, $message, 3)) {
                     echo "Send in World";
                 } else {
                     echo "Have the error, wen send in World";
                 }
             }
         }
         echo "<hr/>";
         if ($uzCount > 4 && $logTable[0]->country_id->id != 1) {
             echo $class->actionShow($logTable[0]->id, "uzb", true);
         }
         //                    echo $message."*";
         //if( SubscribesUzHelper::sendEmails( array( 7, 35, 41 ), $subject, $message, 3 ) )echo "Ура отправил";
         //                                                                        else echo "Что-то пошло не так";
     } else {
         echo sizeof($logTable) . "*";
     }
     //echo "</body></html>";
 }
예제 #2
0
 static function mailto($subject, $from = "", $to, $msg, $copy = '', $template = '', $replaceArray = array(), $toName = "", $fromName = "")
 {
     if (empty($template)) {
         $template = 'main.tpl';
     }
     if (empty($from)) {
         $from = Yii::app()->params['adminEmail'];
     }
     if (empty($from)) {
         $from = "*****@*****.**";
     }
     if (empty($fromName)) {
         $fromName = "World-Travel.uz";
     }
     if (empty($toName)) {
         $toName = substr($to, 0, strpos($to, "@"));
     }
     /*        $header="Date: ".date("D, j M Y G:i:s")." +0500\r\n";
             $header.="From: =?UTF-8?B?".base64_encode( $fromName )."?= <".$from.">\r\n";
             $header.="X-Mailer: The Bat! (v3.99.3) Professional\r\n";
             $header.="Reply-To: =?UTF-8?B?".base64_encode( $fromName )."?= <".$from.">\r\n";
             $header.="X-Priority: 3 (Normal)\r\n";
             $header.="Message-ID: <172562218.".date("YmjHis")."@".Yii::app()->params["mail-host"].">\r\n";
             $header.="To: =?UTF-8?B?".base64_encode( $toName )."?= <".$to.">\r\n";
             $header.="Subject: =?UTF-8?B?".base64_encode( $subject )."?=\r\n";
             $header.="MIME-Version: 1.0\r\n";
             $header.="Content-Type: text/html; charset=UTF-8\r\n";
             $header.="Content-Transfer-Encoding: base64\r\n";
     
             if( $template && file_exists( "f/mails_template/".$template) )
             {
                 $fullUrl = "f/mails_template/".$template;
                 $file = fopen( $fullUrl, "r+" );
                 $templateText = fread( $file, filesize( $fullUrl ) );
                 fclose( $file );
                 $msg = str_replace( "@cotent_text@", $msg, $templateText );
             }*/
     $replaceArray["src='f/"] = Yii::app()->params["baseUrl"] . "f/";
     if (sizeof($replaceArray) > 0) {
         foreach ($replaceArray as $key => $value) {
             $msg = str_replace($key, $value, $msg);
         }
     }
     SubscribesUzHelper::sendEmail($toName, $to, $subject, "<div style=\"background: #e4ddcd;padding: 0px 10px 10px 10px;overflow: hidden;\">" . $msg . "</div>", 2, 1);
     /*$text=base64_encode( $msg );
     
     
             $smtp_conn = fsockopen("92.63.109.197", 25,$errno, $errstr, 10);
             $data = SiteHelper::get_data($smtp_conn);
             $log = $data." | ";
     
     //        echo "EHLO ".Yii::app()->params["mail-host"]."\r\n";
             fputs($smtp_conn,"EHLO ".Yii::app()->params["mail-host"]."\r\n");
             $data = SiteHelper::get_data($smtp_conn);
             $log .= $data." | ";
     
     //        echo "AUTH LOGIN\r\n";
             fputs($smtp_conn,"AUTH LOGIN\r\n");
             $data = SiteHelper::get_data($smtp_conn);
             $log .= $data." | ";
     
     //        echo base64_encode( Yii::app()->params["mail-log"] )."\r\n";
             fputs($smtp_conn,base64_encode( Yii::app()->params["mail-log"] )."\r\n");
             $data = SiteHelper::get_data($smtp_conn);
             $log .= $data." | ";
     
     //        echo base64_encode( Yii::app()->params["mail-pass"] )."\r\n";
             fputs($smtp_conn,base64_encode( Yii::app()->params["mail-pass"] )."\r\n");
             $data = SiteHelper::get_data($smtp_conn);
             $log .= $data." | ";
     
             fputs($smtp_conn,"MAIL FROM:".$from."\r\n");
             $data = SiteHelper::get_data($smtp_conn);
             $log .= $data." | ";
     
             fputs($smtp_conn,"RCPT TO:".$to."\r\n");
             $data = SiteHelper::get_data($smtp_conn);
             $log .= $data." | ";
     
             fputs($smtp_conn,"DATA\r\n");
             $data = SiteHelper::get_data($smtp_conn);
             $log .= $data." | ";
     
             fputs($smtp_conn,$header."\r\n".$text."\r\n.\r\n");
             $data = SiteHelper::get_data($smtp_conn);
             $log .= $data." | ";
     
             fputs($smtp_conn,"QUIT\r\n");
             $data = SiteHelper::get_data($smtp_conn);
             $log .= $data." | ";
     
             $newLog = new CatLog();
             $newLog->email = $to;
             $newLog->del = 1;
             $newLog->date2 = Date( "d.m.Y H:i" );
             $newLog->description = $log;
             $newLog->action = "subscribe";
             if( !$newLog->save() )
                 print_r( $newLog->getErrors() );*/
 }
예제 #3
0
 static function onAddFirm($eventArray)
 {
     if (empty($eventArray["event"])) {
         return;
     }
     $firm = $eventArray["event"]->sender;
     $params = $eventArray["params"];
     if ($firm->id > 0) {
         /*
                Типы рекомендаций:
                  - по заполнению
                  -  - заполненные поля
                  -  - по объему заполненности полей
                  - -  Обязательно по цене`
                  -  - наличие картинок
         
                  -  добавьте также туры для других стран ( а вы знали что самым популярным местом для туризма в Малайзию )
         */
         $itemParam = array();
         $itemParam["recomFields"] = array("name", "description");
         $itemParam["recomSizeFields"] = array("description" => 500);
         $itemParam["image_count"] = 0;
         if (!empty($params["status"]) && $params["status"] == "reminder") {
             $itemParam["check_visible"] = true;
         }
         $reccomen = self::objectCheck($firm, $itemParam);
         $reccomenAdd = "";
         // Если нет рекомендации то написать что они могут добавить тур акцию и т.д.
         if (empty($reccomen) || strlen($reccomen) < 200) {
             $countTours = CatalogTours::count(DBQueryParamsClass::CreateParams()->setConditions("firm_id=:fid")->setParams(array(":fid" => $firm->id)));
             $countFirmItems = CatalogFirmsItems::count(DBQueryParamsClass::CreateParams()->setConditions("firm_id=:fid")->setParams(array(":fid" => $firm->id)));
             $countFirmService = CatalogFirmsService::count(DBQueryParamsClass::CreateParams()->setConditions("firm_id=:fid")->setParams(array(":fid" => $firm->id)));
             $countFirmBanners = CatalogFirmsBanners::count(DBQueryParamsClass::CreateParams()->setConditions("firm_id=:fid")->setParams(array(":fid" => $firm->id)));
             $reccomenAdd = "<br/><h2 style='text-align: center'>Вы можете добавить услуги Вашей компании</h2>";
             $reccomenAdd .= "<ul>";
             if ($countTours == 0) {
                 $reccomenAdd .= "<li>Добавляем ТУРЫ фирмы</li>";
             }
             if ($countFirmItems == 0) {
                 $reccomenAdd .= "<li>Добавляем \"АКЦИИ\" и \"СКИДКИ\" компании</li>";
             }
             if ($countFirmService == 0) {
                 $reccomenAdd .= "<li>Добавляем \"ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ\" компании</li>";
             }
             if ($countFirmBanners == 0) {
                 $reccomenAdd .= "<li>Добавляем \"БЕСПЛАТНЫЙ БАННЕР\" компании</li>";
             }
             $reccomenAdd .= "\n                                </ul>\n                                <br/>\n                                <a href=\"" . SiteHelper::createUrl("/site/addFirm") . "\">Инструкция: \"Как правильно добавить фирму на сайт\".</a>";
         }
         if (empty($params["status"])) {
             $subject = !empty($reccomen) ? "Ваша фирма - " . $firm->name . " успешно сохранена, но ..." : "Поздравляем Ваша фирма - " . $firm->name . " успешно сохранена";
             $message = "<h2 style=\"margin: 5px 0px 15px 0px;text-align: center\">Ваша фирма - <b>" . $firm->name . "</b> успешно сохранена</h2>";
             $message .= !empty($reccomen) ? "Ваша фирма - <b>" . $firm->name . "</b> успешно сохранена, но мы советуем Вам сделать ее описание лучше. " : "Поздравляем Ваша фирма - <b>" . $firm->name . "</b> успешно сохранена";
         } else {
             if ($params["status"] == "reminder") {
                 $subject = "Объявление Вашей фирмы - " . $firm->name . " можно сделать лучше";
                 $message = "<h2 style=\"margin: 5px 0px 15px 0px;text-align: center\">Напоминаем, что объявление Вашей фирмы - " . $firm->name . " можно сделать лучше</h2>";
             }
         }
         $message .= "<br/>Для редактирования описания фирмы, необходимо перейти в раздел <a href=\"" . SiteHelper::createUrl("/user/firms") . "\">Мои фирмы</a>.";
         if (!empty($reccomen)) {
             $message .= "<br/><br/>Мы проверили введенные Вам данные и подготовили для Вас рекомендации по улучшению Вашей фирмы." . $reccomen;
         }
         if (!empty($reccomenAdd)) {
             $message .= "<br/>" . $reccomenAdd;
         }
         // Если это напоминание и нет рекомендаци то ничего не отправляем
         if (empty($params["status"]) || !empty($reccomen) || !empty($reccomenAdd)) {
             $res = SubscribesUzHelper::sendEmail($firm->user_id->name, $firm->user_id->email, $subject, "<div style=\"background: #e4ddcd;padding: 0px 10px 10px 10px;overflow: hidden;\">" . $message . "<br/></div>", 2, 1);
         }
     }
 }