📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
beyazesyascripti.demodesign.com.tr
/
panel
/
application
/
controllers
📝
Galleries.php
← Geri Dön
<?php class Galleries extends CI_Controller { public $viewFolder = ""; public function __construct() { parent::__construct(); $this->viewFolder = "galleries_v"; $this->load->model("gallery_model"); $this->load->model("image_model"); $this->load->model("video_model"); $this->load->model("file_model"); if(!get_active_user()){ redirect(base_url("login")); } } public function index(){ $viewData = new stdClass(); /** Tablodan Verilerin Getirilmesi.. */ $items = $this->gallery_model->get_all( array(), "rank ASC" ); /** View'e gönderilecek Değişkenlerin Set Edilmesi.. */ $viewData->viewFolder = $this->viewFolder; $viewData->subViewFolder = "list"; $viewData->items = $items; $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData); } public function new_form(){ $viewData = new stdClass(); /** View'e gönderilecek Değişkenlerin Set Edilmesi.. */ $viewData->viewFolder = $this->viewFolder; $viewData->subViewFolder = "add"; $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData); } public function save(){ $this->load->library("form_validation"); // Kurallar yazilir.. $this->form_validation->set_rules("title", "Galeri Adı", "required|trim"); $this->form_validation->set_message( array( "required" => "<b>{field}</b> alanı doldurulmalıdır" ) ); $validate = $this->form_validation->run(); if($validate){ $gallery_type = $this->input->post("gallery_type"); $path = "uploads/$this->viewFolder/"; $folder_name = ""; if($gallery_type == "image"){ $folder_name = convertToSEO($this->input->post("title")); $path = "$path/images/$folder_name"; } else if($gallery_type == "file"){ $folder_name = convertToSEO($this->input->post("title")); $path = "$path/files/$folder_name"; } if($gallery_type != "video"){ if(!mkdir($path, 0755)){ $alert = array( "title" => "İşlem Başarısız", "text" => "Galeri Üretilirken problem oluştu. (Yetki Hatası)", "type" => "error" ); // İşlemin Sonucunu Session'a yazma işlemi... $this->session->set_flashdata("alert", $alert); redirect(base_url("galerries")); die(); } } $insert = $this->gallery_model->add( array( "title" => $this->input->post("title"), "gallery_type" => $this->input->post("gallery_type"), "url" => convertToSEO($this->input->post("title")), "folder_name" => $folder_name, "rank" => 0, "isActive" => 1, "createdAt" => date("Y-m-d H:i:s") ) ); // TODO Alert sistemi eklenecek... if($insert){ $alert = array( "title" => "İşlem Başarılı", "text" => "Kayıt başarılı bir şekilde eklendi", "type" => "success" ); } else { $alert = array( "title" => "İşlem Başarısız", "text" => "Kayıt Ekleme sırasında bir problem oluştu", "type" => "error" ); } // İşlemin Sonucunu Session'a yazma işlemi... $this->session->set_flashdata("alert", $alert); redirect(base_url("galleries")); } else { $viewData = new stdClass(); /** View'e gönderilecek Değişkenlerin Set Edilmesi.. */ $viewData->viewFolder = $this->viewFolder; $viewData->subViewFolder = "add"; $viewData->form_error = true; $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData); } } public function update_form($id){ $viewData = new stdClass(); /** Tablodan Verilerin Getirilmesi.. */ $item = $this->gallery_model->get( array( "id" => $id, ) ); /** View'e gönderilecek Değişkenlerin Set Edilmesi.. */ $viewData->viewFolder = $this->viewFolder; $viewData->subViewFolder = "update"; $viewData->item = $item; $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData); } public function update($id, $gallery_type, $oldFolderName = ""){ $this->load->library("form_validation"); // Kurallar yazilir.. $this->form_validation->set_rules("title", "Galeri Adı", "required|trim"); $this->form_validation->set_message( array( "required" => "<b>{field}</b> alanı doldurulmalıdır" ) ); $validate = $this->form_validation->run(); if($validate){ $path = "uploads/$this->viewFolder/"; $folder_name = ""; if($gallery_type == "image"){ $folder_name = convertToSEO($this->input->post("title")); $path = "$path/images"; } else if($gallery_type == "file"){ $folder_name = convertToSEO($this->input->post("title")); $path = "$path/files"; } if($gallery_type != "video"){ if(!rename("$path/$oldFolderName", "$path/$folder_name")){ $alert = array( "title" => "İşlem Başarısız", "text" => "Galeri Üretilirken problem oluştu. (Yetki Hatası)", "type" => "error" ); // İşlemin Sonucunu Session'a yazma işlemi... $this->session->set_flashdata("alert", $alert); redirect(base_url("galleries")); die(); } } $update = $this->gallery_model->update( array( "id" => $id ), array( "title" => $this->input->post("title"), "folder_name" => $folder_name, "url" => convertToSEO($this->input->post("title")), ) ); // TODO Alert sistemi eklenecek... if($update){ $alert = array( "title" => "İşlem Başarılı", "text" => "Kayıt başarılı bir şekilde güncellendi", "type" => "success" ); } else { $alert = array( "title" => "İşlem Başarısız", "text" => "Güncelleme sırasında bir problem oluştu", "type" => "error" ); } $this->session->set_flashdata("alert", $alert); redirect(base_url("galleries")); } else { $viewData = new stdClass(); /** Tablodan Verilerin Getirilmesi.. */ $item = $this->gallery_model->get( array( "id" => $id, ) ); /** View'e gönderilecek Değişkenlerin Set Edilmesi.. */ $viewData->viewFolder = $this->viewFolder; $viewData->subViewFolder = "update"; $viewData->form_error = true; $viewData->item = $item; $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData); } } public function delete($id){ $gallery = $this->gallery_model->get( array( "id" => $id ) ); if($gallery){ if($gallery->gallery_type != "video"){ if($gallery->gallery_type == "image") $path = "uploads/$this->viewFolder/images/$gallery->folder_name"; else if($gallery->gallery_type == "file") $path = "uploads/$this->viewFolder/files/$gallery->folder_name"; $delete_folder = rmdir($path); if(!$delete_folder){ $alert = array( "title" => "İşlem Başarısız", "text" => "Kayıt silme sırasında bir problem oluştu", "type" => "error" ); $this->session->set_flashdata("alert", $alert); redirect(base_url("galleries")); die(); } } $delete = $this->gallery_model->delete( array( "id" => $id ) ); // TODO Alert Sistemi Eklenecek... if($delete){ $alert = array( "title" => "İşlem Başarılı", "text" => "Kayıt başarılı bir şekilde silindi", "type" => "success" ); } else { $alert = array( "title" => "İşlem Başarısız", "text" => "Kayıt silme sırasında bir problem oluştu", "type" => "error" ); } $this->session->set_flashdata("alert", $alert); redirect(base_url("galleries")); } } public function isActiveSetter($id){ if($id){ $isActive = ($this->input->post("data") === "true") ? 1 : 0; $this->gallery_model->update( array( "id" => $id ), array( "isActive" => $isActive ) ); } } public function rankSetter(){ $data = $this->input->post("data"); parse_str($data, $order); $items = $order["ord"]; foreach ($items as $rank => $id){ $this->gallery_model->update( array( "id" => $id, "rank !=" => $rank ), array( "rank" => $rank ) ); } } /************* Galeri Elemanları için Kullanılan Metotlar ********/ public function upload_form($id){ $viewData = new stdClass(); /** View'e gönderilecek Değişkenlerin Set Edilmesi.. */ $viewData->viewFolder = $this->viewFolder; $viewData->subViewFolder = "image"; $item = $this->gallery_model->get( array( "id" => $id ) ); $viewData->item = $item; if($item->gallery_type == "image"){ $viewData->items = $this->image_model->get_all( array( "gallery_id" => $id ), "rank ASC" ); $viewData->folder_name = $item->folder_name; } else if($item->gallery_type == "file"){ $viewData->items = $this->file_model->get_all( array( "gallery_id" => $id ), "rank ASC" ); } else { $viewData->items = $this->video_model->get_all( array( "gallery_id" => $id ), "rank ASC" ); } $viewData->gallery_type = $item->gallery_type; $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData); } public function file_upload_old_method($gallery_id, $gallery_type, $folderName){ $file_name = convertToSEO(pathinfo($_FILES["file"]["name"], PATHINFO_FILENAME)) . "." . pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION); $config["allowed_types"] = "jpg|jpeg|png|pdf|doc|docx"; $config["upload_path"] = ($gallery_type == "image") ? "uploads/$this->viewFolder/images/$folderName/" : "uploads/$this->viewFolder/files/$folderName/"; $config["file_name"] = $file_name; $this->load->library("upload", $config); $upload = $this->upload->do_upload("file"); if($upload){ $uploaded_file = $this->upload->data("file_name"); $modelName = ($gallery_type == "image") ? "image_model" : "file_model"; $this->$modelName->add( array( "url" => "{$config["upload_path"]}$uploaded_file", "rank" => 0, "isActive" => 1, "createdAt" => date("Y-m-d H:i:s"), "gallery_id" => $gallery_id ) ); } else { echo "islem basarisiz"; } } public function file_upload($gallery_id, $gallery_type, $folderName){ $file_name = convertToSEO(pathinfo($_FILES["file"]["name"], PATHINFO_FILENAME)) . "." . pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION); if($gallery_type == "image"){ // simple Image... $image_252x156 = upload_picture($_FILES["file"]["tmp_name"], "uploads/$this->viewFolder/images/$folderName/",252,156, $file_name); $image_350x216 = upload_picture($_FILES["file"]["tmp_name"], "uploads/$this->viewFolder/images/$folderName/",350,216, $file_name); $image_851x606 = upload_picture($_FILES["file"]["tmp_name"], "uploads/$this->viewFolder/images/$folderName/",851,606, $file_name); if($image_252x156 && $image_350x216 && $image_851x606){ $this->image_model->add( array( "url" => $file_name, "rank" => 0, "isActive" => 1, "createdAt" => date("Y-m-d H:i:s"), "gallery_id" => $gallery_id ) ); } else { echo "islem basarisiz"; } } else { $config["allowed_types"] = "*"; $config["upload_path"] = "uploads/$this->viewFolder/files/$folderName/"; $config["file_name"] = $file_name; $this->load->library("upload", $config); $upload = $this->upload->do_upload("file"); if($upload){ $uploaded_file = $this->upload->data("file_name"); $this->file_model->add( array( "url" => "$uploaded_file", "rank" => 0, "isActive" => 1, "createdAt" => date("Y-m-d H:i:s"), "gallery_id" => $gallery_id ) ); } else { echo $this->upload->display_errors(); } } } public function refresh_file_list($gallery_id, $gallery_type, $folder_name){ $viewData = new stdClass(); /** View'e gönderilecek Değişkenlerin Set Edilmesi.. */ $viewData->viewFolder = $this->viewFolder; $viewData->subViewFolder = "image"; $modelName = ($gallery_type == "image") ? "image_model" : "file_model"; $viewData->items = $this->$modelName->get_all( array( "gallery_id" => $gallery_id ) ); $viewData->folder_name = $folder_name; $viewData->gallery_type = $gallery_type; $render_html = $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/render_elements/file_list_v", $viewData, true); echo $render_html; } public function fileDelete($id, $parent_id, $gallery_type){ $modelName = ($gallery_type == "image") ? "image_model" : "file_model"; $fileName = $this->$modelName->get( array( "id" => $id ) ); $delete = $this->$modelName->delete( array( "id" => $id ) ); // TODO Alert Sistemi Eklenecek... if($delete){ unlink($fileName->url); redirect(base_url("galleries/upload_form/$parent_id")); } else { redirect(base_url("galleries/upload_form/$parent_id")); } } public function fileIsActiveSetter($id, $gallery_type){ if($id && $gallery_type){ $modelName = ($gallery_type == "image") ? "image_model" : "file_model"; $isActive = ($this->input->post("data") === "true") ? 1 : 0; $this->$modelName->update( array( "id" => $id ), array( "isActive" => $isActive ) ); } } public function fileRankSetter($gallery_type){ $data = $this->input->post("data"); parse_str($data, $order); $items = $order["ord"]; $modelName = ($gallery_type == "image") ? "image_model" : "file_model"; foreach ($items as $rank => $id){ $this->$modelName->update( array( "id" => $id, "rank !=" => $rank ), array( "rank" => $rank ) ); } } /************* Video Galeri için Kullanılan Metotlar *************/ public function gallery_video_list($id){ $viewData = new stdClass(); $gallery = $this->gallery_model->get( array( "id" => $id ) ); /** Tablodan Verilerin Getirilmesi.. */ $items = $this->video_model->get_all( array( "gallery_id" => $id ), "rank ASC" ); /** View'e gönderilecek Değişkenlerin Set Edilmesi.. */ $viewData->viewFolder = $this->viewFolder; $viewData->subViewFolder = "video/list"; $viewData->items = $items; $viewData->gallery = $gallery; $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData); } public function new_gallery_video_form($id){ $viewData = new stdClass(); $viewData->gallery_id = $id; /** View'e gönderilecek Değişkenlerin Set Edilmesi.. */ $viewData->viewFolder = $this->viewFolder; $viewData->subViewFolder = "video/add"; $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData); } public function gallery_video_save($id){ $this->load->library("form_validation"); // Kurallar yazilir.. $this->form_validation->set_rules("url", "Video URL", "required|trim"); $this->form_validation->set_message( array( "required" => "<b>{field}</b> alanı doldurulmalıdır" ) ); $validate = $this->form_validation->run(); if($validate){ $insert = $this->video_model->add( array( "url" => $this->input->post("url"), "gallery_id" => $id, "rank" => 0, "isActive" => 1, "createdAt" => date("Y-m-d H:i:s") ) ); // TODO Alert sistemi eklenecek... if($insert){ $alert = array( "title" => "İşlem Başarılı", "text" => "Kayıt başarılı bir şekilde eklendi", "type" => "success" ); } else { $alert = array( "title" => "İşlem Başarısız", "text" => "Kayıt Ekleme sırasında bir problem oluştu", "type" => "error" ); } // İşlemin Sonucunu Session'a yazma işlemi... $this->session->set_flashdata("alert", $alert); redirect(base_url("galleries/gallery_video_list/$id")); } else { $viewData = new stdClass(); /** View'e gönderilecek Değişkenlerin Set Edilmesi.. */ $viewData->viewFolder = $this->viewFolder; $viewData->subViewFolder = "video/add"; $viewData->form_error = true; $viewData->gallery_id = $id; $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData); } } public function update_gallery_video_form($id){ $viewData = new stdClass(); /** Tablodan Verilerin Getirilmesi.. */ $item = $this->video_model->get( array( "id" => $id, ) ); /** View'e gönderilecek Değişkenlerin Set Edilmesi.. */ $viewData->viewFolder = $this->viewFolder; $viewData->subViewFolder = "video/update"; $viewData->item = $item; $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData); } public function gallery_video_update($id, $gallery_id){ $this->load->library("form_validation"); // Kurallar yazilir.. $this->form_validation->set_rules("url", "Video URL", "required|trim"); $this->form_validation->set_message( array( "required" => "<b>{field}</b> alanı doldurulmalıdır" ) ); $validate = $this->form_validation->run(); if($validate){ $update = $this->video_model->update( array( "id" => $id ), array( "url" => $this->input->post("url"), ) ); // TODO Alert sistemi eklenecek... if($update){ $alert = array( "title" => "İşlem Başarılı", "text" => "Kayıt başarılı bir şekilde güncellendi", "type" => "success" ); } else { $alert = array( "title" => "İşlem Başarısız", "text" => "Güncelleme sırasında bir problem oluştu", "type" => "error" ); } $this->session->set_flashdata("alert", $alert); redirect(base_url("galleries/gallery_video_list/$gallery_id")); } else { $viewData = new stdClass(); /** Tablodan Verilerin Getirilmesi.. */ $item = $this->video_model->get( array( "id" => $id, ) ); /** View'e gönderilecek Değişkenlerin Set Edilmesi.. */ $viewData->viewFolder = $this->viewFolder; $viewData->subViewFolder = "video/update"; $viewData->form_error = true; $viewData->item = $item; $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData); } } public function rankGalleryVideoSetter(){ $data = $this->input->post("data"); parse_str($data, $order); $items = $order["ord"]; foreach ($items as $rank => $id){ $this->video_model->update( array( "id" => $id, "rank !=" => $rank ), array( "rank" => $rank ) ); } } public function galleryVideoIsActiveSetter($id){ if($id){ $isActive = ($this->input->post("data") === "true") ? 1 : 0; $this->video_model->update( array( "id" => $id ), array( "isActive" => $isActive ) ); } } public function galleryVideoDelete($id, $gallery_id){ $delete = $this->video_model->delete( array( "id" => $id ) ); // TODO Alert Sistemi Eklenecek... if($delete){ $alert = array( "title" => "İşlem Başarılı", "text" => "Kayıt başarılı bir şekilde silindi", "type" => "success" ); } else { $alert = array( "title" => "İşlem Başarısız", "text" => "Kayıt silme sırasında bir problem oluştu", "type" => "error" ); } $this->session->set_flashdata("alert", $alert); redirect(base_url("galleries/gallery_video_list/$gallery_id")); } }
💾 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