require 'vendor/autoload.php'; class DefaultController extends Controller { public $page_title; public $meta_desc; public $bottom_desc; public $title; public $descript; public $breadcrumbs; public $nofound; // public $partner_products_sberbank = [ // ['our_title' => 'Доверительный кредит с комиссиями', 'partner_title' => 'Доверительный кредит'], // ['our_title' => 'Кредитный лимит на платежную карту', 'partner_title' => 'Кредитная карта'], // ['our_title' => 'Образовательный кредит', 'partner_title' => 'Образовательный кредит'], // ['our_title' => 'Кредитование под залог депозита', 'partner_title' => 'Кредитование под залог депозита'], // ['our_title' => 'Кредит на неотложные нужды под залог недвижимости потребительские цели', 'partner_title' => 'Неотложные нужды потреб цели'], // ['our_title' => 'Кредит на неотложные нужды под залог недвижимости не потребительские цели', 'partner_title' => 'Неотложные нужды на цели, не относящиеся к потребительским'], // ['our_title' => 'Неотложные нужды', 'partner_title' => 'Неотложные нужды'], // ['our_title' => 'Жилищный кредит', 'partner_title' => 'Жилищный кредит'], // ['our_title' => 'Жилищный кредит с упрощенным финансовым анализом', 'partner_title' => 'Жилищный УФА'], // ['our_title' => 'Субсидированная ипотека – Нурлы жер (покупка первичного жилья)', 'partner_title' => 'Ипотека - гос.программа "Нурлы жер"'], // ['our_title' => 'Ипотека – 175 квартир', 'partner_title' => 'Жилищный кредит – Акция «175 квартир»'], // ]; public $qf = array ( 'ipoteka-bez-pervonachalnogo-vznosa'=> array ( //'cond'=>"Obesp_bez='да'", 'name'=>'Без первоначльного взноса', 'preset'=>'$filt[\'Prepay\']=\'да\';', 'num' =>0,), 'ipoteka-na-kvartiru'=> array ( //'cond'=>"Obesp_nedvizhimost='да'", 'name'=>'На квартиру', 'preset'=>'$filt[\'Vid\']=\'Vid_apartamenty\';', 'num' =>0,), 'zhile-na-vtorichnom-rynke'=> array ( //'cond'=>"Sroki_rassmotreniya=0", 'name'=>'На вторичное жилье', 'preset'=>'$filt[\'Vid\']=\'Vid_vtorichnyy\';', 'num' =>0,), 'zhile-na-pervichnom-rynke'=> array ( //'cond'=>"Vydacha_nalichnye='да'", 'name'=>'На первичное жилье', 'preset'=>'$filt[\'Vid\']=\'Vid_novostroyka\';', 'num' =>0,), 'ipoteka-na-stroitelstvo'=> array ( //'cond'=>"(Oformlenie_ipotekaa='он-лайн заявка' OR Oformlenie_ipotekaa='в отделении банка или он-лайн заявка')", 'name'=>'На строительство', 'preset'=>'$filt[\'Vid\']=\'Vid_stroyashchiysya\';', 'num' =>0,), 'zagorodnaja-nedvizhimost'=> array ( //'cond'=>"Pensioneram='да'", 'name'=>'На загородную недвижимость', 'preset'=>'$filt[\'Zagorod\']=\'да\';', 'num' =>0,), 'na-dom'=> array ( //'cond'=>"Vid_biznes='да'", 'name'=>'На индивидуальный дом', 'preset'=>'$filt[\'Vid\']=\'Vid_dom\';', 'num' =>0,), 'socialnaya-ipoteka'=> array ( //'cond'=>"Vid_refinansirovanie='да'", 'name'=>'Социальная ипотека', 'preset'=>'$filt[\'Kategoriya_socprogramma\']=\'да\';', 'num' =>0,), 'ipoteka-dlya-molodoi-semi'=> array ( //'cond'=>"Vid_obrazovanie='да'", 'name'=>'Для молодой семьи', 'preset'=>'$filt[\'Kategoriya_zaemshchika\']=\'молодая+семья\';', 'num' =>0,), 'ipoteka-dlya-uchitelei'=> array ( //'cond'=>"Vid_lubye='да'", 'name'=>'Для учителей', 'preset'=>'$filt[\'Kategoriya_uchitelyam\']=\'да\';', 'num' =>0,), 'ipoteka-bez-podtverzhdeniya-dohoda'=> array ( //'cond'=>"Credit_tab.Document='Без подтверждения доходов'", 'name'=>'Без потверждения доходов ', 'preset'=>'$calc[\'doc\']=\'Без подтверждения доходов\';', 'num' =>0,), ); public $filters = array( 'Цель' => array ( array( 'label'=>'любая', 'name'=>'Vid', 'val'=>'', ), array( 'label'=>'в строящемся доме ', 'name'=>'Vid', 'val'=>'Vid_stroyashchiysya', ), array( 'label'=>'первичный рынок', 'name'=>'Vid', 'val'=>'Vid_novostroyka', ), array( 'label'=>'вторичный рынок', 'name'=>'Vid', 'val'=>'Vid_vtorichnyy', ), array( 'label'=>'квартира', 'name'=>'Vid', 'val'=>'Vid_apartamenty', ), array( 'label'=>'коммерческая недвижимость', 'name'=>'Vid', 'val'=>'Vid_kommercheskaya', ), array( 'label'=>'индивидуальный дом', 'name'=>'Vid', 'val'=>'Vid_dom', ), array( 'label'=>'гараж', 'name'=>'Vid', 'val'=>'Vid_garazh', ), array( 'label'=>'садовый домик', 'name'=>'Vid', 'val'=>'Vid_dachnyy', ), array( 'label'=>'земельный участок', 'name'=>'Vid', 'val'=>'Vid_uchastok', ), array( 'label'=>'индивидуальный дом', 'name'=>'Vid', 'val'=>'Vid_dom', ), ), /* 'Форма выдачи' => array( array( 'label'=>'наличными', 'name'=>'Vydacha_nalichnye', 'val'=>'да', ), array( 'label'=>'на счет', 'name'=>'Vydacha_schet', 'val'=>'да', ), array( 'label'=>'на карточный счет', 'name'=>'Vydacha_karta', 'val'=>'да', ), ), 'Сроки рассмотрения' => array( array( 'label'=>'не важно', 'name'=>'Sroki_rassmotreniya', 'val'=>'', ), array( 'label'=>'в день обращения', 'name'=>'Sroki_rassmotreniya', 'val'=>'0', ), array( 'label'=>'до 3 дней', 'name'=>'Sroki_rassmotreniya', 'val'=>'3', ), array( 'label'=>'до 7 дней', 'name'=>'Sroki_rassmotreniya', 'val'=>'7', ), array( 'label'=>'до 14 дней', 'name'=>'Sroki_rassmotreniya', 'val'=>'14', ), ),*/ 'Обеспечение' => array( array( 'label'=>'не важно', 'name'=>'Obesp', 'val'=>'', ), /*array( 'label'=>'без залога и поручительства', 'name'=>'Obesp', 'val'=>'Obesp_bez', ),*/ array( 'label'=>'поручительство', 'name'=>'Obesp', 'val'=>'Obesp_poruchitel', ), array( 'label'=>'под залог депозита', 'name'=>'Obesp', 'val'=>'Obesp_deposit', ), array( 'label'=>'залог приобретаемой недвижимости', 'name'=>'Obesp', 'val'=>'Obesp_nedv_priobret', ), array( 'label'=>'залог имеющейся недвижимости', 'name'=>'Obesp', 'val'=>'Obesp_nedv_imeyushch', ), array( 'label'=>'залог земельного участка', 'name'=>'Obesp', 'val'=>'Obesp_uchastok', ), ), /*'Регистрация' => array( array( 'label'=>'пост. в районе обращения', 'name'=>'Registraciya', 'val'=>'', ), array( 'label'=>'постоянная', 'name'=>'Registraciya', 'val'=>'постоянная', ), array( 'label'=>'без регистрации', 'name'=>'Registraciya', 'val'=>'не важно', ), ),*/ 'Загородная недвижимость' => array( 'name'=>'Zagorod', 'val'=>'да', ), /*'Без залога и поручительства' => array( 'name'=>'Obesp', 'val'=>'Obesp_bez', ),*/ 'Без комиссий' => array( 'name'=>'Komissiya', 'val'=>'да', ), 'Без первоначального взноса' => array( 'name'=>'Prepay', 'val'=>'да', ), 'Онлайн-заявка' => array( 'name'=>'Online', 'val'=>'да', ), ); public $dfilters = array( 'Досрочное погашение' => array( 'name'=>'Dosrochnoe_pogashenie', 'val'=>'да', ), 'Категория заемщика' => array( array( 'label'=>'не имеет значения', 'name'=>'Kategoriya_zaemshchika', 'val'=>'', ), array( 'label'=>'работники по найму', 'name'=>'Kategoriya_zaemshchika', 'val'=>'работники по найму', ), array( 'label'=>'индивидуальные предприниматели', 'name'=>'Kategoriya_zaemshchika', 'val'=>'индивидуальные предприниматели', ), array( 'label'=>'владельцы и совладельцы собственного бизнеса', 'name'=>'Kategoriya_zaemshchika', 'val'=>'владельцы и совладельцы собственного бизнеса', ), array( 'label'=>'работники бюджетной сферы / госслужащие', 'name'=>'Kategoriya_zaemshchika', 'val'=>'работники бюджетной сферы / госслужащие', ), array( 'label'=>'владельцы личных подсобных хозяйств', 'name'=>'Kategoriya_zaemshchika', 'val'=>'владельцы личных подсобных хозяйств', ), array( 'label'=>'военнослужащие', 'name'=>'Kategoriya_zaemshchika', 'val'=>'военнослужащие', ), array( 'label'=>'работники правоохранительных органов', 'name'=>'Kategoriya_zaemshchika', 'val'=>'работники правоохранительных органов', ), array( 'label'=>'адвокаты / нотариусы', 'name'=>'Kategoriya_zaemshchika', 'val'=>'адвокаты / нотариусы', ), array( 'label'=>'семья', 'name'=>'Kategoriya_zaemshchika', 'val'=>'семья', ), array( 'label'=>'молодая семья', 'name'=>'Kategoriya_zaemshchika', 'val'=>'молодая семья', ), ), 'Отдельные категории' => array ( array( 'label'=>'военным', 'name'=>'Kategoriya_voennym', 'val'=>'да', ), array( 'label'=>'молодым', 'name'=>'Kategoriya_molodym', 'val'=>'да', ), array( 'label'=>'учителям', 'name'=>'Kategoriya_uchitelyam', 'val'=>'да', ), array( 'label'=>'врачам', 'name'=>'Kategoriya_vracham', 'val'=>'да', ), array( 'label'=>'социальная спец. программа', 'name'=>'Kategoriya_socprogramma', 'val'=>'да', ), ), ); public function actionIndex($bank = null, $name = null, $city = null) { $breadcrumbs = '
  • '.Yii::t('f_layout', 'Главная').'
  • '."\r\n"; if ($bank && $name && $city) { $bankobj = Yii::app()->db->createCommand("SELECT * FROM Bank WHERE Bank.Translit = '$bank'")->queryRow(); $cityobj = Yii::app()->db->createCommand("SELECT * FROM City WHERE City.Translit = '$city'")->queryRow(); $breadcrumbs.= '
  • Банки ' . $cityobj['Genetive'] . '
  • ' . "\r\n" . '
  • Банк ' . $bankobj['Shortname'].' в '.$cityobj['Locative'] . '
  • '."\r\n". '
  • Ипотека банка ' . $bankobj['Shortname'].' в '.$cityobj['Locative'] . '
  • '."\r\n"; $this->_outSeoData('/ipoteka/{Bank.Translit}/'.$name.'/{City.Translit}/', $breadcrumbs, $bankobj, $cityobj); $this->quickIpotekas($bank, $name, $city); return true; } else if ($bank && $name) { $bankobj = Bank::model()->find(array('condition'=>"Translit='$bank'")); if ($bankobj) { $productobj = Ipoteka::model()->find(array('condition'=>"Bank_Id={$bankobj->Id} AND Translit='$name'")); if ($productobj) { $this->page_title = @$productobj['Title']?$this->_decodeMask($productobj['Title'], $bankobj):'Not set'; $this->meta_desc = @$productobj['Seo_description']?$this->_decodeMask($productobj['Seo_description'], $bankobj):'Not set'; $this->title = @$productobj['Name'] ? $this->_decodeMask($productobj['Name'], $bankobj) : 'Not set'; $this->descript = @$productobj['Description'] ? $this->_decodeMask($productobj['Description'], $bankobj) : 'Not set'; $this->breadcrumbs = @$productobj['Breadcrumbs'] ? $breadcrumbs . '
  • Ипотека в Казахстане
  • ' . "\r\n" . '
  • ' . $productobj['Breadcrumbs'] . '
  • ' : 'Not set'; // $this->_outSeoData('/ipoteka/{Bank.Translit}/ipoteka/', $breadcrumbs, $bankobj, null); $this->ipoteka($bank, $name); return true; } else if (isset($this->qf[$name])) { $breadcrumbs.= '
  • Банки Казахстана
  • ' . "\r\n" . '
  • Банк ' . $bankobj['Shortname'].'
  • '."\r\n". '
  • Ипотека банка ' . $bankobj['Shortname'] . '
  • '."\r\n"; $this->_outSeoData('/ipoteka/{Bank.Translit}/'.$name.'/', $breadcrumbs, $bankobj); $this->quickIpotekas($bank, $name); return true; } else { $cityobj = Yii::app()->db->createCommand("SELECT * FROM City WHERE City.Translit = '$name'")->queryRow(); $breadcrumbs.= '
  • Банки ' . $cityobj['Genetive'] . '
  • ' . "\r\n" . '
  • Банк ' . $bankobj['Shortname'].' в '.$cityobj['Locative'] . '
  • '."\r\n"; $this->_outSeoData('/ipoteka/{Bank.Translit}/{City.Translit}/', $breadcrumbs, $bankobj, $cityobj); $this->cList($bank, $name); return true; } } else { $cityobj = Yii::app()->db->createCommand("SELECT * FROM City WHERE City.Translit = '$name'")->queryRow(); $breadcrumbs.= '
  • Ипотека ' . $cityobj['Genetive'] . '
  • ' . "\r\n"; $this->_outSeoData('/ipoteka/'.$bank.'/{City.Translit}/', $breadcrumbs, $bankobj, $cityobj); $this->quickIpotekas(null, $bank, $name); return true; } } else if ($bank) { $bankobj = Bank::model()->find(array('condition'=>"Translit='$bank'")); if ($bankobj) { $breadcrumbs.= '
  • Банки Казахстана
  • ' . "\r\n" . '
  • Банк ' . $bankobj['Shortname'].'
  • '."\r\n"; $this->_outSeoData('/ipoteka/{Bank.Translit}/', $breadcrumbs, $bankobj, null); $this->cList($bank); return true; } else if (isset($this->qf[$bank])) { $breadcrumbs.= '
  • Ипотека в Казахстане
  • ' . "\r\n"; $this->_outSeoData('/ipoteka/'.$bank.'/', $breadcrumbs, null, null); $this->quickIpotekas(null, $bank); return true; } else { $cityobj = Yii::app()->db->createCommand("SELECT * FROM City WHERE City.Translit = '$bank'")->queryRow(); $this->_outSeoData('/ipoteka/{City.Translit}/', $breadcrumbs, null, $cityobj); $this->cList(null, $bank); return true; } } else { $this->_outSeoData('/ipoteka/', $breadcrumbs, null, null); $this->cList(); return true; } } //------------------------------------------------------------------------------------- public function ipoteka($bank, $name) { $bankobj = Bank::model()->find(array('condition'=>"Translit='$bank'")); $product = Ipoteka::model()->find(array('condition'=>"Bank_Id={$bankobj->Id} AND Translit='$name'")); if (!$product) throw new CHttpException(404,'The requested page does not exist.'); $product_tab = IpotekaTab::model()->findAll(array('condition'=>"Ipoteka_Id={$product->Id}")); $data = array(); foreach ($product_tab as $row) { if ($row->Amount_from) { $amount = $this->_cutFor3($row->Amount_from).' - '.$this->_cutFor3($row->Amount_to); } else { $amount = $this->_cutFor3($row->Amount_to); } if ((int)$row->Prepay_to) { $prepay = 'от '.$row->Prepay_from.'% до '.$row->Prepay_to.'%'; } else { $prepay = 'от '.$row->Prepay_from.'%'; } if ($row->Period_from) { $period = 'от '.$this->_perConv($row->Period_from).' до '.$this->_perConv($row->Period_to); } else { $period = 'до '.$this->_perConv($row->Period_to); } $data[$row->Document][$row->Currency][$amount][$prepay][$period] = $row->Rate; } //$vid = 'Для ' $doc = IpotekaTab::model()->findAll(array('select'=>'Document', 'distinct'=>true, 'condition'=>"Ipoteka_Id={$product->Id}")); $curr = IpotekaTab::model()->findAll(array('select'=>'Currency', 'distinct'=>true, 'condition'=>"Ipoteka_Id={$product->Id}")); $opt['currency'] = ''; foreach ($curr as $c) { if ($opt['currency']) $opt['currency'].= ', '; if ($c['Currency'] == 'KZT') $opt['currency'].= 'тенге'; elseif ($c['Currency'] == 'USD') $opt['currency'].= 'доллар'; elseif ($c['Currency'] == 'EUR') $opt['currency'].= 'евро'; elseif ($c['Currency'] == 'RUB') $opt['currency'].= 'рубль'; } $amnt = Yii::app()->db->createCommand("SELECT MIN(Amount_from) AS Min, MAX(Amount_to) AS Max, Currency FROM Ipoteka_tab WHERE Ipoteka_Id={$product->Id} GROUP BY Currency")->query(); $opt['amount'] = ''; foreach ($amnt as $a) { if ($a['Currency'] == 'KZT') $currency = 'тенге'; elseif ($a['Currency'] == 'USD') $currency = 'долларах'; elseif ($a['Currency'] == 'EUR') $currency = 'евро'; elseif ($a['Currency'] == 'RUB') $currency = 'рублях'; if ($opt['amount']) $opt['amount'].= ', '; $opt['amount'].= ($a['Min']?'от '.$this->_cutFor3($a['Min']).' ':'').'до '.$this->_cutFor3($a['Max']).' в '.$currency; } $per = Yii::app()->db->createCommand("SELECT MIN(Period_from) AS Min, MAX(Period_to) AS Max FROM Ipoteka_tab WHERE Ipoteka_Id={$product->Id}")->queryRow(); $opt['period'] = ($per['Min']?'от '.$this->_perConv($per['Min']).' ':'').'до '.$this->_perConv($per['Max']); $rate = Yii::app()->db->createCommand("SELECT MIN(Rate) AS Min, MAX(Rate) AS Max FROM Ipoteka_tab WHERE Ipoteka_Id={$product->Id}")->queryRow(); $opt['rate'] = ($rate['Min'] != $rate['Max']?'от '.$rate['Min'].'% до ':'').$rate['Max'].'%'; $vznos = Yii::app()->db->createCommand("SELECT MIN(Prepay_from) AS Min, MAX(Prepay_to) AS Max FROM Ipoteka_tab WHERE Ipoteka_Id={$product->Id}")->queryRow(); $opt['vznos'] = 'от '.$vznos['Min'].'%'.((int) $vznos['Max']?' до '.$vznos['Max'].'%':''); $opt['shema'] = ''; $creditTypes = $dataCreditTypes = CreditTab::getCreditTypes(); unset($dataCreditTypes['any']); if ($dataCreditTypes['ann'] !== null) $opt['shema'].= 'аннуитетная (ежемесячно равными платежами)'; if ($dataCreditTypes['diff'] !== null) { if ($opt['shema']) $opt['shema'].= ', '; $opt['shema'].= 'дифференцированная'; } if ($product->Sroki_rassmotreniya === null) { $opt['sroki'] = ''; } else if ($product->Sroki_rassmotreniya == 0) { $opt['sroki'] = 'день в день'; } else if (substr($product->Sroki_rassmotreniya, -1) == 1 && $product->Sroki_rassmotreniya != 11 ) { $opt['sroki'] = $product->Sroki_rassmotreniya.' день'; } else if (substr($product->Sroki_rassmotreniya, -1) >= 2 && substr($product->Sroki_rassmotreniya, -1) <= 4 && ($product->Sroki_rassmotreniya < 12 || $product->Sroki_rassmotreniya > 14) ) { $opt['sroki'] = $product->Sroki_rassmotreniya.' дня'; } else { $opt['sroki'] = $product->Sroki_rassmotreniya.' дней'; } $opt['komissii'] = ''; if ($product->Komissiya_ann !== null) $opt['komissii'].= 'при аннуитетном погашении: '.$product->Komissiya_ann.'%'; if ($product->Komissiya_diff !== null) { if ($opt['komissii']) $opt['komissii'].= ',
    '; $opt['komissii'].= 'при дифференцированном погашении: '.$product->Komissiya_diff.'%'; } if ($product->Ne_menshe) { if ($opt['komissii']) $opt['komissii'].= ',
    '; $opt['komissii'].= 'но не меньше: '.$product->Ne_menshe.' тг.'; } if ($product->Fiksirovannyi_vznos) { if ($opt['komissii']) $opt['komissii'].= ',
    '; $opt['komissii'].= 'за рассмотрение заявки: '.$product->Fiksirovannyi_vznos.' тг.'; } $opt['obesp'] = ''; if ($product->Obesp_bez == 'да') $opt['obesp'].= '- без обеспечения'; if ($product->Obesp_poruchitel == 'да') { if ($opt['obesp']) $opt['obesp'].= ',
    '; $opt['obesp'].= '- поручитель'; } if ($product->Obesp_deposit == 'да') { if ($opt['obesp']) $opt['obesp'].= ',
    '; $opt['obesp'].= '- под залог депозита'; } if ($product->Obesp_nedv_priobret == 'да') { if ($opt['obesp']) $opt['obesp'].= ',
    '; $opt['obesp'].= '- под залог приобретаемой недвижимости'; } if ($product->Obesp_nedv_imeyushch == 'да') { if ($opt['obesp']) $opt['obesp'].= ',
    '; $opt['obesp'].= '- под залог имеющейся недвижимости'; } if ($product->Obesp_uchastok == 'да') { if ($opt['obesp']) $opt['obesp'].= ',
    '; $opt['obesp'].= '- под залог земельного участка'; } $opt['stazh'] = 'свыше '.$this->_perConv($product->Stazh_raboty); $opt['vydacha'] = ''; if ($product->Vydacha_nalichnye == 'да') $opt['vydacha'].= '- наличными'; if ($product->Vydacha_schet == 'да') { if ($opt['vydacha']) $opt['vydacha'].= ',
    '; $opt['vydacha'].= '- на банковский счет'; } if ($product->Vydacha_karta == 'да') { if ($opt['vydacha']) $opt['vydacha'].= ',
    '; $opt['vydacha'].= '- на банковскую карту'; } $c_periods = array( '1'=>'1 месяц', '3'=>'3 месяца', '6'=>'6 месяцев', '9'=>'9 месяцев', '12'=>'1 год', '18'=>'1,5 года', '24'=>'2 года', '36'=>'3 года', '48'=>'4 года', '60'=>'5 лет', '72'=>'6 лет', '84'=>'7 лет', '120'=>'10 лет', '180'=>'15 лет', '240'=>'20 лет', '300'=>'25 лет', '360'=>'30 лет', ); $payments = array(); $payments_r = array(); if (isset($_GET['calc'])) { $c_months = array( '01' => 31, '02' => 28, '03' => 31, '04' => 30, '05' => 31, '06' => 30, '07' => 31, '08' => 31, '09' => 30, '10' => 31, '11' => 30, '12' => 31, ); $calc = $_GET['calc']; $calc['tot'] = preg_replace('/[^0-9]/', '', urldecode($calc['tot'])); if (!$calc['tot']) $calc['tot'] = 0; $_SESSION['mortgage_amount'] = $calc['tot']; $calc['prepay'] = preg_replace('/[^0-9]/', '', urldecode($calc['prepay'])); if (!$calc['prepay']) $calc['prepay'] = 0; if ($calc['punit'] == 'amm') { $prepay = $calc['prepay'] / $calc['tot'] * 100; } else { $prepay = $calc['prepay']; } if (isset($calc['doc'])) { $rate = Yii::app()->db->createCommand("SELECT MIN(Rate) FROM Ipoteka_tab WHERE Ipoteka_Id={$product->Id} AND".($calc['doc'] == 'Без подтверждения доходов' || urldecode($calc['doc']) == 'Без подтверждения доходов' ? " Document='Без подтверждения доходов' AND":'')." Currency='{$calc['curr']}' AND Amount_from<={$calc['tot']} AND Amount_to>={$calc['tot']} AND ((Prepay_from<={$prepay} AND Prepay_to=0) OR (Prepay_from<={$prepay} AND Prepay_to>={$prepay})) AND Period_from<={$calc['period']} AND Period_to>={$calc['period']}")->queryScalar(); } else { $rate = Yii::app()->db->createCommand(" SELECT MIN(Rate) FROM Ipoteka_tab WHERE Ipoteka_Id={$product->Id} AND Currency='{$calc['curr']}' AND Amount_from<={$calc['tot']} AND Amount_to>={$calc['tot']} AND ((Prepay_from<={$prepay} AND Prepay_to=0) OR (Prepay_from<={$prepay} AND Prepay_to>={$prepay})) AND Period_from<={$calc['period']} AND Period_to>={$calc['period']}") ->queryScalar(); } if ($rate) { $calc['err'] = false; $payments_r['rate'] = $rate; if ($calc['curr'] == 'KZT') $payments_r['curr'] = 'тенге'; elseif ($calc['curr'] == 'USD') $payments_r['curr'] = 'долларов'; elseif ($calc['curr'] == 'EUR') $payments_r['curr'] = 'евро'; elseif ($calc['curr'] == 'RUB') $payments_r['curr'] = 'рублей'; $ps = $rate / 100 / 12; $payments_r['perc'] = 0; $payments_r['mloan'] = 0; $day_c = @date('d'); $month = @date('m'); $year = @date('Y'); $tot = $calc['tot'] * (100 - $prepay) / 100; if ($calc['mode'] == 'ann') { if ($product->Komissiya_ann) { $payments_r['ps'] = $product->Komissiya_ann / 100 * $tot; $payments[0] = array( 'num'=>'', 'date'=> $day_c.'.'.$month.'.'.$year, 'loan' => $tot, 'perc' => '', 'mloan' => 'Комиссия ('.$product->Komissiya_ann.'%):', 'ps' => $payments_r['ps'], ); } else { $payments_r['ps'] = 0; } $ap = $tot * ($ps + $ps / (pow(1 + $ps, $calc['period']) - 1)); for ($m = 1; $m <= $calc['period']; $m ++) { $payments[$m]['num'] = $m; if ($m == 1) { $payments[$m]['loan'] = $tot; } else { $payments[$m]['loan'] = $payments[$m - 1]['loan'] + $payments[$m - 1]['perc'] - $ap; } $payments[$m]['perc'] = $payments[$m]['loan'] * $ps; $payments[$m]['mloan'] = $ap - $payments[$m]['perc']; $payments[$m]['ps'] = $ap; $month ++; if ($month > 12) { $month = 1; $year ++; } if ($month < 10) $month = '0'.$month; $day = $day_c; if ($month == '02') { if (($year % 4 == 0 && $year % 100 != 0) || $year % 400 == 0) { if ($day_c > 29) $day = 29; } else { if ($day_c > 28) $day = 28; } } else { if ($day_c > $c_months[$month]) $day = $c_months[$month]; } $payments[$m]['date'] = $day.'.'.$month.'.'.$year; $payments_r['perc'] += $payments[$m]['perc']; $payments_r['mloan'] += $payments[$m]['mloan']; $payments_r['ps'] += $payments[$m]['ps']; } } else if ($calc['mode'] == 'diff') { if ($product->Komissiya_diff) { $payments_r['ps'] = $product->Komissiya_diff / 100 * $tot; $payments[0] = array( 'num'=>'', 'date'=> $day_c.'.'.$month.'.'.$year, 'loan' => $tot, 'perc' => '', 'mloan' => 'Комиссия ('.$product->Komissiya_diff.'%):', 'ps' => $payments_r['ps'], ); } else { $payments_r['ps'] = 0; } $mloan = $tot / $calc['period']; for ($m = 1; $m <= $calc['period']; $m ++) { $payments[$m]['num'] = $m; if ($m == 1) { $payments[$m]['loan'] = $tot; } else { $payments[$m]['loan'] = $payments[$m - 1]['loan'] + $payments[$m - 1]['perc'] - $payments[$m - 1]['ps']; } $payments[$m]['perc'] = $payments[$m]['loan'] * $ps; $payments[$m]['mloan'] = $mloan; $payments[$m]['ps'] = $mloan + $payments[$m]['perc']; $month ++; if ($month > 12) { $month = 1; $year ++; } if ($month < 10) $month = '0'.$month; $day = $day_c; if ($month == '02') { if (($year % 4 == 0 && $year % 100 != 0) || $year % 400 == 0) { if ($day_c > 29) $day = 29; } else { if ($day_c > 28) $day = 28; } } else { if ($day_c > $c_months[$month]) $day = $c_months[$month]; } $payments[$m]['date'] = $day.'.'.$month.'.'.$year; $payments_r['perc'] += $payments[$m]['perc']; $payments_r['mloan'] += $payments[$m]['mloan']; $payments_r['ps'] += $payments[$m]['ps']; } } } else { $calc['err'] = 'введенные данные не соответствуют условиям этого кредита'; } } else { $calc = array( 'tot' => '', 'curr' => '', 'prepay' => '', 'punit' => '', 'mode' => '', 'period' => '', 'err' => '', ); if (count($doc) > 1) $calc['doc'] = ''; } $bank_info = Yii::app()->db->createCommand(" SELECT Bank.*, (SELECT COUNT(Credit.Id) FROM Credit WHERE Credit.Bank_Id = Bank.Id) AS credit_count, (SELECT COUNT(Autocredit.Id) FROM Autocredit WHERE Autocredit.Bank_Id = Bank.Id) AS autocredit_count, (SELECT COUNT(Ipoteka.Id) FROM Ipoteka WHERE Ipoteka.Bank_Id = Bank.Id) AS ipoteka_count FROM Bank WHERE Translit = '$bank' ")->queryAll(); $bank = Bank::model()->find('Translit=:Translit', array(':Translit'=>$bank)); $c_rate = Yii::app()->db->createCommand(" SELECT Rate.*, Bank.Id, Bank.Shortname, Bank.Translit, Bank.Rating1, Bank.Rating2, Bank.Rating2 FROM Rate, Bank WHERE Rate.Bank_Id = ( SELECT Bank.Id FROM Bank WHERE Bank.Translit = '{$bank->Translit}' ) AND Rate.Bank_Id = Bank.Id AND Rate.USD_buy != 0 AND ( Rate.City_Id = ".Yii::app()->session['city']['Id']." OR Rate.City_Id = 1526384 OR Rate.City_Id = 0 ) AND ( Rate.Cash = '' OR Rate.Cash = 'наличные' OR Rate.Cash = 'безналичные' ) ORDER BY Rate.Cash LIMIT 0, 1 ")->queryRow(); if (!isset($tot)) $tot = false; $this->render('ipoteka', array( 'opt' => $opt, 'product' => $product, 'data' => $data, 'curr' => $curr, 'c_periods' => $c_periods, 'per' => $per, 'doc' => $doc, 'calc' => $calc, 'payments' => $payments, 'payments_r' => $payments_r, 'title' => $this->title, 'descript' => $this->descript, 'bottom_desc' => $this->bottom_desc, 'breadcrumbs' => $this->breadcrumbs, 'bank' => $bank, 'c_rate' => $c_rate, 'bank_info' => $bank_info[0], 'tot' => $tot, 'dataCreditTypes' => $dataCreditTypes, )); } //------------------------------------------------------------------------------------- public function cList($bank = null, $city = null) { $curr = array('KZT', 'USD', 'EUR', 'RUB'); $c_periods = array( '1'=>'1 мес.', '3'=>'3 мес.', '6'=>'6 мес.', '9'=>'9 мес.', '12'=>'1 год', '18'=>'1,5 года', '24'=>'2 года', '36'=>'3 года', '48'=>'4 года', '60'=>'5 лет', '72'=>'6 лет', '84'=>'7 лет', '120'=>'10 лет', '180'=>'15 лет', '240'=>'20 лет', '300'=>'25 лет', '360'=>'30 лет', ); /*foreach ($this->qf as $key=>$f) { $products1 = Yii::app()->db->createCommand("SELECT Ipoteka.*, MIN(Ipoteka_tab.Rate) AS Rate FROM Ipoteka, Ipoteka_tab WHERE Ipoteka.Id = Ipoteka_tab.Ipoteka_Id AND {$this->qf[$key]['cond']} GROUP BY Ipoteka_tab.Ipoteka_Id")->query(); $this->qf[$key]['num'] = count($products1); }*/ if ($city) { $city_chain = " AND Bank_Id IN (SELECT DISTINCT Bank_Id FROM Office WHERE Office.City_Id = (SELECT Id FROM City WHERE Translit='{$city}') AND (Office.Type='Отделение' OR Office.Type='Головной офис') UNION SELECT Id AS Bank_Id FROM Bank WHERE Id IN (70,72,51))"; } else { $city_chain = ''; } if ($bank) { $bank_chain = " AND Bank_Id = (SELECT Id FROM Bank WHERE Translit='{$bank}')"; } else { $bank_chain = ''; } if (isset($_GET['calc'])) { $calc = $_GET['calc']; $filt = $_GET['filt']; $calc['tot'] = preg_replace('/[^0-9]/', '', urldecode($calc['tot'])); if (!$calc['tot']) $calc['tot'] = 0; $calc['prepay'] = preg_replace('/[^0-9]/', '', urldecode($calc['prepay'])); if (!$calc['prepay']) $calc['prepay'] = 0; if ($calc['tot']) { $_SESSION['mortgage_amount'] = $calc['tot']; if ($calc['punit'] == 'amm') { $prepay = $calc['prepay'] / $calc['tot'] * 100; } else { $prepay = $calc['prepay']; } $calc_chain = " AND".($calc['doc'] == 'Без подтверждения доходов' || urldecode($calc['doc']) == 'Без подтверждения доходов' ? " Ipoteka_tab.Document='Без подтверждения доходов' AND":'')." Ipoteka_tab.Currency='{$calc['curr']}' AND Ipoteka_tab.Amount_from<={$calc['tot']} AND Ipoteka_tab.Amount_to>={$calc['tot']} AND ((Ipoteka_tab.Prepay_from<={$prepay} AND Ipoteka_tab.Prepay_to=0) OR (Ipoteka_tab.Prepay_from<={$prepay} AND Ipoteka_tab.Prepay_to>={$prepay})) AND Ipoteka_tab.Period_from<={$calc['period']} AND Ipoteka_tab.Period_to>={$calc['period']}"; } else { $calc_chain = ''; } $filt_chain = ''; if ($filt['Vid']) $filt_chain.= " AND {$filt['Vid']}='да'"; if ($filt['Obesp']) $filt_chain.= " AND ({$filt['Obesp']}='да' OR Obesp_bez='да')"; if (isset($filt['Zagorod'])) $filt_chain.= " AND (Vid_dachnyy='да' OR Vid_dom='да' OR Vid_uchastok='да' OR Vid_lubye='да')"; if (isset($filt['Komissiya'])) $filt_chain.= " AND (Komissiya_ann=NULL OR Komissiya_ann=0) AND (Komissiya_diff=NULL OR Komissiya_diff=0) AND (Ne_menshe=NULL OR Ne_menshe=0) AND (Fiksirovannyi_vznos=NULL OR Fiksirovannyi_vznos=0)"; if (isset($filt['Prepay'])) $filt_chain.= " AND (Ipoteka_tab.Prepay_from=0 OR Ipoteka_tab.Prepay_from=NULL)"; if (isset($filt['Online'])) $filt_chain.= " AND (Oformlenie_kredita='он-лайн заявка' OR Oformlenie_kredita='в отделении банка или он-лайн заявка')"; $dfilt_chain = ''; if (isset($filt['Dosrochnoe_pogashenie'])) $dfilt_chain.= " AND Dosrochnoe_pogashenie='да'"; if ($filt['Kategoriya_zaemshchika']) $dfilt_chain.= " AND (Kategoriya_zaemshchika='{$filt['Kategoriya_zaemshchika']}' OR Kategoriya_zaemshchika='не имеет значения')"; if (isset($filt['Kategoriya_voennym'])) $dfilt_chain.= " AND Kategoriya_voennym='да'"; if (isset($filt['Kategoriya_molodym'])) $dfilt_chain.= " AND Kategoriya_molodym='да'"; if (isset($filt['Pensioneram'])) $dfilt_chain.= " AND Pensioneram='да'"; if (isset($filt['Kategoriya_uchitelyam'])) $dfilt_chain.= " AND Kategoriya_uchitelyam='да'"; if (isset($filt['Kategoriya_vracham'])) $dfilt_chain.= " AND Kategoriya_vracham='да'"; if ($dfilt_chain == '') $open_dop = false; else $open_dop = true; $products2 = Yii::app()->db->createCommand("SELECT Ipoteka.*, MIN(Ipoteka_tab.Rate) AS Rate, IF(LENGTH(Ipoteka.Oformit)>0, 0, 1) AS SortOformit FROM Ipoteka, Ipoteka_tab WHERE Ipoteka.Id = Ipoteka_tab.Ipoteka_Id".$bank_chain.$city_chain.$calc_chain.$filt_chain.$dfilt_chain." GROUP BY Ipoteka_tab.Ipoteka_Id ORDER BY SortOformit, sort_order, Rate")->query(); $bank_num = Yii::app()->db->createCommand("SELECT Ipoteka.*, MIN(Ipoteka_tab.Rate) AS Rate FROM Ipoteka, Ipoteka_tab WHERE Ipoteka.Id = Ipoteka_tab.Ipoteka_Id".$bank_chain.$city_chain.$calc_chain.$filt_chain.$dfilt_chain." GROUP BY Ipoteka.Bank_Id ORDER BY Rate")->query(); $bank_num = count($bank_num); if ($calc['tot'] && $calc['prepay']) { $_SESSION['mortgage_amount'] = $calc['tot']; $products1 = array(); foreach ($products2 as $key=>$product) { if ($calc['doc'] == 'Без подтверждения доходов') { $rate = Yii::app()->db->createCommand("SELECT MIN(Rate) FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']} AND Document='Без подтверждения доходов' AND Currency='{$calc['curr']}' AND Amount_from<={$calc['tot']} AND Amount_to>={$calc['tot']} AND ((Prepay_from<={$prepay} AND Prepay_to=0) OR (Prepay_from<={$prepay} AND Prepay_to>={$prepay})) AND Period_from<={$calc['period']} AND Period_to>={$calc['period']}")->queryScalar(); } else { $rate = Yii::app()->db->createCommand("SELECT MIN(Rate) FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']} AND Currency='{$calc['curr']}' AND Amount_from<={$calc['tot']} AND Amount_to>={$calc['tot']} AND ((Prepay_from<={$prepay} AND Prepay_to=0) OR (Prepay_from<={$prepay} AND Prepay_to>={$prepay})) AND Period_from<={$calc['period']} AND Period_to>={$calc['period']}")->queryScalar(); } $payments_r['rate'] = $rate; if ($calc['curr'] == 'KZT') $payments_r['curr'] = 'тенге'; elseif ($calc['curr'] == 'USD') $payments_r['curr'] = 'долларов'; elseif ($calc['curr'] == 'EUR') $payments_r['curr'] = 'евро'; elseif ($calc['curr'] == 'RUB') $payments_r['curr'] = 'рублей'; $ps = $rate / 100 / 12; $tot = $calc['tot'] * (100 - $prepay) / 100; if ($calc['mode'] == 'a') { if ($product['Komissiya_ann']) { $payments_r['ps'] = $product['Komissiya_ann'] / 100 * $tot; $payments[0] = array( 'loan' => $tot, 'perc' => '', 'ps' => $payments_r['ps'], ); } else { $payments_r['ps'] = 0; } $ap = $tot * ($ps + $ps / (pow(1 + $ps, $calc['period']) - 1)); $payments_r['ap'] = $this->_cutFor3($ap); for ($m = 1; $m <= $calc['period']; $m ++) { if ($m == 1) { $payments[$m]['loan'] = $tot; } else { $payments[$m]['loan'] = $payments[$m - 1]['loan'] + $payments[$m - 1]['perc'] - $ap; } $payments[$m]['perc'] = $payments[$m]['loan'] * $ps; $payments[$m]['ps'] = $ap; $payments_r['ps'] += $payments[$m]['ps']; } } else if ($calc['mode'] == 'd') { if ($product['Komissiya_diff']) { $payments_r['ps'] = $product['Komissiya_diff'] / 100 * $tot; $payments[0] = array( 'loan' => $tot, 'perc' => '', 'ps' => $payments_r['ps'], ); } else { $payments_r['ps'] = 0; } $mloan = $tot / $calc['period']; for ($m = 1; $m <= $calc['period']; $m ++) { $payments[$m]['num'] = $m; if ($m == 1) { $payments[$m]['loan'] = $tot; } else { $payments[$m]['loan'] = $payments[$m - 1]['loan'] + $payments[$m - 1]['perc'] - $payments[$m - 1]['ps']; } $payments[$m]['perc'] = $payments[$m]['loan'] * $ps; $payments[$m]['ps'] = $mloan + $payments[$m]['perc']; $payments_r['ps'] += $payments[$m]['ps']; } $payments_r['ap'] = $this->_cutFor3($payments[1]['ps']).' - ' . $this->_cutFor3($payments[$calc['period']]['ps']); } $products1[$key] = $product; $products1[$key]['pay'] = $payments_r; } } else { $products1 = $products2; } } else { $products1 = Yii::app()->db->createCommand("SELECT Ipoteka.*, MIN(Ipoteka_tab.Rate) AS Rate, IF(LENGTH(Ipoteka.Oformit)>0, 0, 1) AS SortOformit FROM Ipoteka, Ipoteka_tab WHERE Ipoteka.Id = Ipoteka_tab.Ipoteka_Id".$bank_chain.$city_chain." GROUP BY Ipoteka_tab.Ipoteka_Id ORDER BY SortOformit, sort_order, Rate")->query(); $bank_num = Yii::app()->db->createCommand("SELECT Ipoteka.*, MIN(Ipoteka_tab.Rate) AS Rate FROM Ipoteka, Ipoteka_tab WHERE Ipoteka.Id = Ipoteka_tab.Ipoteka_Id".$bank_chain.$city_chain." GROUP BY Ipoteka.Bank_Id ORDER BY Rate")->query(); $bank_num = count($bank_num); $calc = array( 'tot' => '', 'curr' => '', 'prepay' => '', 'punit' => '', 'mode' => '', 'period' => '', 'doc' => '', 'err' => '', ); $filt = array(); $open_dop = false; } /*if (!count($products1) && !isset($_GET['calc'])) { throw new CHttpException(404,'The requested page does not exist.'); }*/ $products = array(); foreach ($products1 as $key=>$product) { $products[$key] = $product; $rate = Yii::app()->db->createCommand("SELECT MIN(Rate) AS Min, MAX(Rate) AS Max FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']}")->queryRow(); if ($rate['Min'] == $rate['Max']) { $products[$key]['tab']['rate'] = $rate['Min'].'%'; } else { $products[$key]['tab']['rate'] = $rate['Min'].'% - '.$rate['Max'].'%'; } $amnt = Yii::app()->db->createCommand("SELECT MIN(Amount_from) AS Min, MAX(Amount_to) AS Max, Currency FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']} GROUP BY Currency")->query(); $products[$key]['tab']['amount'] = ''; foreach ($amnt as $a) { if ($a['Currency'] == 'KZT') $currency = 'тенге'; elseif ($a['Currency'] == 'USD') $currency = 'долларов'; elseif ($a['Currency'] == 'EUR') $currency = 'евро'; elseif ($a['Currency'] == 'RUB') $currency = 'рублей'; if ($products[$key]['tab']['amount']) $products[$key]['tab']['amount'].= ', '; $products[$key]['tab']['amount'].= ($a['Min']?'от '.$this->_cutFor3($a['Min']).' ':'').'до '.$this->_cutFor3($a['Max']).' '.$currency; } $per = Yii::app()->db->createCommand("SELECT MIN(Period_from) AS Min, MAX(Period_to) AS Max FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']}")->queryRow(); $products[$key]['tab']['period'] = ($per['Min']?'от '.$this->_perConv($per['Min']).' ':'').'до '.$this->_perConv($per['Max']); $products[$key]['tab']['bank'] = Bank::model()->findByPk($product['Bank_Id']); } $this->nofound = ''; $products_best = array(); if (!count($products)) { $url = Yii::app()->request->baseUrl.$_SERVER['REQUEST_URI']; $this->nofound = 'Извините, но на данный момент по Вашему запросу ничего не найдено. Вы можете '; if ($bank && $city && $calc['tot']) { $this->nofound.= 'посмотреть те же условия для всех банков города или для этого банка по Казахстану или вернуться и изменить условия.
    '; } else if ($city && $calc['tot']) { $this->nofound.= 'посмотреть те же условия по всему Казахстану или вернуться и изменить условия.
    '; } else if ($bank && $calc['tot']) { $this->nofound.= 'посмотреть те же условия для всех банков или вернуться и изменить условия.
    '; } else if ($bank && $city) { $this->nofound.= 'посмотреть те же условия для всех банков города или для этого банка по Казахстану.
    '; } else if ($bank) { $this->nofound.= 'посмотреть условия для всех банков.
    '; } else if ($city) { $this->nofound.= 'посмотреть условия для банков Казахстана.
    '; } else if ($calc['tot']) { $this->nofound.= 'вернуться и изменить условия.
    '; } $products_best1 = Yii::app()->db->createCommand("SELECT Ipoteka.*, MIN(Ipoteka_tab.Rate) AS Rate FROM Ipoteka, Ipoteka_tab WHERE Ipoteka.Id = Ipoteka_tab.Ipoteka_Id GROUP BY Ipoteka_tab.Ipoteka_Id ORDER BY Rate LIMIT 0, 4")->query(); $products_best = array(); foreach ($products_best1 as $key=>$product) { $products_best[$key] = $product; $rate = Yii::app()->db->createCommand("SELECT MIN(Rate) AS Min, MAX(Rate) AS Max FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']}")->queryRow(); if ($rate['Min'] == $rate['Max']) { $products_best[$key]['tab']['rate'] = $rate['Min'].'%'; } else { $products_best[$key]['tab']['rate'] = $rate['Min'].'% - '.$rate['Max'].'%'; } $amnt = Yii::app()->db->createCommand("SELECT MIN(Amount_from) AS Min, MAX(Amount_to) AS Max, Currency FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']} GROUP BY Currency")->query(); $products_best[$key]['tab']['amount'] = ''; foreach ($amnt as $a) { if ($a['Currency'] == 'KZT') $currency = 'тенге'; elseif ($a['Currency'] == 'USD') $currency = 'долларов'; elseif ($a['Currency'] == 'EUR') $currency = 'евро'; elseif ($a['Currency'] == 'RUB') $currency = 'рублей'; if ($products_best[$key]['tab']['amount']) $products_best[$key]['tab']['amount'].= ', '; $products_best[$key]['tab']['amount'].= ($a['Min']?'от '.$this->_cutFor3($a['Min']).' ':'').'до '.$this->_cutFor3($a['Max']).' '.$currency; } $per = Yii::app()->db->createCommand("SELECT MIN(Period_from) AS Min, MAX(Period_to) AS Max FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']}")->queryRow(); $products_best[$key]['tab']['period'] = ($per['Min']?'от '.$this->_perConv($per['Min']).' ':'').'до '.$this->_perConv($per['Max']); $products_best[$key]['tab']['bank'] = Bank::model()->findByPk($product['Bank_Id']); } } if (!isset($tot)) $tot = false; $banks = "SELECT b.Shortname as 'bank', b.Translit as 'bank_alt', c.GESV as 'gesv', FORMAT(avg(ct.Rate),0) as 'rate', FORMAT(avg(ct.Amount_from),0) as 'amount_from', FORMAT(avg(ct.Amount_to),0) as 'amount_to', FORMAT(avg(ct.Period_from),0) as 'period_from', FORMAT(avg(ct.Period_to),0) as 'period_to' FROM Bank b JOIN Ipoteka c on c.Bank_Id = b.Id JOIN Ipoteka_tab ct on ct.Ipoteka_Id = c.Id WHERE c.GESV is not null AND c.GESV <> '' GROUP BY b.id ORDER BY ct.Rate"; $banks = Yii::app()->db->createCommand($banks)->query(); for ($i = 0; $i < count($products); $i++){ foreach ($this->partner_products_sberbank as $pa_product){ if($products[$i]['Bank'] == 'Сбербанк' && $products[$i]['Name'] == $pa_product['our_title']){ $products[$i]['partner_url'] = '/ipoteka/oformit-ipoteku/'.$products[$i]['Translit']; } // elseif ($products[$i]['Bank'] == 'Альфа-Банк'){ // $products[$i]['partner_url'] = '/ipoteka/oformit-ipoteku/'.$products[$i]['Translit']; // } } } $this->render('index', array( 'products' => $products, 'calc' => $calc, 'curr' => $curr, 'c_periods' => $c_periods, 'qf' => $this->qf, 'filters' => $this->filters, 'filt' => $filt, 'bank_num' => $bank_num, 'dfilters' => $this->dfilters, 'open_dop' => $open_dop, 'title' => $this->title, 'descript' => $this->descript, 'bottom_desc' => $this->bottom_desc, 'breadcrumbs' => $this->breadcrumbs, 'bank' => $bank, 'banks' => $banks, 'city' => $city, 'bpd' => false, 'tot' => $tot, 'nofound' => $this->nofound, 'products_best'=> $products_best, )); } //------------------------------------------------------------------------------------- public function quickIpotekas($bank, $type, $city = null) { $curr = array('KZT', 'USD', 'EUR', 'RUB'); $c_periods = array( '1'=>'1 мес.', '3'=>'3 мес.', '6'=>'6 мес.', '9'=>'9 мес.', '12'=>'1 год', '18'=>'1,5 года', '24'=>'2 года', '36'=>'3 года', '48'=>'4 года', '60'=>'5 лет', '72'=>'6 лет', '84'=>'7 лет', '120'=>'10 лет', '180'=>'15 лет', '240'=>'20 лет', '300'=>'25 лет', '360'=>'30 лет', ); /*foreach ($this->qf as $key=>$f) { $products1 = Yii::app()->db->createCommand("SELECT Ipoteka.*, MIN(Ipoteka_tab.Rate) AS Rate FROM Ipoteka, Ipoteka_tab WHERE Ipoteka.Id = Ipoteka_tab.Ipoteka_Id AND {$this->qf[$key]['cond']} GROUP BY Ipoteka_tab.Ipoteka_Id")->query(); $this->qf[$key]['num'] = count($products1); }*/ if ($city) { $city_chain = " AND Bank_Id IN (SELECT DISTINCT Bank_Id FROM Office WHERE Office.City_Id = (SELECT Id FROM City WHERE Translit='{$city}') AND (Office.Type='Отделение' OR Office.Type='Головной офис') UNION SELECT Id AS Bank_Id FROM Bank WHERE Id IN (51))"; } else { $city_chain = ''; } if ($bank) { $bank_chain = " AND Bank_Id = (SELECT Id FROM Bank WHERE Translit='{$bank}')"; } else { $bank_chain = ''; } if (isset($_GET['calc'])) { $calc = $_GET['calc']; } else { $calc = array( 'tot' => '', 'curr' => '', 'prepay' => '', 'punit' => '', 'mode' => '', 'period' => '', 'doc' => '', 'err' => '', ); } if (isset($_GET['filt'])) { $filt = $_GET['filt']; } else { $filt = array( 'Vid' => '', 'Obesp' => '', 'Kategoriya_zaemshchika' => '', ); } eval($this->qf[$type]['preset']); $calc['tot'] = preg_replace('/[^0-9]/', '', urldecode($calc['tot'])); if (!$calc['tot']) $calc['tot'] = 0; $calc['prepay'] = preg_replace('/[^0-9]/', '', urldecode($calc['prepay'])); if (!$calc['prepay']) $calc['prepay'] = 0; if ($calc['punit'] == 'amm') { $prepay = $calc['prepay'] / $calc['tot'] * 100; } else { $prepay = $calc['prepay']; } if ($calc['tot']) { $_SESSION['mortgage_amount'] = $calc['tot']; $calc_chain = " AND".($calc['doc'] == 'Без подтверждения доходов' || urldecode($calc['doc']) == 'Без подтверждения доходов' ? " Ipoteka_tab.Document='Без подтверждения доходов' AND":'')." Ipoteka_tab.Currency='{$calc['curr']}' AND Ipoteka_tab.Amount_from<={$calc['tot']} AND Ipoteka_tab.Amount_to>={$calc['tot']} AND ((Ipoteka_tab.Prepay_from<={$prepay} AND Ipoteka_tab.Prepay_to=0) OR (Ipoteka_tab.Prepay_from<={$prepay} AND Ipoteka_tab.Prepay_to>={$prepay})) AND Ipoteka_tab.Period_from<={$calc['period']} AND Ipoteka_tab.Period_to>={$calc['period']}"; } else if ($calc['doc'] == 'Без подтверждения доходов' || urldecode($calc['doc']) == 'Без подтверждения доходов') { $calc_chain = " AND Ipoteka_tab.Document='Без подтверждения доходов'"; } else { $calc_chain = ''; } $filt_chain = ''; if ($filt['Vid']) $filt_chain.= " AND {$filt['Vid']}='да'"; if ($filt['Obesp']) $filt_chain.= " AND ({$filt['Obesp']}='да' OR Obesp_bez='да')"; if (isset($filt['Zagorod'])) $filt_chain.= " AND (Vid_dachnyy='да' OR Vid_dom='да' OR Vid_uchastok='да' OR Vid_lubye='да')"; if (isset($filt['Komissiya'])) $filt_chain.= " AND (Komissiya_ann=NULL OR Komissiya_ann=0) AND (Komissiya_diff=NULL OR Komissiya_diff=0) AND (Ne_menshe=NULL OR Ne_menshe=0) AND (Fiksirovannyi_vznos=NULL OR Fiksirovannyi_vznos=0)"; if (isset($filt['Prepay'])) $filt_chain.= " AND (Ipoteka_tab.Prepay_from=0 OR Ipoteka_tab.Prepay_from=NULL)"; if (isset($filt['Online'])) $filt_chain.= " AND (Oformlenie_kredita='он-лайн заявка' OR Oformlenie_kredita='в отделении банка или он-лайн заявка')"; $dfilt_chain = ''; if (isset($filt['Dosrochnoe_pogashenie'])) $dfilt_chain.= " AND Dosrochnoe_pogashenie='да'"; if ($filt['Kategoriya_zaemshchika']) $dfilt_chain.= " AND (Kategoriya_zaemshchika='{$filt['Kategoriya_zaemshchika']}' OR Kategoriya_zaemshchika='не имеет значения')"; if (isset($filt['Kategoriya_voennym'])) $dfilt_chain.= " AND Kategoriya_voennym='да'"; if (isset($filt['Kategoriya_molodym'])) $dfilt_chain.= " AND Kategoriya_molodym='да'"; if (isset($filt['Pensioneram'])) $dfilt_chain.= " AND Pensioneram='да'"; if (isset($filt['Kategoriya_uchitelyam'])) $dfilt_chain.= " AND Kategoriya_uchitelyam='да'"; if (isset($filt['Kategoriya_vracham'])) $dfilt_chain.= " AND Kategoriya_vracham='да'"; if ($dfilt_chain == '') $open_dop = false; else $open_dop = true; $products2 = Yii::app()->db->createCommand("SELECT Ipoteka.*, MIN(Ipoteka_tab.Rate) AS Rate, IF(LENGTH(Ipoteka.Oformit)>0, 0, 1) AS SortOformit FROM Ipoteka, Ipoteka_tab WHERE Ipoteka.Id = Ipoteka_tab.Ipoteka_Id".$bank_chain.$city_chain.$calc_chain.$filt_chain.$dfilt_chain." GROUP BY Ipoteka_tab.Ipoteka_Id ORDER BY SortOformit, sort_order, Rate")->query(); $bank_num = Yii::app()->db->createCommand("SELECT Ipoteka.*, MIN(Ipoteka_tab.Rate) AS Rate FROM Ipoteka, Ipoteka_tab WHERE Ipoteka.Id = Ipoteka_tab.Ipoteka_Id".$bank_chain.$city_chain.$calc_chain.$filt_chain.$dfilt_chain." GROUP BY Ipoteka.Bank_Id ORDER BY Rate")->query(); $bank_num = count($bank_num); if ($calc['tot']) { $_SESSION['mortgage_amount'] = $calc['tot']; $products1 = array(); if ($calc['punit'] == 'amm') { $prepay = $calc['prepay'] / $calc['tot'] * 100; } else { $prepay = $calc['prepay']; } foreach ($products2 as $key=>$product) { if ($calc['doc'] == 'Без подтверждения доходов') { $rate = Yii::app()->db->createCommand("SELECT MIN(Rate) FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']} AND Document='Без подтверждения доходов' AND Currency='{$calc['curr']}' AND Amount_from<={$calc['tot']} AND Amount_to>={$calc['tot']} AND ((Prepay_from<={$prepay} AND Prepay_to=0) OR (Prepay_from<={$prepay} AND Prepay_to>={$prepay})) AND Period_from<={$calc['period']} AND Period_to>={$calc['period']}")->queryScalar(); } else { $rate = Yii::app()->db->createCommand("SELECT MIN(Rate) FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']} AND Currency='{$calc['curr']}' AND Amount_from<={$calc['tot']} AND Amount_to>={$calc['tot']} AND ((Prepay_from<={$prepay} AND Prepay_to=0) OR (Prepay_from<={$prepay} AND Prepay_to>={$prepay})) AND Period_from<={$calc['period']} AND Period_to>={$calc['period']}")->queryScalar(); } $payments_r['rate'] = $rate; if ($calc['curr'] == 'KZT') $payments_r['curr'] = 'тенге'; elseif ($calc['curr'] == 'USD') $payments_r['curr'] = 'долларов'; elseif ($calc['curr'] == 'EUR') $payments_r['curr'] = 'евро'; elseif ($calc['curr'] == 'RUB') $payments_r['curr'] = 'рублей'; $ps = $rate / 100 / 12; $tot = $calc['tot'] * (100 - $prepay) / 100; if ($calc['mode'] == 'a') { if ($product['Komissiya_ann']) { $payments_r['ps'] = $product['Komissiya_ann'] / 100 * $tot; $payments[0] = array( 'loan' => $tot, 'perc' => '', 'ps' => $payments_r['ps'], ); } else { $payments_r['ps'] = 0; } $ap = $tot * ($ps + $ps / (pow(1 + $ps, $calc['period']) - 1)); $payments_r['ap'] = $this->_cutFor3($ap); for ($m = 1; $m <= $calc['period']; $m ++) { if ($m == 1) { $payments[$m]['loan'] = $tot; } else { $payments[$m]['loan'] = $payments[$m - 1]['loan'] + $payments[$m - 1]['perc'] - $ap; } $payments[$m]['perc'] = $payments[$m]['loan'] * $ps; $payments[$m]['ps'] = $ap; $payments_r['ps'] += $payments[$m]['ps']; } } else if ($calc['mode'] == 'd') { if ($product['Komissiya_diff']) { $payments_r['ps'] = $product['Komissiya_diff'] / 100 * $tot; $payments[0] = array( 'loan' => $tot, 'perc' => '', 'ps' => $payments_r['ps'], ); } else { $payments_r['ps'] = 0; } $mloan = $tot / $calc['period']; for ($m = 1; $m <= $calc['period']; $m ++) { $payments[$m]['num'] = $m; if ($m == 1) { $payments[$m]['loan'] = $tot; } else { $payments[$m]['loan'] = $payments[$m - 1]['loan'] + $payments[$m - 1]['perc'] - $payments[$m - 1]['ps']; } $payments[$m]['perc'] = $payments[$m]['loan'] * $ps; $payments[$m]['ps'] = $mloan + $payments[$m]['perc']; $payments_r['ps'] += $payments[$m]['ps']; } $payments_r['ap'] = $this->_cutFor3($payments[1]['ps']).' - ' . $this->_cutFor3($payments[$calc['period']]['ps']); } $products1[$key] = $product; $products1[$key]['pay'] = $payments_r; } } else { $products1 = $products2; } /*if (!count($products1) && !isset($_GET['calc'])) { throw new CHttpException(404,'The requested page does not exist.'); }*/ $products = array(); foreach ($products1 as $key=>$product) { $products[$key] = $product; $rate = Yii::app()->db->createCommand("SELECT MIN(Rate) AS Min, MAX(Rate) AS Max FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']}")->queryRow(); if ($rate['Min'] == $rate['Max']) { $products[$key]['tab']['rate'] = $rate['Min'].'%'; } else { $products[$key]['tab']['rate'] = $rate['Min'].'% - '.$rate['Max'].'%'; } $amnt = Yii::app()->db->createCommand("SELECT MIN(Amount_from) AS Min, MAX(Amount_to) AS Max, Currency FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']} GROUP BY Currency")->query(); $products[$key]['tab']['amount'] = ''; foreach ($amnt as $a) { if ($a['Currency'] == 'KZT') $currency = 'тенге'; elseif ($a['Currency'] == 'USD') $currency = 'долларов'; elseif ($a['Currency'] == 'EUR') $currency = 'евро'; elseif ($a['Currency'] == 'RUB') $currency = 'рублей'; if ($products[$key]['tab']['amount']) $products[$key]['tab']['amount'].= ', '; $products[$key]['tab']['amount'].= ($a['Min']?'от '.$this->_cutFor3($a['Min']).' ':'').'до '.$this->_cutFor3($a['Max']).' '.$currency; } $per = Yii::app()->db->createCommand("SELECT MIN(Period_from) AS Min, MAX(Period_to) AS Max FROM Ipoteka_tab WHERE Ipoteka_Id={$product['Id']}")->queryRow(); $products[$key]['tab']['period'] = ($per['Min']?'от '.$this->_perConv($per['Min']).' ':'').'до '.$this->_perConv($per['Max']); $products[$key]['tab']['bank'] = Bank::model()->findByPk($product['Bank_Id']); } $this->nofound = ''; $products_best = array(); if (!count($products)) { $url = Yii::app()->request->baseUrl.$_SERVER['REQUEST_URI']; $this->nofound = 'Извините, но на данный момент по Вашему запросу ничего не найдено. Вы можете '; if ($bank && $city && $type) { $this->nofound.= 'посмотреть те же условия для всех банков города или для этого банка по Казахстану или вернуться и изменить условия.
    '; } else if ($city && $type) { $this->nofound.= 'посмотреть те же условия по всему Казахстану или вернуться и изменить условия.
    '; } else if ($bank && $type) { $this->nofound.= 'посмотреть те же условия для всех банков или вернуться и изменить условия.
    '; } else if ($bank && $city) { $this->nofound.= 'посмотреть те же условия для всех банков города или для этого банка по Казахстану.
    '; } else if ($bank) { $this->nofound.= 'посмотреть условия для всех банков.
    '; } else if ($city) { $this->nofound.= 'посмотреть условия для банков Казахстана.
    '; } else if ($type) { $this->nofound.= 'вернуться и изменить условия.
    '; } $products_best1 = Yii::app()->db->createCommand("SELECT Credit.*, MIN(Credit_tab.Rate) AS Rate FROM Credit, Credit_tab WHERE Credit.Id = Credit_tab.Credit_Id GROUP BY Credit_tab.Credit_Id ORDER BY Rate LIMIT 0, 4")->query(); $products_best = array(); foreach ($products_best1 as $key=>$product) { $products_best[$key] = $product; $rate = Yii::app()->db->createCommand("SELECT MIN(Rate) AS Min, MAX(Rate) AS Max FROM Credit_tab WHERE Credit_Id={$product['Id']}")->queryRow(); if ($rate['Min'] == $rate['Max']) { $products_best[$key]['tab']['rate'] = $rate['Min'].'%'; } else { $products_best[$key]['tab']['rate'] = $rate['Min'].'% - '.$rate['Max'].'%'; } $amnt = Yii::app()->db->createCommand("SELECT MIN(Amount_from) AS Min, MAX(Amount_to) AS Max, Currency FROM Credit_tab WHERE Credit_Id={$product['Id']} GROUP BY Currency")->query(); $products_best[$key]['tab']['amount'] = ''; foreach ($amnt as $a) { if ($a['Currency'] == 'KZT') $currency = 'тенге'; elseif ($a['Currency'] == 'USD') $currency = 'долларов'; elseif ($a['Currency'] == 'EUR') $currency = 'евро'; elseif ($a['Currency'] == 'RUB') $currency = 'рублей'; if ($products_best[$key]['tab']['amount']) $products_best[$key]['tab']['amount'].= ', '; $products_best[$key]['tab']['amount'].= ($a['Min']?'от '.$this->_cutFor3($a['Min']).' ':'').'до '.$this->_cutFor3($a['Max']).' '.$currency; } $per = Yii::app()->db->createCommand("SELECT MIN(Period_from) AS Min, MAX(Period_to) AS Max FROM Credit_tab WHERE Credit_Id={$product['Id']}")->queryRow(); $products_best[$key]['tab']['period'] = ($per['Min']?'от '.$this->_perConv($per['Min']).' ':'').'до '.$this->_perConv($per['Max']); $products_best[$key]['tab']['bank'] = Bank::model()->findByPk($product['Bank_Id']); } } if ($type == 'ipoteka-bez-podtverzhdeniya-dohoda') $bpd = true; else $bpd = false; if (!isset($tot)) $tot = false; $this->render('index', array( 'products' => $products, 'calc' => $calc, 'curr' => $curr, 'c_periods' => $c_periods, 'qf' => $this->qf, 'filters' => $this->filters, 'filt' => $filt, 'bank_num' => $bank_num, 'dfilters' => $this->dfilters, 'open_dop' => $open_dop, 'title' => $this->title, 'descript' => $this->descript, 'bottom_desc' => $this->bottom_desc, 'breadcrumbs' => $this->breadcrumbs, 'bank' => $bank, 'city' => $city, 'bpd' => $bpd, 'tot' => $tot, 'nofound' => $this->nofound, 'products_best' => $products_best, )); } //------------------------------------------------------------------------------------- public function _cutFor3($num) { if ($num) { $num = round($num, 2); $int = floor($num); $fraction = round(($num - $int) * 100); $res = ''; $cntr = 1; for ($i = strlen($int) - 1; $i >= 0; $i --) { $res = substr($int, $i, 1).$res; if ($cntr % 3 == 0 && $i != 0) {$res = ' '.$res;} $cntr ++; } if ($fraction) { if ($fraction < 10) $res = $res.'.0'.$fraction; else $res = $res.'.'.$fraction; } } else { $res = ''; } return $res; } private function _perConv($per) { if ($per >= 12) { $ret = $per / 12; if (substr($ret, -1) == 1 && $ret != 11 ) { $ret = $ret.' года'; } else { $ret = $ret.' лет'; } } else { $ret = $per.' мес.'; } return $ret; } protected function _decodeMask($str, $bank = null, $city = null) { if ($bank) { $str = str_replace( array( '{Bank.Shortname}', '{Bank.Locative}', '{Bank.Genetive}', ), array( $bank['Shortname'], $bank['Locative'], $bank['Genetive'], ), $str); } if ($city) { $str = str_replace( array( '{City.Name}', '{City.Genetive}', '{City.Locative}', ), array( $city['Name'], $city['Genetive'], $city['Locative'], ), $str); } return $str; } // private function _outSeoData($url, $breadcrumbs, $bankobj = null, $cityobj = null) // { // $seo = Yii::app()->db->createCommand("SELECT * FROM Seo WHERE Url = '{$url}'")->queryRow(); // // $this->page_title = @$seo['Header_title']?$this->_decodeMask($seo['Header_title'], $bankobj, $cityobj):'Not set'; // $this->meta_desc = @$seo['Meta_description']?$this->_decodeMask($seo['Meta_description'], $bankobj, $cityobj):'Not set'; // $this->bottom_desc = @$seo['Bottom_description'] ? $this->_decodeMask($seo['Bottom_description'],$bankobj,$cityobj) : 'Not set'; // $this->title = @$seo['Title'] ? $this->_decodeMask($seo['Title'], $bankobj, $cityobj) : 'Not set'; // $this->descript = @$seo['Description'] ? $this->_decodeMask($seo['Description'], $bankobj, $cityobj) : 'Not set'; // $this->breadcrumbs = @$seo['Breadcrumbs'] ? $breadcrumbs.'
  • '.($this->_decodeMask($seo['Breadcrumbs'], $bankobj, $cityobj)).'
  • ' : 'Not set'; // // return true; // } public function actionOformit_ipoteku_online($ipoteka) { $product = Ipoteka::model()->find(['condition' => "Translit='$ipoteka'"]); $product_id = $product['Id']; $bank_id = $product['Bank_Id']; $bank = Bank::model()->findByPk($product['Bank_Id']); if ($bank['Shortname'] == 'Альфа-Банк'){ return $this->actionOformit_ipoteku_online_AlfaBank(['id' => $product_id, 'translit' => $ipoteka]); } $message = null; $length_of_work = $product['Stazh_raboty']; $credit_gesv = $product['GESV']; $product_tabs = IpotekaTab::model()->findAll(['condition' => "Ipoteka_Id='$product_id'"]); $this->title = 'Онлайн заявка на "'.$product['Name'].'"'; $this->page_title = 'Оформить "'.$product['Name'].'" от банка "'.$bank['Shortname'].'", онлайн заявка на ипотеку'; $credit_currency = []; $credit_amount = []; $credit_period = []; $credit_percent = []; foreach ($product_tabs as $tab){ if(!in_array($tab['Currency'], $credit_currency)){ $credit_currency[] = $tab['Currency']; } if(!in_array($tab['Amount_to'], $credit_amount)){ $credit_amount[] = $tab['Amount_to']; } if(!in_array($tab['Period_to'], $credit_period)){ $credit_period[] = $tab['Period_to']; } if(!in_array($tab['Rate'], $credit_percent)){ $credit_percent[] = $tab['Rate']; } } $credit_currency = implode(", ", $credit_currency); $credit_amount = implode(", ", $credit_amount); $credit_period = implode(", ", $credit_period); $credit_percent = implode(", ", $credit_percent); $min_max = Yii::app()->db->createCommand(" SELECT min(ct.Amount_from) as amount_min, max(ct.Amount_to) as amount_max, min(ct.Period_from) as period_from, max(ct.Period_to) as period_to, min(ct.Rate) as rate_min, ct.Prepay_from as prepay FROM Ipoteka_tab ct WHERE ct.Ipoteka_id = $product_id")->queryAll(); $emails = Yii::app()->db->createCommand( "SELECT b.Shortname as 'bank', b.Translit as 'bank_alt', p.email as 'email', p.name as 'name' FROM Bank b JOIN partner_emails p on p.partner_id = b.Id WHERE b.id = $bank_id AND p.is_active = 1 " )->query(); $cities = City::model()->findAll(); $amount = isset($_SESSION['credit_amount']) ? $_SESSION['credit_amount'] : ''; if($product){ $name = $product['Name']; $partnerName = ''; foreach ($this->partner_products_sberbank as $index => $item) { if($item['our_title'] == $name){ $partnerName = $index; } } } $_SESSION['referrer'] = isset($_GET['id']) ? $_GET['id'] : null; if(isset($_POST['name'])){ if (!isset($_SESSION['products'])) $_SESSION['products'][] = ''; $is_unique_common_request = $this->isUniqueCommonCreditRequest($_POST['iin'], 'ipoteka'); $is_unique_request = $this->isUniqueCreditRequest($_POST['iin'], $product_id); $iin_lenght = strlen($_POST['iin']); if($iin_lenght < 12){ $message = 'Вы ввели некорректный ИИН'; return $this->render('oformit_credit_online', [ 'product' => $name, 'product_entity' => $product, 'product_partner' => $partnerName, 'product_type' => '', 'cities' => $cities, 'amount' => $amount, 'bank' => $bank, 'credit_gesv' => $credit_gesv, 'description' => $product['info_table'], 'credit_currency' => $credit_currency, 'credit_amount' => $credit_amount, 'credit_period' => $credit_period, 'credit_percent' => $credit_percent, 'length_of_work' => $length_of_work, 'message' => $message, 'product_tabs' => $product_tabs, 'min_max' => $min_max, 'title' => $this->title, 'page_title' => $this->page_title, ]); } if ($is_unique_request && $is_unique_common_request){ $uid = $this->getCreditOperationId(); $phone = trim(str_replace(['(', ')', ' ', '+', '-'], '', $_POST['phone'])); if (substr($phone, 0, 1) !== '7' && strlen($phone) == 11) { $phone[0] = 7; } if (strlen($phone) < 11){ $phone = '7'.$phone; } $product_title = $this->partner_products_sberbank[$_POST['product']]['partner_title']; $referrer = $_SESSION['referrer']; $insert_data = [ '\'mortgage\'', $product_id, '\''.$_POST['name'].'\'', '\''.$_POST['lastname'].'\'', '\''.$_POST['middlename'].'\'', '\''.$phone.'\'', '\''.$_POST['iin'].'\'', $_POST['amount'], '\''.$_POST['city'].'\'', '\''.$referrer.'\'', ]; $insert_data = implode(", ",$insert_data); $stored_data = Yii::app()->db->createCommand( "INSERT INTO product_requests (product_type, product_id, firstname, lastname, middlename, phone, iin, amount, city, http_referer) VALUES ($insert_data); " )->query(); $body = "[LAST NAME:".$_POST['lastname']. "]
    "; $body .= "[FIRST NAME:".$_POST['name']. "]
    "; $body .= "[MIDDLE NAME:".$_POST['middlename']. "]
    "; $body .= "[IIN:".$_POST['iin']. "]
    "; $body .= "[TYPE:".$_POST['type']. "]
    "; $body .= "[FILIAL:".$_POST['city']. "]
    "; $body .= "[MOBILE PHONE:".$phone. "]
    "; $body .= "[PRODUCT:".$product_title. "]
    "; $body .= "[AMOUNT:".$_POST['amount']. "]
    "; $body .= "[OPPTY ID:".$uid. "]
    "; $mail = new \PHPMailer\PHPMailer\PHPMailer(); // $mail->SMTPDebug = 2; // Enable verbose debug output $mail->isSMTP(); // Set mailer to use SMTP $mail->Host = 'smtp.yandex.ru'; // Specify main and backup SMTP servers $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = 'ceo@bai.kz'; // SMTP username $mail->Password = ''; $mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted $mail->Port = 465; // TCP port to connect to $mail->CharSet = 'UTF-8'; //Recipients $mail->setFrom('ceo@bai.kz', 'BAI.KZ'); foreach ($emails as $i => $item) { $mail->addBCC($item['email'], $item['name'] != null ? $item['name'] : ''); } $mail->isHTML(true); // Set email format to HTML $mail->Subject = 'Заявка на "'.$product_title.'" с сайта Bai.kz'; $mail->Body = $body; $mail->send(); $_SESSION['products'][] = $_POST['product']; $message = 'Заявка успешно отправлена!'; }else{ $message = 'Вы уже отправляли заявку на этот продукт'; } } $this->render('oformit_credit_online', [ 'product' => $name, 'product_entity' => $product, 'product_partner' => $partnerName, 'product_type' => '', 'cities' => $cities, 'amount' => $amount, 'bank' => $bank, 'credit_gesv' => $credit_gesv, 'description' => $product['info_table'], 'credit_currency' => $credit_currency, 'credit_amount' => $credit_amount, 'credit_period' => $credit_period, 'credit_percent' => $credit_percent, 'length_of_work' => $length_of_work, 'message' => $message, 'product_tabs' => $product_tabs, 'min_max' => $min_max, 'title' => $this->title, 'page_title' => $this->page_title, ]); } private function getCreditOperationId() { $uid = Yii::app()->db->createCommand("SELECT max(r.id) as id FROM product_requests r")->queryRow()['id'] + 1; $uid = 'BAI_'.$uid; return $uid; } // private function isUniqueCreditRequest($iin, $product_id) // { // $command = "SELECT r.* // FROM product_requests r // WHERE r.iin = '$iin' // AND DATE (r.created_at) = CURDATE() // AND r.product_type = 'mortgage' // AND r.product_id = $product_id // "; // $is_unique = Yii::app()->db->createCommand($command)->queryRow(); // if ($is_unique['id'] != null){ // return false; // } // return true; // // } private function actionOformit_ipoteku_online_AlfaBank($ipoteka) { $translit = $ipoteka['translit']; $product = Ipoteka::model()->find(['condition' => "Translit='$translit'"]); $product_id = $product['Id']; $bank_id = $product['Bank_Id']; $bank = Bank::model()->findByPk($product['Bank_Id']); $message = null; $length_of_work = $product['Stazh_raboty']; $credit_gesv = $product['GESV']; $product_tabs = IpotekaTab::model()->findAll(['condition' => "Ipoteka_Id='$product_id'"]); $credit_currency = []; $credit_amount = []; $credit_period = []; $credit_percent = []; foreach ($product_tabs as $tab){ if(!in_array($tab['Currency'], $credit_currency)){ $credit_currency[] = $tab['Currency']; } if(!in_array($tab['Amount_to'], $credit_amount)){ $credit_amount[] = $tab['Amount_to']; } if(!in_array($tab['Period_to'], $credit_period)){ $credit_period[] = $tab['Period_to']; } if(!in_array($tab['Rate'], $credit_percent)){ $credit_percent[] = $tab['Rate']; } } $credit_currency = implode(", ", $credit_currency); $credit_amount = implode(", ", $credit_amount); $credit_period = implode(", ", $credit_period); $credit_percent = implode(", ", $credit_percent); $emails = Yii::app()->db->createCommand( "SELECT b.Shortname as 'bank', b.Translit as 'bank_alt', p.email as 'email', p.name as 'name' FROM Bank b JOIN partner_emails p on p.partner_id = b.Id WHERE b.id = $bank_id AND p.is_active = 1 " )->query(); $cities = City::model()->findAll(); $amount = isset($_SESSION['credit_amount']) ? $_SESSION['credit_amount'] : ''; if($product){ $name = $product['Name']; $partnerName = ''; foreach ($this->partner_products_sberbank as $index => $item) { if($item['our_title'] == $name){ $partnerName = $index; } } } $_SESSION['referrer'] = isset($_GET['id']) ? $_GET['id'] : null; if(isset($_POST['name'])){ if (!isset($_SESSION['products'])) $_SESSION['products'][] = ''; $can_confirm = isset($_POST['can_confirm']) ? 1 : 0; $has_expiration = isset($_POST['has_expiration']) ? 1 : 0; $birth_date = $_POST['birth_date']; $age = DateTime::createFromFormat('Y-m-d', $birth_date) ->diff(new DateTime('now')) ->y; $is_age = $age < 21 ? false : true; $message = ''; if ($this->isUniqueCreditRequest($_POST['iin'], $product_id)){ $uid = $this->getCreditOperationId(); $phone = trim(str_replace(['(', ')', ' ', '+', '-'], '', $_POST['phone'])); if (substr($phone, 0, 1) !== '7' && strlen($phone) == 11) { $phone[0] = 7; } if (strlen($phone) < 11){ $phone = '7'.$phone; } $referrer = $_SESSION['referrer']; $insert_data = [ '\'mortgage\'', $product_id, '\''.$_POST['name'].'\'', '\''.$_POST['lastname'].'\'', '\''.$_POST['middlename'].'\'', '\''.$phone.'\'', '\''.$_POST['iin'].'\'', $_POST['amount'], '\''.$_POST['city'].'\'', '\''.$referrer.'\'', '\''.$_POST['birth_date'].'\'', '\''.$_POST['period'].'\'', '\''.$_POST['monthly_earnings'].'\'', '\''.$_POST['monthly_extinction'].'\'', '\''.$can_confirm.'\'', '\''.$has_expiration.'\'', ]; $insert_data = implode(", ",$insert_data); $stored_data = Yii::app()->db->createCommand( "INSERT INTO product_requests ( product_type, product_id, firstname, lastname, middlename, phone, iin, amount, city, http_referer, birth_date, period, monthly_earnings, monthly_extinction, can_confirm, has_expiration ) VALUES ($insert_data); " )->query(); // $body = "[LAST NAME:".$_POST['lastname']. "]
    "; // $body .= "[FIRST NAME:".$_POST['name']. "]
    "; // $body .= "[MIDDLE NAME:".$_POST['middlename']. "]
    "; // $body .= "[IIN:".$_POST['iin']. "]
    "; // $body .= "[TYPE:".$_POST['type']. "]
    "; // $body .= "[FILIAL:".$_POST['city']. "]
    "; // $body .= "[MOBILE PHONE:".$phone. "]
    "; // $body .= "[PRODUCT:".$product_title. "]
    "; // $body .= "[AMOUNT:".$_POST['amount']. "]
    "; // $body .= "[OPPTY ID:".$uid. "]
    "; // // $mail = new \PHPMailer\PHPMailer\PHPMailer(); // // $mail->SMTPDebug = 2; // Enable verbose debug output // $mail->isSMTP(); // Set mailer to use SMTP // $mail->Host = 'smtp.yandex.ru'; // Specify main and backup SMTP servers // $mail->SMTPAuth = true; // Enable SMTP authentication // $mail->Username = 'ceo@bai.kz'; // SMTP username // $mail->Password = 'alac1259'; // SMTP password // $mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted // $mail->Port = 465; // TCP port to connect to // $mail->CharSet = 'UTF-8'; // // //Recipients // $mail->setFrom('ceo@bai.kz', 'BAI.KZ'); // foreach ($emails as $i => $item) { // // $mail->addAddress($item['email'], $item['name'] != null ? $item['name'] : ''); // } // $mail->isHTML(true); // Set email format to HTML // $mail->Subject = 'Заявка на "'.$product_title.'" с сайта Bai.kz'; // $mail->Body = $body; // // $mail->send(); $_SESSION['products'][] = $_POST['product']; $message = 'Заявка успешно отправлена!'; }else{ $message = 'Вы уже отправляли заявку на этот продукт'; } } $this->render('oformit_credit_online_alfa_bank', [ 'product' => $name, 'product_partner' => $partnerName, 'product_type' => '', 'cities' => $cities, 'amount' => $amount, 'bank' => $bank, 'credit_gesv' => $credit_gesv, 'description' => $product['info_table'], 'credit_currency' => $credit_currency, 'credit_amount' => $credit_amount, 'credit_period' => $credit_period, 'credit_percent' => $credit_percent, 'length_of_work' => $length_of_work, 'message' => $message, 'product_tabs' => $product_tabs, ]); return null; } } ?> Bai.kz - кредиты, ипотека, автокредиты, займы и банки Казахстана

    Error 404

    Невозможно обработать запрос "ipoteka/default/index".
    X