Mini Shell
<?php
class Teams extends CI_Controller
{
public $viewFolder = "";
public function __construct()
{
parent::__construct();
$this->viewFolder = "teams_v";
$this->load->model("teams_model");
$this->load->model("teams_image_model");
if(!get_active_user()){
redirect(base_url("login"));
}
}
public function index(){
$viewData = new stdClass();
/** Tablodan Verilerin Getirilmesi.. */
$items = $this->teams_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");
if($_FILES["img_url"]["name"] == ""){
$alert = array(
"ad_soyad" => "İşlem Başarısız",
"text" => "Lütfen bir görsel seçiniz",
"type" => "error"
);
// İşlemin Sonucunu Session'a yazma işlemi...
$this->session->set_flashdata("alert", $alert);
redirect(base_url("teams/new_form"));
die();
}
// Kurallar yazilir..
$this->form_validation->set_rules("ad_soyad", "Başlık", "required|trim");
$this->form_validation->set_message(
array(
"required" => "<b>{field}</b> alanı doldurulmalıdır"
)
);
// Form Validation Calistirilir..
// TRUE - FALSE
$validate = $this->form_validation->run();
if($validate){
// Upload Süreci...
$file_name = convertToSEO(pathinfo($_FILES["img_url"]["name"], PATHINFO_FILENAME)) . "." . pathinfo($_FILES["img_url"]["name"], PATHINFO_EXTENSION);
$image_349x388 = upload_picture($_FILES["img_url"]["tmp_name"], "uploads/$this->viewFolder",349,388, $file_name);
if($image_349x388){
$insert = $this->teams_model->add(
array(
"ad_soyad" => $this->input->post("ad_soyad"),
"pozisyon" => $this->input->post("pozisyon"),
"facebook" => $this->input->post("facebook"),
"youtube" => $this->input->post("youtube"),
"twitter" => $this->input->post("twitter"),
"instagram" => $this->input->post("instagram"),
"linkedin" => $this->input->post("linkedin"),
"pinterest" => $this->input->post("pinterest"),
"url" => convertToSEO($this->input->post("ad_soyad")),
"rank" => 0,
"isActive" => 1,
"createdAt" => date("Y-m-d H:i:s"),
"img_url" => $file_name
)
);
// TODO Alert sistemi eklenecek...
if($insert){
$alert = array(
"ad_soyad" => "İşlem Başarılı",
"text" => "Kayıt başarılı bir şekilde eklendi",
"type" => "success"
);
} else {
$alert = array(
"ad_soyad" => "İş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("teams"));
} 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);
}
// Başarılı ise
// Kayit işlemi baslar
// Başarısız ise
// Hata ekranda gösterilir...
}}
public function update_form($id){
$this->load->library("form_validation");
// Kurallar yazilir..
$this->form_validation->set_rules("ad_soyad", "Başlık", "required|trim");
$this->form_validation->set_message(
array(
"required" => "<b>{field}</b> alanı doldurulmalıdır"
)
);
// Form Validation Calistirilir..
$validate = $this->form_validation->run();
if($validate){
// Upload Süreci...
if($_FILES["img_url"]["name"] !== "") {
// Upload Süreci...
$file_name = convertToSEO(pathinfo($_FILES["img_url"]["name"], PATHINFO_FILENAME)) . "." . pathinfo($_FILES["img_url"]["name"], PATHINFO_EXTENSION);
$image_349x388 = upload_picture($_FILES["img_url"]["tmp_name"], "uploads/$this->viewFolder",349,388, $file_name);
if($image_349x388){
$data = array(
"ad_soyad" => $this->input->post("ad_soyad"),
"pozisyon" => $this->input->post("pozisyon"),
"facebook" => $this->input->post("facebook"),
"youtube" => $this->input->post("youtube"),
"twitter" => $this->input->post("twitter"),
"instagram" => $this->input->post("instagram"),
"linkedin" => $this->input->post("linkedin"),
"pinterest" => $this->input->post("pinterest"),
"url" => convertToSEO($this->input->post("ad_soyad")),
"rank" => 0,
"isActive" => 1,
"createdAt" => date("Y-m-d H:i:s"),
"img_url" => $file_name
);
} else {
$alert = array(
"ad_soyad" => "İşlem Başarısız",
"text" => "Görsel yüklenirken bir problem oluştu",
"type" => "error"
);
$this->session->set_flashdata("alert", $alert);
redirect(base_url("teams/update_form/$id"));
die();
}
} else {
$data = array(
"ad_soyad" => $this->input->post("ad_soyad"),
"pozisyon" => $this->input->post("pozisyon"),
"facebook" => $this->input->post("facebook"),
"youtube" => $this->input->post("youtube"),
"twitter" => $this->input->post("twitter"),
"instagram" => $this->input->post("instagram"),
"linkedin" => $this->input->post("linkedin"),
"pinterest" => $this->input->post("pinterest"),
"url" => convertToSEO($this->input->post("ad_soyad")),
);
}
$update = $this->teams_model->update(array("id" => $id), $data);
// TODO Alert sistemi eklenecek...
if($update){
$alert = array(
"ad_soyad" => "İşlem Başarılı",
"text" => "Kayıt başarılı bir şekilde güncellendi",
"type" => "success"
);
} else {
$alert = array(
"ad_soyad" => "İşlem Başarısız",
"text" => "Kayıt Güncelleme 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("teams"));
} else {
$viewData = new stdClass();
/** View'e gönderilecek Değişkenlerin Set Edilmesi.. */
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "update";
$viewData->form_error = true;
/** Tablodan Verilerin Getirilmesi.. */
$viewData->item = $this->teams_model->get(
array(
"id" => $id,
)
);
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData);
}
}
public function delete($id){
$delete = $this->teams_model->delete(
array(
"id" => $id
)
);
// TODO Alert Sistemi Eklenecek...
if($delete){
$alert = array(
"ad_soyad" => "İşlem Başarılı",
"text" => "Kayıt başarılı bir şekilde silindi",
"type" => "success"
);
} else {
$alert = array(
"ad_soyad" => "İş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("teams"));
}
public function imageDelete($id, $parent_id){
$fileName = $this->teams_image_model->get(
array(
"id" => $id
)
);
$delete = $this->teams_image_model->delete(
array(
"id" => $id
)
);
// TODO Alert Sistemi Eklenecek...
if($delete){
unlink("uploads/{$this->viewFolder}/$fileName->img_url");
redirect(base_url("teams/image_form/$parent_id"));
} else {
redirect(base_url("teams/image_form/$parent_id"));
}
}
public function isActiveSetter($id){
if($id){
$isActive = ($this->input->post("data") === "true") ? 1 : 0;
$this->teams_model->update(
array(
"id" => $id
),
array(
"isActive" => $isActive
)
);
}
}
public function imageIsActiveSetter($id){
if($id){
$isActive = ($this->input->post("data") === "true") ? 1 : 0;
$this->teams_image_model->update(
array(
"id" => $id
),
array(
"isActive" => $isActive
)
);
}
}
public function isCoverSetter($id, $parent_id){
if($id && $parent_id){
$isCover = ($this->input->post("data") === "true") ? 1 : 0;
// Kapak yapılmak istenen kayıt
$this->teams_image_model->update(
array(
"id" => $id,
"teams_id" => $parent_id
),
array(
"isCover" => $isCover
)
);
// Kapak yapılmayan diğer kayıtlar
$this->teams_image_model->update(
array(
"id !=" => $id,
"teams_id" => $parent_id
),
array(
"isCover" => 0
)
);
$viewData = new stdClass();
/** View'e gönderilecek Değişkenlerin Set Edilmesi.. */
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "image";
$viewData->item_images = $this->teams_image_model->get_all(
array(
"teams_id" => $parent_id
), "rank ASC"
);
$render_html = $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/render_elements/image_list_v", $viewData, true);
echo $render_html;
}
}
public function rankSetter(){
$data = $this->input->post("data");
parse_str($data, $order);
$items = $order["ord"];
foreach ($items as $rank => $id){
$this->teams_model->update(
array(
"id" => $id,
"rank !=" => $rank
),
array(
"rank" => $rank
)
);
}
}
public function imageRankSetter(){
$data = $this->input->post("data");
parse_str($data, $order);
$items = $order["ord"];
foreach ($items as $rank => $id){
$this->teams_image_model->update(
array(
"id" => $id,
"rank !=" => $rank
),
array(
"rank" => $rank
)
);
}
}
public function image_form($id){
$viewData = new stdClass();
/** View'e gönderilecek Değişkenlerin Set Edilmesi.. */
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "image";
$viewData->item = $this->teams_model->get(
array(
"id" => $id
)
);
$viewData->item_images = $this->teams_image_model->get_all(
array(
"teams_id" => $id
), "rank ASC"
);
$this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData);
}
public function image_upload($id){
$file_name = convertToSEO(pathinfo($_FILES["file"]["name"], PATHINFO_FILENAME)) . "." . pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION);
$image_258x185 = upload_picture($_FILES["file"]["tmp_name"], "uploads/$this->viewFolder",258,185, $file_name);
$image_690x460 = upload_picture($_FILES["file"]["tmp_name"], "uploads/$this->viewFolder",690,460, $file_name);
$image_145x96 = upload_picture($_FILES["file"]["tmp_name"], "uploads/$this->viewFolder",145,96, $file_name);
if($image_258x185 && $image_690x460 && $image_145x96){
$this->teams_image_model->add(
array(
"img_url" => $file_name,
"rank" => 0,
"isActive" => 1,
"isCover" => 0,
"createdAt" => date("Y-m-d H:i:s"),
"teams_id" => $id
)
);
} else {
echo "islem basarisiz";
}
}
public function refresh_image_list($id){
$viewData = new stdClass();
/** View'e gönderilecek Değişkenlerin Set Edilmesi.. */
$viewData->viewFolder = $this->viewFolder;
$viewData->subViewFolder = "image";
$viewData->item_images = $this->teams_image_model->get_all(
array(
"teams_id" => $id
)
);
$render_html = $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/render_elements/image_list_v", $viewData, true);
echo $render_html;
}
}