public function post_delete() { if (Input::has('file_id')) { $fid = Input::get('file_id'); $file = CmsFile::find($fid); //CHECK IF FILE EXISTS if (!empty($file)) { $path = MEDIA_PATH($file->path); //DELETE MAIN FILE if (file_exists($path)) { unlink($path); } //LOOP ALL THUMBS AND DELETE foreach (Config::get('cms::theme.thumb') as $option) { $thumb = MEDIA_NAME($path, $option['suffix']); if (file_exists($thumb)) { unlink($thumb); } } //DELETE FROM DB $file->pages()->delete(); $file->filetexts()->delete(); $file->delete(); Notification::success(LL('cms::alert.delete_file_success', CMSLANG, array('file' => $file->name)), 1500); return Redirect::to_action('cms::file'); } else { Notification::error(LL('cms::alert.delete_file_error', CMSLANG), 2500); return Redirect::to_action('cms::file'); } } else { Notification::error(LL('cms::alert.delete_file_error', CMSLANG), 1500); return Redirect::to_action('cms::file'); } }
public function post_save_download() { $auth = Auth::check(); if ($auth and is_numeric(AUTHORID)) { $input = Input::get(); //GRAB DATA $download = new CmsDownload(); if (!empty($input['download_id'])) { $download = CmsDownload::find($input['download_id']); } //VALIDATION CHECK $rules = array('download_name' => 'required|alpha_dash|between:2,20|unique:downloads,name,' . $input['download_id']); $messages = array('required' => LL('cms::validation.required', CMSLANG)->get(), 'between' => LL('cms::validation.between.string', CMSLANG)->get(), 'unique' => LL('cms::validation.unique', CMSLANG)->get(), 'alpha_dash' => LL('cms::validation.alpha_dash', CMSLANG)->get()); $validation = Validator::make($input, $rules, $messages); if ($validation->fails()) { return json_encode($validation->errors); } $download->name = strtolower($input['download_name']); $download->save(); //DELETE CACHE if (CACHE) { Cache::forget('file_list_' . strtolower($input['download_name'])); } $did = $download->id; // Empty template $template = ''; if (Input::get('file_id') !== '') { $files = Input::get('file_id'); if (is_array($files)) { foreach ($files as $fid) { $check = DB::table('files_downloads')->where_cmsfile_id($fid)->where_cmsdownload_id($did)->first(); if (empty($check)) { $download->files()->attach($fid, array('order_id' => Config::get('cms::settings.order'))); } $img = CmsFile::find($fid); // Template returned $template .= '<li id="' . $did . '_' . $fid . '" class="span1">'; $template .= '<a class="thumbnail" rel="tooltip" data-original-title="' . $img->name . '" href="' . BASE . $img->path . '">'; $template .= '<img src="' . BASE . $img->thumb . '" />'; $template .= '</a>'; $template .= '</li>'; } //DELETE NOT IN DB::table('files_downloads')->where_cmsdownload_id($did)->where_not_in('cmsfile_id', $files)->delete(); } $response = 'success'; $msg = LL('cms::ajax_resp.download_save_success', CMSLANG)->get(); $backurl = $input['back_url']; // Inject container $inject = 'ul.sortable'; $detach = true; } else { //DELETE ALL DOWNLOAD_ID DB::table('files_downloads')->where_cmsdownload_id($did)->delete(); $response = 'success'; $msg = LL('cms::ajax_resp.download_save_success', CMSLANG)->get(); $backurl = $input['back_url']; $template = ''; $inject = ''; $detach = true; } } else { $response = 'error'; $msg = LL('cms::ajax_resp.download_save_error', CMSLANG)->get(); $backurl = '#'; $template = ''; $inject = ''; $detach = true; } $data = array('auth' => $auth, 'cls' => 'download_id', 'id' => $did, 'response' => $response, 'message' => $msg, 'backurl' => $backurl, 'detach' => $detach, 'inject' => $inject, 'template' => $template); return json_encode($data); }
public function post_save_filename() { $auth = Auth::check(); if ($auth) { $input = Input::get(); //GRAB DATA if (!empty($input['file_id'])) { //GRAB DATA $file = CmsFile::find($input['file_id']); $fid = $file->id; $path = MEDIA_PATH($file->path); $name = $file->name; $ext = '.' . $file->ext; $filename = str_replace($ext, '', $name); $newname = $input['file_name']; //VALIDATION CHECK $rules = array('file_name' => 'required|alpha_dash|unique_filename:' . $file->ext . ',name'); $messages = array('required' => LL('cms::validation.required', CMSLANG)->get(), 'unique_filename' => LL('cms::validation.unique_filename', CMSLANG)->get(), 'alpha_dash' => LL('cms::validation.alpha_dash', CMSLANG)->get()); $validation = Validator::make($input, $rules, $messages); if ($validation->fails()) { return json_encode($validation->errors); } //VALIDATION OK //RENAME DB //RENAME NAME $file->name = str_replace($filename, $newname, $name); //RENAME PATH $file->path = str_replace($filename, $newname, $file->path); //RENAME THUMB $file->thumb = str_replace($filename, $newname, $file->thumb); $file->save(); //RENAME DISK //RENAME FILE if (file_exists($path)) { rename($path, str_replace($filename, $newname, $path)); } //LOOP ALL THUMBS AND RENAME foreach (Config::get('cms::theme.thumb') as $option) { $thumb = MEDIA_NAME($path, $option['suffix']); if (file_exists($thumb)) { rename($thumb, str_replace($filename, $newname, $thumb)); } } $response = 'success'; $msg = LL('cms::ajax_resp.filename_filename_success', CMSLANG)->get(); $backurl = $input['back_url']; } else { $fid = null; $response = 'error'; $msg = LL('cms::ajax_resp.filename_filename_error', CMSLANG)->get(); $backurl = '#'; } } else { $fid = null; $response = 'error'; $msg = LL('cms::ajax_resp.filename_filename_error', CMSLANG)->get(); $backurl = '#'; } $data = array('auth' => $auth, 'cls' => 'file_id', 'id' => $fid, 'response' => $response, 'message' => $msg, 'backurl' => $backurl); return json_encode($data); }
public function post_save_banner() { $auth = Auth::check(); if ($auth) { $input = Input::get(); //GRAB DATA $banner = new CmsBanner(); if (!empty($input['banner_id'])) { $banner = CmsBanner::find($input['banner_id']); } //VALIDATION CHECK $rules = array('banner_name' => 'required|alpha_dash|between:2,20|unique_lang:' . $input['banner_id'] . ',' . $input['banner_lang'] . ',banners,name'); $messages = array('required' => LL('cms::validation.required', CMSLANG)->get(), 'between' => LL('cms::validation.between.string', CMSLANG)->get(), 'alpha_dash' => LL('cms::validation.alpha_dash', CMSLANG)->get(), 'unique_lang' => LL('cms::validation.unique', CMSLANG)->get()); $validation = Validator::make($input, $rules, $messages); if ($validation->fails()) { return json_encode($validation->errors); } $banner->name = strtolower($input['banner_name']); $banner->lang = $input['banner_lang']; $banner->save(); //DELETE CACHE if (CACHE) { Cache::forget('img_banner_' . strtolower($input['banner_name'])); } $bid = $banner->id; if (Input::get('file_id') !== '') { $files = Input::get('file_id'); $url = Input::get('url'); $date_off = Input::get('date_off'); $is_blank = Input::get('is_blank', array()); if (is_array($files)) { // Empty template $template = ''; foreach ($files as $key => $fid) { $check = DB::table('files_banners')->where_cmsfile_id($fid)->where_cmsbanner_id($bid)->first(); $blank = array_key_exists($key, $is_blank) ? 1 : 0; if (empty($date_off[$key])) { $off_date = dateTimeFuture(date("Y-m-d H:i:s"), 'P5Y'); } else { $off_date = date2Db(substr($date_off[$key], 0, 10)); } if (empty($check)) { $add_array = array('url' => $url[$key], 'date_off' => $off_date, 'is_blank' => $blank, 'order_id' => 1000000); $banner->files()->attach($fid, $add_array); } else { $update_array = array('url' => $url[$key], 'date_off' => $off_date, 'is_blank' => $blank); DB::table('files_banners')->where_cmsfile_id($fid)->where_cmsbanner_id($bid)->update($update_array); } $img = CmsFile::find($fid); // Template returned $template .= '<li id="' . $bid . '_' . $fid . '" class="span1">'; $template .= '<a class="thumbnail fancy" rel="tooltip" data-original-title="' . $img->name . '" href="' . BASE . $img->path . '">'; $template .= '<img src="' . BASE . $img->thumb . '" />'; $template .= '</a>'; $template .= '</li>'; } //DELETE NOT IN DB::table('files_banners')->where_cmsbanner_id($bid)->where_not_in('cmsfile_id', $files)->delete(); } $response = 'success'; $msg = LL('cms::ajax_resp.banner_save_success', CMSLANG)->get(); $backurl = $input['back_url']; // Inject container $inject = 'ul.sortable'; $detach = true; } else { //DELETE ALL GALLERY_ID DB::table('files_banners')->where_cmsbanner_id($bid)->delete(); $response = 'success'; $msg = LL('cms::ajax_resp.banner_save_success', CMSLANG)->get(); $backurl = $input['back_url']; $template = ''; $inject = ''; $detach = true; } } else { $response = 'error'; $msg = LL('cms::ajax_resp.banner_save_error', CMSLANG)->get(); $backurl = '#'; $template = ''; $inject = ''; $detach = true; } $data = array('auth' => $auth, 'cls' => 'banner_id', 'id' => $bid, 'response' => $response, 'message' => $msg, 'backurl' => $backurl, 'detach' => $detach, 'inject' => $inject, 'template' => $template); return json_encode($data); }
public function post_image_list_add() { if (Input::has('rel') and Input::has('lid') and Input::has('fid')) { $where = Input::get('rel'); $list_id = Input::get('lid'); $file_id = Input::get('fid'); $singular = Str::singular($where); $inser_arr = array('cmsfile_id' => $file_id, 'cms' . $singular . '_id' => $list_id, 'order_id' => Config::get('cms::settings.order')); DB::table('files_' . $where)->insert($inser_arr); $file = CmsFile::find($file_id); if ($where == 'galleries') { $data = array('file' => $file->to_array(), 'list_id' => $list_id, 'del_btn' => LL('cms::button.delete', CMSLANG)->get()); } else { if ($where == 'banners') { } } return json_encode($data); } return false; }