📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
otelscripti.demodesign.com.tr
/
application
/
controllers
📝
ReservationController.php
← Geri Dön
<?php class ReservationController extends CI_Controller { /** * @var string */ public $module = 'reservation'; /** * index */ public function index() { // Model dosyası $this->load->model('reservation'); // Oda modelie $this->load->model('room'); // Dil dosyası $this->lang->load('modules/reservation'); // ;Oturum sınıfı $this->load->library('session'); $begin = new DateTime($this->input->get('girisTarihi')); $end = new DateTime($this->input->get('cikisTarihi')); $interval = DateInterval::createFromDateString('1 day'); $period = new DatePeriod($begin, $interval, $end); $konaklama = iterator_count($period); $this->site->assets('css', array( 'public/plugin/datepicker/datepicker.css', )); $this->site->assets('js', array( 'public/plugin/datepicker/bootstrap-datepicker.js', 'public/plugin/datepicker/bootstrap-datepicker.tr.js', )); // Odaları oku foreach ($this->room->all() as $room) { $this->session->unset_userdata('oda_' . $room->id); // Müsaitliğe bak $musaitlikKontrol = $this->reservation->getMusaitlikKontrol([ 'room_id' => $room->id, 'date >=' => date('Y-m-d', strtotime($this->input->get('girisTarihi'))), 'date <=' => date('Y-m-d', strtotime($this->input->get('cikisTarihi'))), 'musteri >=' => $this->input->post('rooms'), ]); // Müsaitliği kontrol etttir if ($musaitlikKontrol) { $musait = true; } else { $musait = false; } // Yetişkişn için özel fiyat kontrolü yap $sqlYetiskinOzelFiyat = $this->room->getOzelFiyat([ 'room_id' => $room->id, 'group_id' => 1, 'count' => $this->input->get('adults'), 'start <=' => date('Y-m-d', strtotime($this->input->get('girisTarihi'))), 'end >=' => date('Y-m-d', strtotime($this->input->get('cikisTarihi'))), ]); // Fiyat var ise onu baz al if ($sqlYetiskinOzelFiyat) { $fiyatYetiskin = $sqlYetiskinOzelFiyat->money; } else { $fiyatYetiskin = $this->input->get('adults') * $room->yetiskin_fiyat; } // Çocuk için özel fiyat kontrolü yap $sqlCocukOzelFiyat = $this->room->getOzelFiyat([ 'room_id' => $room->id, 'group_id' => 2, 'count' => $this->input->get('children'), 'start <=' => date('Y-m-d', strtotime($this->input->get('girisTarihi'))), 'end >=' => date('Y-m-d', strtotime($this->input->get('cikisTarihi'))), ]); // Fiyat var ise onu baz al if ($sqlCocukOzelFiyat) { $fiyatCocuk = $sqlCocukOzelFiyat->money; } else { $fiyatCocuk = $this->input->get('children') * $room->cocuk_fiyat; } // Oda fiyatını hesapla $odaFiyat = (($fiyatCocuk + $fiyatYetiskin) * $konaklama) * $this->input->get('rooms'); // Oda bilgisini depola $diziRoom = [ 'room' => $room, 'odaFiyat' => $odaFiyat, 'yetiskinFiyat' => $fiyatYetiskin, 'musait' => $musait, 'musaitlik' => $musaitlikKontrol, ]; // Oturuma kaydet $this->session->set_userdata('oda_' . $room->id, $diziRoom); // Şablona gönder $rooms[] = $diziRoom; } // Verileri temizle $this->session->unset_userdata('input'); // Form verilerini oturuma kaydet $this->session->set_userdata('input', [ 'girisTarihi' => $this->input->get('girisTarihi'), 'cikisTarihi' => $this->input->get('cikisTarihi'), 'rooms' => $this->input->get('rooms'), 'adults' => $this->input->get('adults'), 'children' => $this->input->get('children'), 'konaklama' => $konaklama ]); // Şablon $this->load->view('master', [ 'view' => 'reservation/index', 'rooms' => !empty($rooms) ? $rooms : [], 'konaklama' => $konaklama, ]); } /** * calculate * */ public function calculate() { // Oturum sınıfı $this->load->library('session'); // Varsa daha önceden kalan oda id si sil $this->session->unset_userdata('roomId'); // Oda id sini kaydet $this->session->set_userdata('roomId', $this->uri->segment(3)); // Oda bilgisini al $room = $this->session->userdata('oda_' . $this->uri->segment(3)); // Oda müsait değilse hata şablonunu dönder if (!$room['musait']) { return $this->load->view('master', [ 'view' => 'reservation/musaitlik', 'data' => [] ]); } // Şablon $this->load->view('master', [ 'view' => 'reservation/calculate', 'input' => $this->session->userdata('input'), 'room' => $room, ]); } /** * save * */ public function save() { // Post yoksa hata bas if (!$this->input->post()) { show_404(); } $this->load->model('Reservation'); // Verileri kaydet $this->reservation->insert(); // Başarılı sayfasıan yönlendir return redirect('rezervasyon/basarili'); } /** * success * */ public function success() { //$this->session->sess_destroy(); // Şablon $this->load->view('master', [ 'view' => 'reservation/success', 'data' => [ ] ]); } }
💾 Kaydet
İptal
📝 Yeniden Adlandır
İptal
Kaydet
🔐 Dosya İzinleri (chmod)
İzin Değeri:
Hızlı Seçim:
777
755
644
600
777
= Herkes okur/yazar/çalıştırır
755
= Sahip tam, diğerleri okur/çalıştırır
644
= Sahip okur/yazar, diğerleri okur
600
= Sadece sahip okur/yazar
İptal
Uygula