<?php
class RentalVillas extends CI_Controller
{ public $viewFolder = "";
public function __construct()
{
parent::__construct();
$this->safety();
$this->load->model("RentalVillas_model");
$this->load->model("RV_availability_model");
$this->load->model("RentalVillas_image_model");
$this->load->model("RV_room_features_model");
$this->load->model("RV_room_image_model");
$this->viewFolder = "admin/villas";
$this->load->helper('security');
}
function safety() // session kontrol metodu
{
/* diğer yol. $check = $this->session->userdata("check"); //check adlı sessionda tutulan değeri userdata ile okuyoruz.
$info = $this->session->userdata("info");
if(!isset($check) || $check != true ){ //check isimli sessionda değer var mı değer var ve true ise userop sayfasına yönlendir.
redirect("userop");
} */
// helperda get active isimli fonksiyonu tanımladık ve burada kullandık.
if(!get_active_user()){
redirect("userop");
}
}
public function index()
{
$viewData = new stdClass();
$result = $this->RentalVillas_model->get_all();
$viewData->vievFolder = $this->viewFolder;
$viewData->subVievFolder = "list";
$viewData->info = $result;
$viewData->routeWay = $this->routeWay;
$this->load->view("{$viewData->vievFolder}/{$viewData->subVievFolder}", $viewData);
}
public function delete($id)//silme metodu
{
$delete = $this->RentalVillas_model->delete(
array(
"id" => $id
)
);
if($delete){
// Oda özelliklerini siler
$delete3 = $this->RV_room_features_model->delete(
array(
"villa_id" => $id
)
);
// ## end ##
// villa resmini siler
$file_name = $this->RentalVillas_image_model->get(
array(
"villa_id" => $id
)
);
$delete2 = $this->RentalVillas_image_model->delete(
array(
"villa_id" => $id
)
);
if($delete2){
unlink("uploads/villas/$file_name->img_url");
}
// ## end ##
$alert = array(
"tittle" => "İşlem başarılı",
"text" => "Kayıt silindi.",
"type" => "success"
);
}
else{
$alert = array(
"tittle" => "İşlem başarısız !!!",
"text" => "Kayıt silinirken bir hata oluştu.",
"type" => "success"
);
}
$this->session->set_flashdata("alert",$alert);
redirect("$this->routeWay");
}
public function add_v() //ürün ekleme ekranı (add view)
{
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder; //viewdataya viewfolder atadık
$viewData->subViewFolder = "add"; //viewdataya subviewv folderı atadık
$viewData->routeWay = $this->routeWay;
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData ); // ve view datayı viewe paketledik.
}
public function add() //ürün ekleme metodu
{
$this->load->library("form_validation");
$this->form_validation->set_rules("title","Başlık","required|trim");
$this->form_validation->set_rules("numroom","Oda Sayısı","required|trim");
$this->form_validation->set_rules("capacity","Kişi Kapasitesi","required|trim");
$this->form_validation->set_rules("entry","Giriş Saati","required|trim");
$this->form_validation->set_rules("out","Çıkış Saati","required|trim");
$this->form_validation->set_rules("price","Günlük Ücret","required|trim");
$this->form_validation->set_rules("adress","Adres","required|trim");
$this->form_validation->set_message(
array(
"required" => "<div class=\"alert alert-danger\" role=\"alert\"><strong>%s</strong> Boş Bırakılamaz !!!</div>"
)
);
$validate = $this->form_validation->run(); // donen cevap true veya false dur. true ise kurallardan başarılı bir şekilde geçmiştir false ise kurallara takılmıştır.
if($validate){
$data = array(
"title" => $this->input->post("title"),
"url" => sef($this->input->post("title")), //helper içinden sef fonksiyonunu kullandık. (convert to seo)
"person_capacity" => $this->input->post("capacity"),
"number_of_rooms" => $this->input->post("numroom"),
"number_of_bath" => $this->input->post("numbath"),
"distanceto_beach" => $this->input->post("disbeach"),
"distance_to_center" => $this->input->post("discenter"),
"distance_to_airport" => $this->input->post("disairport"),
"distance_to_market " => $this->input->post("dismarket"),
"entry_time" => $this->input->post("entry"),
"check_out_time" => $this->input->post("out"),
"daily_price" => $this->input->post("price"),
"deposit" => $this->input->post("deposit"),
"cleaning_time" => $this->input->post("cleantime"),
"adress" => $this->input->post("adress"),
"createdAt" => date("Y-m-d")
);
$data = $this->security->xss_clean($data);
$insert = $this->RentalVillas_model->add($data);
if($insert){
// alert eklemenin diğer yolu. $this->session->set_flashdata("done", "<div class=\"alert alert-success\" role=\"alert\"><strong>Ürün başarıyla eklendi.</strong></div>");
$alert = array(
"tittle" => "İşlem başarılı",
"text" => "Yeni kayıt eklendi.",
"type" => "success"
);
}
else{
$alert = array(
"tittle" => "İşlem başarısızdır !!!",
"text" => "Kayıt ekenirken bir hata oluştu.",
"type" => "success"
);
}
// İşlemin sonucunu sessiona yazar . . .
$this->session->set_flashdata("alert",$alert); // alert isimli bir sessionumuz olacak ve $alert değişkenini buna atayacağız.
redirect("$this->routeWay");
}
else{
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder; //viewdataya viewfolder atadık
$viewData->subViewFolder = "add"; //viewdataya subviewv folderı atadık
$viewData->routeWay = $this->routeWay;
$viewData->form_error = true;
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData ); // ve view datayı viewe paketledik.
}
}
public function update_v($id = null) //ürün güncelleme ekranı (update view)
{
$viewData = new stdClass();
$item = $this->RentalVillas_model->get(
array(
"id" => $id
)
);
/* viewe gönderilecek değişkenlerin set edilmesi */
$viewData->viewFolder = $this->viewFolder; //viewdataya viewfolder atadık
$viewData->subViewFolder = "update"; //viewdataya subviewv folderı atadık
$viewData->routeWay = $this->routeWay;
$viewData->item = $item; // $itemı viewdataya yükledik
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData); // ve view datayı viewe paketledik.
}
public function update($id) //ürün güncelleme metodu
{
$this->load->library("form_validation");
$this->form_validation->set_rules("title","Başlık","required|trim");
$this->form_validation->set_rules("numroom","Oda Sayısı","required|trim");
$this->form_validation->set_rules("capacity","Kişi Kapasitesi","required|trim");
$this->form_validation->set_rules("entry","Giriş Saati","required|trim");
$this->form_validation->set_rules("out","Çıkış Saati","required|trim");
$this->form_validation->set_rules("price","Günlük Ücret","required|trim");
$this->form_validation->set_rules("adress","Adres","required|trim");
$this->form_validation->set_message(
array(
"required" => "<div class=\"alert alert-danger\" role=\"alert\"><strong>%s</strong> Boş Bırakılamaz !!!</div>"
)
);
$validate = $this->form_validation->run(); // donen cevap true veya false dur. true ise kurallardan başarılı bir şekilde geçmiştir false ise kurallara takılmıştır.
if($validate){
$data = array(
"title" => $this->input->post("title"),
"url" => sef($this->input->post("title")), //helper içinden sef fonksiyonunu kullandık. (convert to seo)
"person_capacity" => $this->input->post("capacity"),
"number_of_rooms" => $this->input->post("numroom"),
"number_of_bath" => $this->input->post("numbath"),
"distanceto_beach" => $this->input->post("disbeach"),
"distance_to_center" => $this->input->post("discenter"),
"distance_to_airport" => $this->input->post("disairport"),
"distance_to_market " => $this->input->post("dismarket"),
"entry_time" => $this->input->post("entry"),
"check_out_time" => $this->input->post("out"),
"daily_price" => $this->input->post("price"),
"deposit" => $this->input->post("deposit"),
"cleaning_time" => $this->input->post("cleantime"),
"adress" => $this->input->post("adress"),
"createdAt" => date("Y-m-d")
);
$data = $this->security->xss_clean($data);
$update = $this->RentalVillas_model->update(
array(
"id" => $id
), $data);
if($update){
$alert = array(
"tittle" => "İşlem başarılı",
"text" => "Kayıt güncellendi.",
"type" => "success"
);
// $this->session->set_flashdata("done", "<div class=\"alert alert-success\" role=\"alert\"><strong>Kayıt başarıyla güncellendi.</strong></div>");
}
else{
$alert = array(
"tittle" => "İşlem başarısız",
"text" => "Kayıt güncellenirken bir hata oluştu.",
"type" => "error"
);
}
$this->session->set_flashdata("alert",$alert); // alert isimli bir sessionumuz olacak ve $alert değişkenini buna atayacağız.
redirect("$this->routeWay");
}
else{
$viewData = new stdClass();
$item = $this->RentalVillas_model->get(
array(
"id" => $id
)
);
$viewData->viewFolder = $this->viewFolder; //viewdataya viewfolder atadık
$viewData->subViewFolder = "update"; //viewdataya subviewv folderı atadık
$viewData->form_error = true;
$viewData->item = $item;
$viewData->routeWay = $this->routeWay;
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData ); // ve view datayı viewe paketledik.
}
}
public function location_info($id){
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "location_info";
$viewData->routeWay = $this->routeWay;
$viewData->item = $this->RentalVillas_model->get( array(
"id" => $id
)
);
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData);
}
/*############### resim işlemleri ##################*/
public function image_v($id = null)//resimler sayfasını getiren metod
{
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder; //viewdataya viewfolder atadık
$viewData->subViewFolder = "image"; //viewdataya subviewv folderı atadık
$viewData->routeWay = $this->routeWay;
$viewData->item = $this->RentalVillas_model->get( array(
"id" => $id
)
);
$viewData->item_images = $this->RentalVillas_image_model->get_all( //yukarıdan ürüne ait id yi aldık o id ye yüklenmiş resimleri burada viewdataya load yaptık.
array(
"villa_id" => $id
)
);
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}",$viewData); // ve view datayı viewe paketledik.
}
public function image_upload($id)// resim yükleme metodu ***önemli !!!***
{
$config["allowed_types"] = "jpg|jpeg|png"; //Yüklenecek dosyaların türü = allowed types.
$config["upload_path"] = "uploads/villas/"; //Bu dosyalar nereye yüklenecek.
$config["encrypt_name"] = true; //view tarafında da bu komutu kullanabilmek için form action içinde "enctype="multipart/form-data" " yazdık.
$this->load->library("upload",$config);
$upload = $this->upload->do_upload("file");
if($upload){
$uploaded_file = $this->upload->data("file_name");
$this->RentalVillas_image_model->add(
array(
"img_url" => $uploaded_file,
"rank" => 0,
"isActive" => 1,
"createdAt" => date("Y-m-d"),
"villa_id" => $id,
"isCover" => 0
)
);
}
}
public function refresh_image_list($id)
{
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder; //viewdataya viewfolder atadık
$viewData->routeWay = $this->routeWay;
$viewData->item_images = $this->RentalVillas_image_model->get_all( //yukarıdan ürüne ait id yi aldık o id ye yüklenmiş resimleri burada viewdataya load yaptık.
array(
"villa_id" => $id
)
);
$render_html = $this->load->view("{$viewData->viewFolder}/render_elements/image_list_v",$viewData,true);
echo $render_html;
}
public function isActiveSetter_image($id)// aktif pasif döüşümünü viewden alığ db ye gönderen metod
{
if($id){
$isActive = ($this->input->post("data") == "true") ? 1 : 0 ; // tek satırlık if komutu. if = "?" eğer içerdeki veri true ise 1 ver.
$this->RentalVillas_image_model->update(
array(
"id" => $id
),
array(
"isActive" => $isActive
)
);
}
}
public function isCoverSetter($id,$parent_id)// kapak fotoğrafı yapmaya yarayan method. $parent_id = view den gelecek olan product_id
{
if($id && $parent_id){
$isCover = ($this->input->post("data") == "true") ? 1 : 0 ; // tek satırlık if komutu. if = "?" eğer içerdeki veri true ise 1 ver.
//Kapak yapılmak istenen kayıt
$this->RentalVillas_image_model->update(
array(
"id" => $id,
"villa_id" => $parent_id
),
array(
"isCover" => $isCover
)
);
//Kapak yapılmayan diğer kayıtlar
$this->RentalVillas_image_model->update(
array(
"id !=" => $id,
"villa_id" => $parent_id
),
array(
"isCover" => 0
)
);
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder; //viewdataya viewfolder atadık
$viewData->subViewFolder = "image"; //viewdataya subviewv folderı atadık
$viewData->routeWay = $this->routeWay;
$viewData->item_images = $this->RentalVillas_image_model->get_all( //yukarıdan ürüne ait id yi aldık o id ye yüklenmiş resimleri burada viewdataya load yaptık.
array(
"villa_id" => $parent_id
)
);
$render_html = $this->load->view("{$viewData->viewFolder}/render_elements/image_list_v",$viewData,true);
echo $render_html;
}
}
public function delete_image($id,$parent_id)//silme metodu
{
$file_name = $this->RentalVillas_image_model->get(
array(
"id" => $id
)
);
$delete = $this->RentalVillas_image_model->delete(
array(
"id" => $id
)
);
if($delete){
unlink("uploads/villas/$file_name->img_url");
redirect("$this->routeWay/image_v/$parent_id");
}
else {
redirect("$this->routeWay/image_v/$parent_id");
}
}
/*############### resim işlemleri bitiş ##################*/
/* ############# Villa Özellikleri ############## */
public function villa_features_v($id = null)
{
$viewData = new stdClass();
$viewData->routeWay = $this->routeWay;
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "villa_features/features";
$viewData->item = $this->RentalVillas_model->get( array( // unutma !!!
"id" => $id
)
);
$viewData->item_feature = $this->RentalVillas_model->get_all_features( //yukarıdan ürüne ait id yi aldık o id ye yüklenmiş resimleri burada viewdataya load yaptık.
array(
"villa_id" => $id
)
);
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData);
}
public function add_feature_v($id = null){
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "villa_features/add_feature";
$viewData->routeWay = $this->routeWay;
$viewData->item = $this->RentalVillas_model->get( array( // unutma !!!
"id" => $id
)
);
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}" , $viewData);
}
public function add_feature($id) //Villa özellik ekleme metodu
{
$this->load->library("form_validation");
$this->form_validation->set_rules("name","Özellik Adı","required|trim");
$this->form_validation->set_message(
array(
"required" => "<div class=\"alert alert-danger\" role=\"alert\"><strong>%s</strong> Boş Bırakılamaz !!!</div>"
)
);
$validate = $this->form_validation->run(); // donen cevap true veya false dur. true ise kurallardan başarılı bir şekilde geçmiştir false ise kurallara takılmıştır.
if($validate){
$data = array(
"villa_id" => $id,
"feature_name" => $this->input->post("name"),
"description" => $this->input->post("description")
);
$data = $this->security->xss_clean($data);
$insert = $this->RentalVillas_model->add_feature($data);
if($insert){
// alert eklemenin diğer yolu. $this->session->set_flashdata("done", "<div class=\"alert alert-success\" role=\"alert\"><strong>Ürün başarıyla eklendi.</strong></div>");
$alert = array(
"tittle" => "İşlem başarılı",
"text" => "Yeni kayıt eklendi.",
"type" => "success"
);
}
else{
$alert = array(
"tittle" => "İşlem başarısızdır !!!",
"text" => "Kayıt ekenirken bir hata oluştu.",
"type" => "success"
);
}
// İşlemin sonucunu sessiona yazar . . .
$this->session->set_flashdata("alert",$alert); // alert isimli bir sessionumuz olacak ve $alert değişkenini buna atayacağız.
redirect("$this->routeWay/villa_features_v/$id");
}
else{
$viewData = new stdClass();
$viewData->item = $this->RentalVillas_model->get( array( // unutma !!! buradan viewe item içersinde ekleme yapacağımız villanın id sini gönderiyor
"id" => $id
)
);
$viewData->routeWay = $this->routeWay;
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "villa_features/add_feature";
$viewData->form_error = true;
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData ); // ve view datayı viewe paketledik.
}
}
public function delete_feature($id,$id2)// özellik silme metodu. id2 villa id si view den geliyor
{
$delete = $this->RentalVillas_model->delete_feature(
array(
"id" => $id
)
);
if($delete){
$alert = array(
"tittle" => "İşlem başarılı",
"text" => "Kayıt silindi.",
"type" => "success"
);
}
else{
$alert = array(
"tittle" => "İşlem başarısız !!!",
"text" => "Kayıt silinirken bir hata oluştu.",
"type" => "success"
);
}
$this->session->set_flashdata("alert",$alert);
redirect("$this->routeWay/villa_features_v/$id2");
}
// Villaya ait oda özellikleri
public function room_image_upload($id){
$config["allowed_types"] = "jpg|jpeg|png"; //Yüklenecek dosyaların türü = allowed types.
$config["upload_path"] = "uploads/room/"; //Bu dosyalar nereye yüklenecek.
$config["encrypt_name"] = true; //view tarafında da bu komutu kullanabilmek için form action içinde "enctype="multipart/form-data" " yazdık.
$this->load->library("upload",$config);
$upload = $this->upload->do_upload("file");
if($upload){
$uploaded_file = $this->upload->data("file_name");
$this->RV_room_image_model->add(
array(
"img_url" => $uploaded_file,
"isActive" => 1,
"createdAt" => date("Y-m-d"),
"room_id" => $id,
"isCover" => 0
)
);
}
}
public function room_image_v($id=null)
{
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "room_features/image";
$viewData->routeWay = $this->routeWay;
$viewData->item = $this->RV_room_features_model->get( array( // unutma !!!
"id" => $id
)
);
$viewData->item_images = $this->RV_room_image_model->get_all(
array(
"room_id" =>$id )
);
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData);
}
public function refresh_image_list_room($id)
{
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder; //viewdataya viewfolder atadık
$viewData->routeWay = $this->routeWay;
$viewData->item_images = $this->RV_room_image_model->get_all( //yukarıdan ürüne ait id yi aldık o id ye yüklenmiş resimleri burada viewdataya load yaptık.
array(
"room_id" => $id
)
);
$viewData->item = $this->RV_room_features_model->get( array( // unutma !!!
"id" => $id
)
);
$render_html = $this->load->view("{$viewData->viewFolder}/room_features/render_elements/image_list_v",$viewData,true);
echo $render_html;
}
public function delete_room_image($id,$parent_id)//silme metodu
{
$file_name = $this->RV_room_image_model->get(
array(
"id" => $id
)
);
$delete = $this->RV_room_image_model->delete(
array(
"id" => $id
)
);
if($delete){
unlink("uploads/room/$file_name->img_url");
redirect("$this->routeWay/room_image_v/$parent_id");
}
else {
redirect("$this->routeWay/room_image_v/$parent_id");
}
}
public function room_features($id = null)
{
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder;
$viewData->routeWay = $this->routeWay;
$viewData->subViewFolder = "room_features/list";
$viewData->item = $this->RentalVillas_model->get( array( //viewe item içinde get den gelen sonucu gönderiyor. yani villa idsi buradan gidiyor.
"id" => $id
)
);
$viewData->item_feature = $this->RV_room_features_model->get_all( //yukarıdan ürüne ait id yi aldık o id ye yüklenmiş resimleri burada viewdataya load yaptık.
array(
"villa_id" => $id
)
);
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData);
}
public function delete_room_feature($id,$id2)// özellik silme metodu. id2 villa id si view den geliyor, ##### kayıt silinince resimleri de siliniyor.
{
$delete = $this->RV_room_features_model->delete(
array(
"id" => $id
)
);
if($delete){
//
$file_name = $this->RV_room_image_model->get(
array(
"room_id" => $id
)
);
$delete2 = $this->RV_room_image_model->delete(
array(
"room_id" => $id
)
);
if($delete2){
unlink("uploads/room/$file_name->img_url");
}
$alert = array(
"tittle" => "İşlem başarılı",
"text" => "Kayıt silindi.",
"type" => "success"
);
}
else{
$alert = array(
"tittle" => "İşlem başarısız !!!",
"text" => "Kayıt silinirken bir hata oluştu.",
"type" => "success"
);
}
$this->session->set_flashdata("alert",$alert);
redirect("$this->routeWay/room_features/$id2");
}
public function add_roomf_v($id = null){
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "room_features/add";
$viewData->routeWay = $this->routeWay;
$viewData->item = $this->RentalVillas_model->get( array( // unutma !!!
"id" => $id
)
);
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}" , $viewData);
}
public function add_roomf($id) //Villa özellik ekleme metodu
{
$this->load->library("form_validation");
$this->form_validation->set_rules("name","Oda Adı","required|trim");
$this->form_validation->set_rules("feature","Oda Özelliği","required|trim");
$this->form_validation->set_message(
array(
"required" => "<div class=\"alert alert-danger\" role=\"alert\"><strong>%s</strong> Boş Bırakılamaz !!!</div>"
)
);
$validate = $this->form_validation->run(); // donen cevap true veya false dur. true ise kurallardan başarılı bir şekilde geçmiştir false ise kurallara takılmıştır.
if($validate){
$data = array(
"villa_id" => $id,
"room_name" => $this->input->post("name"),
"room_feature" => $this->input->post("feature")
);
$data = $this->security->xss_clean($data);
$insert = $this->RV_room_features_model->add($data);
if($insert){
// alert eklemenin diğer yolu. $this->session->set_flashdata("done", "<div class=\"alert alert-success\" role=\"alert\"><strong>Ürün başarıyla eklendi.</strong></div>");
$alert = array(
"tittle" => "İşlem başarılı",
"text" => "Yeni kayıt eklendi.",
"type" => "success"
);
}
else{
$alert = array(
"tittle" => "İşlem başarısızdır !!!",
"text" => "Kayıt ekenirken bir hata oluştu.",
"type" => "success"
);
}
// İşlemin sonucunu sessiona yazar . . .
$this->session->set_flashdata("alert",$alert); // alert isimli bir sessionumuz olacak ve $alert değişkenini buna atayacağız.
redirect("$this->routeWay/room_features/$id");
}
else{
$viewData = new stdClass();
$viewData->item = $this->RentalVillas_model->get( array( // unutma !!! buradan viewe item içersinde ekleme yapacağımız villanın id sini gönderiyor
"id" => $id
)
);
$viewData->routeWay = $this->routeWay;
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "room_features/add";
$viewData->form_error = true;
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData ); // ve view datayı viewe paketledik.
}
}
public function update_roomf_v($id = null){
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder;
$viewData->routeWay = $this->routeWay;
$viewData->subViewFolder = "room_features/update";
$viewData->item = $this->RV_room_features_model->get( array( // unutma !!!
"id" => $id
)
);
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData);
}
public function update_roomf($id,$villa_id)
{
$this->load->library("form_validation");
$this->form_validation->set_rules("name","Oda Adı","required|trim");
$this->form_validation->set_rules("feature","Oda Özelliği","required|trim");
$this->form_validation->set_message(
array(
"required" => "<div class=\"alert alert-danger\" role=\"alert\"><strong>%s</strong> Boş Bırakılamaz !!!</div>"
)
);
$validate = $this->form_validation->run(); // donen cevap true veya false dur. true ise kurallardan başarılı bir şekilde geçmiştir false ise kurallara takılmıştır.
if($validate){
$where = array(
"id" => $id
);
$data = array(
"room_name" => $this->input->post("name"),
"room_feature" => $this->input->post("feature")
);
$data = $this->security->xss_clean($data);
$update = $this->RV_room_features_model->update($where,$data);
if($update){
// alert eklemenin diğer yolu. $this->session->set_flashdata("done", "<div class=\"alert alert-success\" role=\"alert\"><strong>Ürün başarıyla eklendi.</strong></div>");
$alert = array(
"tittle" => "İşlem başarılı",
"text" => "Yeni kayıt eklendi.",
"type" => "success"
);
}
else{
$alert = array(
"tittle" => "İşlem başarısızdır !!!",
"text" => "Kayıt ekenirken bir hata oluştu.",
"type" => "success"
);
}
// İşlemin sonucunu sessiona yazar . . .
$this->session->set_flashdata("alert",$alert); // alert isimli bir sessionumuz olacak ve $alert değişkenini buna atayacağız.
redirect("$this->routeWay/room_features/$villa_id");
}
else{
$viewData = new stdClass();
$viewData->item = $this->RV_room_features_model->get( array( // unutma !!! buradan viewe item içersinde ekleme yapacağımız villanın id sini gönderiyor
"id" => $id
)
);
$viewData->routeWay = $this->routeWay;
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "room_features/update";
$viewData->form_error = true;
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData ); // ve view datayı viewe paketledik.
}
}
/* ############# Villa Özellikleri bitiş ############## */
/* ############# Villa Availability ############## */
public function add_availability_v($id = null)
{
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder;
$viewData->routeWay = $this->routeWay;
$viewData->subViewFolder = "villa_availability/add";
$viewData->item = $this->RentalVillas_model->get( array( // unutma !!!
"id" => $id
),$item = null
);
$viewData->availabilities = $this->RV_availability_model->get_all(
array(
"villa_id" => $id,
"daily_date >=" => date("Y-m-d")
)
);
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}" , $viewData);
}
public function add_availability($id)
{
$this->load->library("form_validation");
$this->form_validation->set_rules("start","Başlangıç Tarihi","required|trim");
$this->form_validation->set_rules("end","Bitiş Tarihi","required|trim");
$this->form_validation->set_message(
array(
"required" => "<div class=\"alert alert-danger\" role=\"alert\">Lütfen <strong>%s</strong> Seçiniz !!!</div>"
)
);
$validate = $this->form_validation->run(); // donen cevap true veya false dur. true ise kurallardan başarılı bir şekilde geçmiştir false ise kurallara takılmıştır.
if($validate) {
$startDateArr = explode("/", $this->input->post("start"));
$endDateArr = explode("/", $this->input->post("end"));
$startDateStr = $startDateArr[2] . "-" . $startDateArr[0] . "-" . $startDateArr[1];
$endDateStr = $endDateArr[2] . "-" . $endDateArr[0] . "-" . $endDateArr[1];
$startDate = new DateTime($startDateStr);
$endDate = new DateTime(date("Y-m-d", strtotime("1 day", strtotime($endDateStr)))); //bir gün eksik yazıyordu bu sebepten bu düzenlemey i yaptık.
$interval = DateInterval::createFromDateString("1 day");
$period = new DatePeriod($startDate, $interval, $endDate);
foreach ($period as $date) {
$record_test = $this->RV_availability_model->get(
array(
"villa_id" => $id,
"daily_date" => $date->format("Y-m-d")
)
);
if (empty($record_test)) {
$data = array(
"daily_date" => $date->format("Y-m-d"),
"villa_id" => $id,
"status" => 1
);
$data = $this->security->xss_clean($data);
$this->RV_availability_model->add($data);
}
}
redirect("$this->routeWay/add_availability_v/$id");
}
else{
$viewData = new stdClass();
$viewData->item = $this->RentalVillas_model->get( array( // unutma !!! buradan viewe item içersinde ekleme yapacağımız villanın id sini gönderiyor
"id" => $id
)
);
$viewData->availabilities = $this->RV_availability_model->get_all(
array(
"villa_id" => $id,
"daily_date >=" => date("Y-m-d")
)
);
$viewData->routeWay = $this->routeWay;
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "villa_availability/add";
$viewData->form_error = true;
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData ); // ve view datayı viewe paketledik.
}
}
public function table_availability()
{
$viewData = new stdClass();
$viewData->viewFolder = $this->viewFolder;
$viewData->routeWay = $this->routeWay;
$viewData->subViewFolder = "villa_availability/list";
$viewData->item = $this->RentalVillas_model->get_all();
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}", $viewData);
}
public function oguz($id = null) // ################### unutma incele
{
$viewData = new stdClass();
$viewData->item = $this->RentalVillas_model->get( array( // unutma !!!
"id" => $id
)
);
$data = array(
"room_id" => 18
);
$veri = $this->RV_room_image_model->get_all($data);
foreach ($veri as $veri){
$file_name = $this->RV_room_image_model->get($data);
}
// $data['deneme'] = $deger;
// $data['asd'] = $deger;
$data['xx'] = "bbbb";
$this->load->view('oguz',$viewData);
}
}