Example #1
0
function map($s) {
	
	$s->assign("lat",LAT_YOLA);
	$s->assign("lon",LON_YOLA);
	$s->assign("YANDEX_KEY",YANDEX_KEY);
	
	$ids = '';	
	$rooms = '';
	$prices = '';
	$prices_m = '';
	$areas = '';
	$addresses = '';
	$storeys = '';
	$dates = '';
	$types = '';
	$lons = '';
	$lats = '';
	$photos = '';
	$icons = '';
	if (!isset($_REQUEST['act']) || $_REQUEST['act']=='sales') {
		$status=REALTY_STATUS_SALE;
	}
	else {
		$status=REALTY_STATUS_RENT;
	}
	$res = _filter($status);
	
	$scale = (!isset($_GET['f_regions'])) ? 13 : 9;
	
	$add_sql = "f.updated_on>'".getNextDate(date('Y-m-d'),-30)."' AND t.status=".REALTY_STATUS_ACTIVE.' AND '.$res['sql'];
	$db_res = Flat::getFullListLink($add_sql);
	while ($row = $db_res->fetchRow()) {
		$ids .= $row['id'].',';
		$rooms .= $row['rooms'].',';
		$prices .= "'".number_format($row['price'],0)."',";
		$prices_m .= "'".number_format($row['price_m'],0)."',";
		$areas .= "'".$row['total_area']."',";
		$addr = "{$row['street']}, {$row['tnum']}";
		$addresses .= "'".$addr."',";
		
		$date = explode(' ',$row['updated_on']);
		$ds = explode('-',$date[0]);
		$date = $ds[2].'.'.$ds[1].'.'.$ds[0];		
		$dates .= "'".$date."',";
		$storeys .= "'".$row['storey']."/".$row['storeys']."',";
		$types .= "'".Tenement::$TYPE[$row['ttype']]."',";		
		$lons .= "'".$row['lon']."',";
		$lats .= "'".$row['lat']."',";
		$photo = ($row['photo_tenement']!='') ? $row['tenement_id']."/".$row['photo_tenement']."_prev" : '';
		$photos .= "'".$photo."',";
		if ($row['price_m']<30000) {
			$color = 'a';				
		}
		else if ($row['price_m']<40000) {
			$color = 'b';				
		}
		else {
			$color = 'c';	
		}
		$ri = ($row['rooms']<4) ? $row['rooms'] : 3;
		$icons .= "'".$ri."k".$color."',";
	}
	
	$s->assign("ids",$ids);
	$s->assign("rooms",$rooms);
	$s->assign("prices",$prices);
	$s->assign("prices_m",$prices_m);
	$s->assign("areas",$areas);
	$s->assign("addresses",$addresses);
	$s->assign("storeys",$storeys);
	$s->assign("dates",$dates);
	$s->assign("types",$types);
	$s->assign("lons",$lons);
	$s->assign("lats",$lats);
	$s->assign("scale",$scale);	
	$s->assign("photos",$photos);
	$s->assign("icons",$icons);
		
	$block_html = Html::getBlock('Квартиры на продажу на карте Йошкар-Олы',Html::pageFlatMap());
	$s->assign("block_html",$block_html);
	$s->display("flat_map.tpl");
}
Example #2
0
 public static function getFlatList2($where, $order, $direction, $per_page = 10, $current_page = 1, $action = 'sales', $user_id = NULL)
 {
     $start_pos = ($current_page - 1) * $per_page;
     $limit = " LIMIT {$start_pos},{$per_page}";
     //$amount = Flat::getAmountInList($where);
     $sort = $order == '' ? "f.updated_on" : $order;
     $where_param = $where . " GROUP BY f.id ORDER BY " . $sort . " " . $direction . $limit;
     $params = '';
     if (isset($_GET['rooms'])) {
         $params .= '&rooms=' . intval($_GET['rooms']);
     }
     if (isset($_REQUEST['f_rooms'])) {
         $params .= '&rooms=' . intval($_REQUEST['f_rooms']) . '&f_rooms=' . intval($_REQUEST['f_rooms']);
     }
     $price_min = 0;
     $price_max = 0;
     if (isset($_REQUEST['f_price'])) {
         $f_price = intval($_REQUEST['f_price']);
         $params .= '&f_price=' . $f_price;
         switch ($f_price) {
             case 1:
                 $price_max = 1000000;
                 break;
             case 2:
                 $price_min = 1000000;
                 $price_max = 1500000;
                 break;
             case 3:
                 $price_min = 1500000;
                 $price_max = 2000000;
                 break;
             case 4:
                 $price_min = 2000000;
                 $price_max = 3000000;
                 break;
             case 5:
                 $price_min = 3000000;
                 break;
         }
     } else {
         if (isset($_REQUEST['price_min']) && $_REQUEST['price_min'] > 0) {
             $price_min = intval($_REQUEST['price_min']);
         } else {
             $price_min = 0;
         }
         if (isset($_REQUEST['price_max']) && $_REQUEST['price_max'] > 0) {
             $price_max = intval($_REQUEST['price_max']);
         } else {
             $price_max = 0;
         }
         if ($price_min > 0) {
             $params .= '&price_min=' . $price_min;
         }
         if ($price_max > 0) {
             $params .= '&price_max=' . $price_max;
         }
     }
     if (isset($_REQUEST['f_date'])) {
         $params .= '&f_date=' . clearTextData($_REQUEST['f_date']);
     }
     if (isset($_REQUEST['f_price_sq'])) {
         $params .= '&f_price_sq=' . intval($_REQUEST['f_price_sq']);
     }
     if (isset($_REQUEST['f_tenement'])) {
         $params .= '&f_tenement=' . intval($_REQUEST['f_tenement']);
     }
     if (isset($_REQUEST['f_kitchen'])) {
         $params .= '&f_kitchen=' . intval($_REQUEST['f_kitchen']);
     }
     if (isset($_REQUEST['f_total_area'])) {
         $params .= '&f_total_area=' . intval($_REQUEST['f_total_area']);
     }
     if (isset($_REQUEST['f_total_area'])) {
         $params .= '&f_total_area=' . intval($_REQUEST['f_total_area']);
     }
     if (isset($_REQUEST['f_balcon'])) {
         $params .= '&f_balcon=' . intval($_REQUEST['f_balcon']);
     }
     if (isset($_REQUEST['f_no_corner'])) {
         $params .= '&f_no_corner=' . intval($_REQUEST['f_no_corner']);
     }
     if (isset($_REQUEST['f_storey_no_first'])) {
         $params .= '&f_storey_no_first=' . intval($_REQUEST['f_storey_no_first']);
     }
     if (isset($_REQUEST['f_storey_no_last'])) {
         $params .= '&f_storey_no_last=' . intval($_REQUEST['f_storey_no_last']);
     }
     if (isset($_REQUEST['f_bath'])) {
         $params .= '&f_bath=' . intval($_REQUEST['f_bath']);
     }
     if (isset($_REQUEST['f_photo'])) {
         $params .= '&f_photo=' . intval($_REQUEST['f_photo']);
     }
     if (isset($_REQUEST['f_regions'])) {
         $params .= '&f_regions=' . intval($_REQUEST['f_regions']);
     }
     if (isset($_REQUEST['f_newt'])) {
         $params .= '&f_newt=' . intval($_REQUEST['f_newt']);
     }
     if (isset($_REQUEST['f_street']) && isset($_REQUEST['f_street_id'])) {
         $params .= '&f_street=' . clearTextData($_REQUEST['f_street']);
         $params .= '&f_street_id=' . intval($_REQUEST['f_street_id']);
     }
     if (isset($_REQUEST['f_heating'])) {
         $params .= '&f_heating=' . intval($_REQUEST['f_heating']);
     }
     if (isset($_REQUEST['f_is_owner'])) {
         $params .= '&f_is_owner=' . intval($_REQUEST['f_is_owner']);
     }
     if (isset($_SESSION['direction'])) {
         $direction = $_SESSION['direction'] == 'ASC' ? 'ASC' : 'DESC';
         $arrow = $direction == 'ASC' ? '&darr;' : '&uarr;';
         $direction = 'direction=' . $direction;
     } else {
         $direction = '';
         $arrow = '';
     }
     $arrow_date = '';
     $arrow_price = '';
     if ($sort == 'updated_on') {
         $arrow_date = $arrow;
     } else {
         if ($sort == 'price') {
             $arrow_price = $arrow;
         }
     }
     $amount = Flat::getAmountInList($where . " GROUP BY f.id");
     $paginator = self::paginator("flat.html?action={$action}" . $params, $amount, $per_page, $current_page);
     $html = "\n\t\tНайдено {$amount} объявлений:\n\t\t<br>\t\t\t\t\t\t\n\t\t<table class='table table-striped table-bordered table-condensed'>\n\t\t<thead>\n\t\t <tr>\t\t \n\t\t <th>Комнат</th>\n\t\t <th><a href='/flat.html?action={$action}&sort=price" . $params . "'><b>Цена(руб.)</b></a>{$arrow_price}<br>руб./м<sup>2</sup></th>\n\t\t <th>Этаж</th>\t\t \n\t\t <th>Адрес</th>\t\t \t\t \t\t \n\t\t <th>Общая/кухня м<sup>2</sup></th>\n\t\t <th>Балкон</th>\t\t \n\t\t <th>Описание</th>\n\t\t <th>Тел.</th>\n\t\t <th><a href='/flat.html?action={$action}&sort=updated_on" . $params . "'><b>Дата</b></a>{$arrow_date}</th>\n\t\t <th></th> \t\t \n\t\t </tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t";
     $ids = array();
     $db_res = Flat::getFullListLink($where_param);
     $tenement_icons = array('kirpich', 'panel', 'monolit', 'block', 'derevo');
     while ($row = $db_res->fetchRow()) {
         $ids[] = $row['id'];
         $type_name = Tenement::$TYPE[$row['ttype']];
         $type = $tenement_icons[$row['ttype']];
         $type = "<img src='/images/icon_{$type}.png' title='{$type_name}'>";
         $price = number_format($row['price'], 0);
         $price_m = number_format($row['price_m'], 0);
         $city = $row['city_id'] == 0 ? '' : $row['city'] . ',';
         $addr = "{$city} {$row['street']}";
         if ($row['show_address']) {
             $addr .= ", {$row['tnum']}";
         }
         $is_corner = $row['is_corner'] ? '<br><b>Угловая</b>' : '';
         $bath = $row['type_bathroom'] ? '<br><b>С/у совмещен</b>' : '';
         $is_new = $row['is_new'] ? '<br><b>Новостройка</b>' : '';
         $is_owner = $row['is_owner'] ? '<br><b>Собственник</b>' : '';
         $desc = Realty::prepareDescription($row['description']);
         $desc_all = truncate_utf8($desc, 300, true, true) . $is_corner . $bath;
         $description = $desc_all . $is_new . $is_owner;
         $tel = truncate_utf8($row['contacts'], 100, true, false);
         $flat_url = "/flat.html?action=view&id={$row['id']}";
         $photo_html = $row['photo_tenement'] != '' ? "<a href='{$flat_url}'  title='{$row['rooms']}-комнатная, {$price} руб.'><img src='/" . PHOTOS_WEBPATH . TENEMENT . "/" . $row['tenement_id'] . "/" . $row['photo_tenement'] . "_prev' class='border_const'></a>" : 'Нет фото';
         $photo_html2 = $row['photo_flat'] != '' ? "<a href='{$flat_url}'  title='{$row['rooms']}-комнатная, {$price} руб.'><img src='/" . PHOTOS_WEBPATH . FLAT . "/" . $row['id'] . "/" . $row['photo_flat'] . "_prev' class='border_const'></a>" : '';
         if ($photo_html2 != '') {
             $photo_html = $photo_html2;
         }
         $date = explode(' ', $row['updated_on']);
         $dates = explode('-', $date[0]);
         $date = $dates[2] . '.' . $dates[1];
         //.'.'.$dates[0]
         $url_del = !isset($_SESSION['admin']) ? '' : '<br><br><a href="javascript:delFlat(' . $row['id'] . ');">Удалить</a>';
         if ($user_id) {
             $url_del .= ' <a href="javascript:update(' . $row['id'] . ');" title="Обновить дату на текущую"><img src="/images/icon_update.png" title="Обновить дату на сегодняшнюю"></a>';
             $url_del .= ' <a href="flat.html?action=edit&id=' . $row['id'] . '"><img src="/images/icon_edit.png" title="Редактировать"></a>';
             $url_del .= ' <a href="javascript:remove(' . $row['id'] . ');"><img src="/images/icon_delete.png" title="Снять"></a>';
             $url_del .= ' <a href="javascript:sold(' . $row['id'] . ');"><img src="/images/icon_sold.png" title="Продано"></a>';
         }
         if ($row['balcony'] > 0) {
             $balcon = 'балкон ' . $row['balcony'] . 'м<sup>2</sup>';
         } elseif ($row['loggia'] > 0) {
             $balcon = 'лоджия ' . $row['loggia'] . 'м<sup>2</sup>';
         } else {
             $balcon = 'балкона нет';
         }
         $html .= "<tr>\t\t\t\n\t\t\t<td style='text-align:right;'><b>{$row['rooms']}-к.</b></td>\n\t\t\t<td><b>{$price}</b><br><br>{$price_m}</td>\n\t\t\t<td>{$row['storey']}/{$row['storeys']}<br><a href='/tenement.html?action=view&id={$row['tenement_id']}' target='_blank'>{$type}</a></td>\n\t\t\t<td><a href='{$flat_url}'>{$addr}</a></td>\t\t\t\t\t\t\n\t\t\t<td>{$row['total_area']}/{$row['kitchen_area']}</td>\n\t\t\t<td>{$balcon}</td>\t\t\t\n\t\t\t<td>{$description}</td>\n\t\t\t<td>{$tel}</td>\n\t\t\t<td>{$date}</td>\t\t\t\n\t\t\t<td><a href='{$flat_url}'><img src='/images/icon_view.png' title='Смотреть'></a>{$url_del}</td>\n\t\t\t</tr>\t\t\t\n\t\t\t";
     }
     $html .= "</tbody></table>\n\t\t<div>{$paginator}</div>\t\t\n\t\t";
     return array('html' => $html, 'ids' => $ids);
 }
