コード例 #1
0
ファイル: tours_page.php プロジェクト: bogiesoft/yii-travel
         <?php 
 // Категории
 $listCategory = CatalogToursCategory::sql("SELECT id, owner FROM `catalog_tours_category` WHERE owner>0 AND id IN( SELECT category_id FROM catalog_tours WHERE firm_id=" . $item->id . " AND del=0  AND active=1 )");
 $reCategory = array();
 $reCategory2 = array();
 // Раскладываем по OWNER-у
 foreach ($listCategory as $category) {
     $reCategory[$category["owner"]][] = $category["id"];
 }
 // Подменяем ID на обект и подсчитываем количество
 foreach ($reCategory as $category => $value) {
     $ownerCategoryModel = CatalogToursCategory::fetch($category);
     $array = array();
     foreach ($value as $cid) {
         if ($cid > 0) {
             $obj = CatalogToursCategory::fetch($cid);
             $array[] = $obj;
         }
     }
     $reCategory2[$ownerCategoryModel->name] = $array;
 }
 // Странны
 $listCountry = CatalogCountry::sql("SELECT id FROM `catalog_country` WHERE id IN( SELECT country_id FROM catalog_tours WHERE firm_id=" . $item->id . " AND del=0 AND active=1 )");
 $reCountry2 = array();
 // Подменяем ID на обект и подсчитываем количество
 foreach ($listCountry as $id => $keys) {
     if ($keys["id"] > 0) {
         $obj = CatalogCountry::fetch($keys["id"]);
         if ($obj->id > 0) {
             $reCountry2[] = $obj;
         }
コード例 #2
0
ファイル: findForm.php プロジェクト: bogiesoft/yii-travel
echo Yii::t("page", "Категория");
?>
: <select name="CatalogTours[category_id]">
                    <option value=""> - <?php 
echo Yii::t("page", "выберите категорию");
?>
 - </option>
                    <?php 
foreach (CatalogToursCategory::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("owner=0")->setOrderBy("name")->setLimit(-1)) as $category) {
    ?>
                        <optgroup label="<?php 
    echo $category->name;
    ?>
">
                            <?php 
    foreach (CatalogToursCategory::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("owner=:owner")->setParams(array(":owner" => $category->id))->setOrderBy("name")->setLimit(-1)) as $category2) {
        ?>
                                <option value="<?php 
        echo $category2->id;
        ?>
"><?php 
        echo $category2->name;
        ?>
</option>
                            <?php 
    }
    ?>
                        </optgroup>
                    <?php 
}
?>
コード例 #3
0
ファイル: error.php プロジェクト: bogiesoft/yii-travel
    ?>
"><?php 
    echo $cItem->name;
    ?>
</option>
                        <?php 
}
?>
                    </select>
                </div>
                <div class="FBlock">
                    категории отдыха:<br/>
                    <select name="CatalogTours[category_id]">
                        <option value="">выберите категорию</option>
                        <?php 
foreach (CatalogToursCategory::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("EXISTS(SELECT id FROM catalog_tours WHERE category_id=catalog_tours_category_as.id ) AND owner>0")->setLimit(-1)->setOrderBy("name")) as $cItem) {
    ?>
                            <option value="<?php 
    echo $cItem->id;
    ?>
"><?php 
    echo $cItem->name;
    ?>
</option>
                        <?php 
}
?>
                        <option value="">Еще категория</option>
                        <option value="">Третья категория</option>
                    </select>
                </div>
コード例 #4
0
ファイル: description.php プロジェクト: bogiesoft/yii-travel
<?php

$this->widget('addressLineWidget', array('links' => array(Yii::t("travelAgency", "Туристические агентства") . $item->country_id->name_2 => SiteHelper::createUrl("/travelAgency"), $item->name)));
$listComments = CatalogFirmsComments::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("firm_id=:firm_id AND active=1")->setParams(array(":firm_id" => $item->id))->setOrderBy("id DESC")->setLimit(-1)->setCache(0));
$listService = CatalogFirmsService::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("firm_id=:firm_id AND active=1")->setParams(array(":firm_id" => $item->id))->setLimit(-1)->setCache(0));
$toursCondition = "firm_id=:firm_id AND active=1";
$tourParams = array(":firm_id" => $item->id);
$country = Yii::app()->request->getParam("country", "");
if (!empty($country)) {
    $countryModel = CatalogCountry::fetchBySlug($country);
} else {
    $countryModel = new CatalogCountry();
}
$category = Yii::app()->request->getParam("category", "");
if (!empty($category)) {
    $categoryModel = CatalogToursCategory::fetchBySlug($category);
} else {
    $categoryModel = new CatalogToursCategory();
}
if ($countryModel->id > 0) {
    $toursCondition .= " AND country_id='" . $countryModel->id . "'";
}
if ($categoryModel->id > 0) {
    $toursCondition .= " AND category_id='" . $categoryModel->id . "'";
}
$listTours = CatalogTours::fetchAll(DBQueryParamsClass::CreateParams()->setConditions($toursCondition)->setParams($tourParams)->setOrderBy("pos DESC")->setLimit(-1)->setCache(0));
$listItems = CatalogFirmsItems::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("firm_id=:firm_id AND active=1")->setParams(array(":firm_id" => $item->id))->setLimit(-1)->setCache(0));
?>
<div id="InnerText" class="innerPage">
    <br/>
    <?php 
