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>"; }
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() );*/ }
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); } } }