Example #3
0
function getFlatListByTenement($param)
{
    global $config;
    $id = intval($param['id']);
    if (isset($_GET['limit']) && intval($_GET['limit']) == 3) {
        $limit = 3;
    } else {
        $limit = 30;
    }
    $db_res = Flat::getFullListLink("tenement_id={$id} AND (f.status=" . REALTY_STATUS_SALE . " OR f.status=" . REALTY_STATUS_RENT . " OR f.status=" . REALTY_STATUS_SOLD . ") GROUP BY f.id ORDER BY f.updated_on DESC LIMIT {$limit}");
    if (isset($_SESSION['user_id']) && in_array($_SESSION['user_id'], $config['user_workers'])) {
        $is_editor = true;
        $h = '<th></th>';
    } else {
        $is_editor = false;
        $h = '';
    }
    $html = '
	История продаж в этом доме:<br><br>
	<table class="table table-striped table-bordered table-condensed"><thead>
	<tr>
	<th>Дата</th><th>Комнат</th><th>Цена (руб.)</th><th>Цена за кв.м.(руб.)</th><th>Этаж</th><th>Общ. пл.м<sup>2</sup></th><th>Сделка</th>' . $h . '
	</tr></thead>';
    while ($row = $db_res->fetchRow()) {
        $html .= '<tr>';
        $date = explode(' ', $row['updated_on']);
        $dates = explode('-', $date[0]);
        $date = $dates[2] . '.' . $dates[1] . '.' . $dates[0];
        //$type = ($row['status']==REALTY_STATUS_SALE) ? 'продажа' : 'аренда';
        switch ($row['status']) {
            case REALTY_STATUS_SALE:
                $type = 'продажа';
                break;
            case REALTY_STATUS_RENT:
                $type = 'аренда';
                break;
            case REALTY_STATUS_SOLD:
                $type = 'продано';
                break;
        }
        $t = $is_editor ? '<td><a href="/flat.html?action=updateDate&id=' . $row['id'] . '" title="Обновить дату"><img src="/images/icon_update.png"></a></td>' : '';
        $price = number_format($row['price'], 0);
        $price_m = number_format($row['price_m'], 0);
        $html .= "<td><a href='/flat.html?action=view&id={$row['id']}' title='смотреть'>{$date}</a></td><td>{$row['rooms']}</td><td>{$price}</td><td>{$price_m}</td><td>{$row['storey']}</td><td>{$row['total_area']}</td><td>{$type}</td>{$t}";
        $html .= '</tr>';
    }
    $html .= '</table>';
    if (isset($date)) {
        echo $html;
    } else {
        echo '';
    }
}