コード例 #5
0
 public function actionShow($idIn = 0, $locatIn = "", $return = FALSE)
 {
     $id = (int) Yii::app()->request->getParam("id", 0);
     if ($id == 0 && $idIn > 0) {
         $id = $idIn;
     }
     $locat = Yii::app()->request->getParam("location", "");
     if (empty($locat) && !empty($locatIn)) {
         $locat = $locatIn;
     }
     /*
     График:
         По странам ( сортировка по цене ) 31
         По категориям ( сортировка по цене ) 30
         По странам ( сортировка по просмотрам)
         По категориям ( сортировка по просмотрам )
     
        Определям кандидата по очереди сначала города потом категории
            Выбираем по сортировке первую страну
            Проверяем по очередньсти
     
        Формируем письмо
            Заголовок ( зависит от того по стране или категории + от сортировки )
            указываем группу подписциков
            указываем группу рассылоку
     
        И полетели
     */
     $cout = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
         <meta http-equiv="Cache-Control" content="public"/>
         <meta http-equiv="Cache-Control" content="max-age=86400, must-revalidate"/>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     </head>
     <body>';
     $logTable = SubscribeTable::fetch($id);
     if ($logTable->id > 0) {
         if ($locat == "uzb" && $logTable->country_id->id == 1) {
             return "";
         }
         $countryId = 0;
         $categoryId = 0;
         if ($logTable->country_id->id > 0) {
             $countryId = $logTable->country_id->id;
             $countryModel = CatalogCountry::fetch($countryId);
         }
         if ($logTable->category_id->id > 0) {
             $categoryId = $logTable->category_id->id;
             $categoryModel = CatalogToursCategory::fetch($categoryId);
         }
         if ($countryId > 0 || $categoryId > 0) {
             $info = [];
             if ($countryId > 0) {
                 $toursMinPrice = CatalogTours::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("country_id=:cid AND price>0 AND active=1")->setParams([":cid" => $countryModel->id])->setOrderBy("price")->setLimit(1)->setCache(0));
                 $tours = CatalogTours::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("country_id=:cid AND id !=:id AND active=1")->setParams([":cid" => $countryModel->id, ":id" => $toursMinPrice[0]->id])->setLimit(7)->setOrderBy("rating DESC, price"));
                 $tours[] = $toursMinPrice[0];
                 $info = CatalogInfo::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("country_id=:cid")->setParams([":cid" => $countryModel->id])->setLimit(4)->setOrderBy("id DESC"));
                 $subject = $countryModel->title . ", от " . $tours[sizeof($tours) - 1]->price . ($tours[sizeof($tours) - 1]->currency_id->id ? $tours[sizeof($tours) - 1]->currency_id->title : "\$");
             } else {
                 $params = [":cid" => $categoryModel->id];
                 $condition = "category_id=:cid";
                 if ($locat == "uzb") {
                     echo $locat . "==uzb<br/>";
                     $params = array_merge($params, [":country" => 1]);
                     $condition .= " AND country_id!=:country";
                 } else {
                     $params = array_merge($params, [":country" => 1]);
                     $condition .= " AND country_id=:country";
                 }
                 echo $condition . "*";
                 $toursMinPrice = CatalogTours::fetchAll(DBQueryParamsClass::CreateParams()->setConditions($condition)->setParams($params)->setOrderBy("price")->setLimit(1)->setCache(0));
                 $tours = CatalogTours::fetchAll(DBQueryParamsClass::CreateParams()->setConditions($condition . " AND id !=:id")->setParams(array_merge($params, [":id" => $toursMinPrice[0]->id]))->setLimit(7)->setOrderBy("rating DESC, price"));
                 $tours[] = $toursMinPrice[0];
                 //$info = CatalogInfo::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("country_id=:cid")->setParams([":cid" => $categoryModel->id])->setLimit(4)->setOrderBy("id DESC"));
                 if ($tours[sizeof($tours) - 1]->price > 0) {
                     $subject = "Тур - " . $categoryModel->name . ", от " . $tours[sizeof($tours) - 1]->price . ($tours[sizeof($tours) - 1]->currency_id->id ? $tours[sizeof($tours) - 1]->currency_id->title : "\$");
                 } else {
                     $subject = "Тур - " . $categoryModel->name;
                 }
             }
             $message = "Предлагаем Вашему вниманию интересную подборку с нашего портала <a href=\"http://www.world-travel.uz\">World-Travel.uz</a>.<br/><br/><h1>" . $subject . "</h1><br/><table>";
             $n = 0;
             $reserveNum = 0;
             $reserveList = [];
             foreach ($tours as $tour) {
                 if ($tour->id == 0) {
                     continue;
                 }
                 $image = ImageHelper::getImages($tour, 1);
                 // Если картинки для тура нету, то берем её из резерва catalog_image_reserve
                 if (sizeof($image) == 0) {
                     if (sizeof($reserveList) == 0) {
                         $reserveList = CatalogImageReserve::findByAttributes(["country_id" => $tour->country_id->id]);
                     }
                     if (sizeof($reserveList) > 0) {
                         $new = new CatGallery();
                         if (!empty($reserveList[$reserveNum])) {
                             $new->image = $reserveList[$reserveNum]->image;
                         } else {
                             if ($tour->country_id->banner) {
                                 $new->image = $tour->country_id->banner;
                             } else {
                                 $new->image = $tour->country_id->image;
                             }
                         }
                         $image[] = $new;
                         $reserveNum++;
                     }
                 }
                 if ($n == 0 || $n == 2 || $n == 4 || $n == 6) {
                     $message .= "<tr>";
                 }
                 $message .= "<td style=\"width:50%;text-align:center;vertical-align: top;background-color: #EEE9DD;padding: 10px;border: 1px solid #fff;\">\n                            <table width=\"100%\">\n                                <tr>\n                                    <td style=\"background:#E4DDCD;font-size:13px;text-align: right;padding-right: 5px;vertical-align: middle;\"><b>" . $tour->name . "</b></td>";
                 if ($tour->price > 0) {
                     $message .= "<td style=\"background:#E4DDCD;vertical-align: top;line-height: 14px;text-align: center;\"><span style=\"font-size:10px;\">от</span><br/><b style=\"color:#ff4f00;font-size:24px;\"> " . $tour->price . ($tour->currency_id->id ? $tour->currency_id->title : "\$") . "</b><br/></td>";
                 }
                 $message .= "</tr>\n                            </table>";
                 if (sizeof($image) > 0) {
                     $message .= "<div style=\"max-height: 134px;overflow: hidden;\"><img src=\"" . (SiteHelper::createUrl("/") . ImageHelper::getImage($image[0]->image, 2)) . "\" style=\"max-width:200px\"/></div>";
                 }
                 //if( $tour->included )$message .= "<td>Включенно: ".$tour->included."</td></tr>";
                 if ($tour->duration) {
                     $message .= $tour->duration . "<br/>";
                 }
                 if ($tour->category_id->id > 0) {
                     $message .= "Тур - " . $tour->category_id->name2 . "<br/>";
                 }
                 $message .= "<div><a style=\"margin-top: 11px;background:#ff4f00;color:#fff;font-weight: bold;display: inline-block;padding: 5px 10px;border-radius: 4px;\" href=\"" . SiteHelper::createUrl("/tours/description") . "/" . $tour->slug . ".html\">Заказать</a></div></td>";
                 //
                 if ($n == 1 || $n == 3 || $n == 5 || $n == 7) {
                     $message .= "</tr>";
                 }
                 $n++;
             }
             $message .= '</table></div><br/>';
             if (sizeof($info) > 0) {
                 $message .= '<div style="background: #e4ddcd;padding: 0px 10px 10px 10px;overflow: hidden;"><table>';
                 foreach ($info as $item) {
                     $message .= "<tr><td colspan=\"2\"><h3 style=\"margin:10px 0px 5px 0px;\">" . $item->name . "</h3></td></tr>\n                                     <tr>\n                                        <td colspan=\"2\" style=\"border-bottom:1px solid #F4F1EA;padding-bottom:10px;\">\n                                            <table width=\"100%\">\n                                                <tr>\n                                                    <td><img src=\"" . SiteHelper::createUrl("/") . ImageHelper::getImage($item->image, 2) . "\" style=\"padding-right: 10px;\" alt=\"" . $item->name . "\" /></td>\n                                                    <td style=\"text-align: justify;vertical-align:top\">" . SiteHelper::getSubTextOnWorld($item->description, 350) . "<br/><div align=\"right\"><a href=\"" . SiteHelper::createUrl("/touristInfo/description") . $item->slug . ".html\">читайте подробнее >>></a></div></td>\n                                                </tr>\n                                            </table>\n                                        </td>\n                                     </tr>";
                     //
                 }
                 $message .= "</table></div>";
             }
             $cout .= $message . "</body></html>";
             //if( SubscribesUzHelper::sendEmails( array( 7, 35, 41 ), $subject, $message, 3 ) )echo "Ура отправил";
             //                                                                        else echo "Что-то пошло не так";
         }
     }
     if ($return) {
         return $cout;
     } else {
         echo $cout;
     }
 }