コード例 #1
0
 public function get_edit($id)
 {
     //LOAD FANCYBOX LIBS
     Asset::container('header')->add('fancyboxcss', 'bundles/cms/css/fancybox.css', 'main');
     Asset::container('footer')->add('fancybox', 'bundles/cms/js/jquery.fancybox.js', 'jquery');
     //LOAD JS LIBS
     Asset::container('footer')->add('form', 'bundles/cms/js/jquery.form.js', 'jquery');
     Asset::container('footer')->add('files', 'bundles/cms/js/sections/files_edit.js', 'cms');
     $this->layout->header_data = array('title' => LL('cms::title.file_edit', CMSLANG));
     $this->layout->top_data = array('search' => false);
     //GET FILE DATA
     $file = CmsFile::with(array('pages', 'filetexts' => function ($query) {
         $query->where('lang', '=', LANG);
     }))->where_id($id)->first();
     if (!empty($file->filetexts)) {
         foreach ($file->filetexts as $text) {
             $filetext_alt = !empty($text) ? $text->alt : '';
             $filetext_title = !empty($text) ? $text->title : '';
             $filetext_caption = !empty($text) ? $text->caption : '';
             $filetext_label = !empty($text) ? $text->label : '';
         }
     } else {
         $filetext_alt = '';
         $filetext_title = '';
         $filetext_caption = '';
         $filetext_label = '';
     }
     //GET PAGE DATA
     $data = CmsPage::with(array('files'))->where_parent_id(0)->order_by('lang', 'asc')->order_by('is_home', 'desc')->order_by('order_id', 'asc')->get();
     $banners = CmsBanner::with(array('files'))->order_by('lang', 'asc')->get();
     $galleries = CmsGallery::with(array('files'))->get();
     $downloads = CmsDownload::with(array('files'))->get();
     //GET SITEMAP ORDER
     $new_data = array();
     foreach ($data as $obj) {
         $new_data[$obj->id] = $obj;
         $recursive = call_user_func_array('CmsPage::recursive_filespages', array($obj->id));
         $new_data = $new_data + $recursive;
     }
     if (empty($new_data)) {
         $new_data = array();
     }
     $this->layout->content = View::make('cms::interface.pages.file_edit')->with('title', LL('cms::title.file_edit', CMSLANG))->with('file_id', $id)->with('is_image', (bool) $file->is_image)->with('file_path', $file->path)->with('file_name', $file->name)->with('file_thumb', $file->thumb)->with('file_ext', $file->ext)->with('file_pages', $new_data)->with('langs', Config::get('cms::settings.langs'))->with('filetext_title', $filetext_title)->with('filetext_alt', $filetext_alt)->with('filetext_caption', $filetext_caption)->with('filetext_label', $filetext_label)->with('banners', $banners)->with('galleries', $galleries)->with('downloads', $downloads);
 }
コード例 #2
0
 public function post_delete()
 {
     if (Input::has('gallery_id')) {
         $gid = Input::get('gallery_id');
         $gallery = CmsGallery::find($gid);
         //CHECK IF GALLERY EXISTS
         if (!empty($gallery)) {
             //DELETE FROM DB
             $gallery->files()->delete();
             $gallery->delete();
             Notification::success(LL('cms::alert.delete_gallery_success', CMSLANG, array('gallery' => $gallery->name)), 1500);
             return Redirect::to_action('cms::gallery');
         } else {
             Notification::error(LL('cms::alert.delete_gallery_error', CMSLANG), 2500);
             return Redirect::to_action('cms::gallery');
         }
     } else {
         Notification::error(LL('cms::alert.delete_gallery_error', CMSLANG), 1500);
         return Redirect::to_action('cms::gallery');
     }
 }
コード例 #3
0
 public function post_save_gallery()
 {
     $auth = Auth::check();
     if ($auth) {
         $input = Input::get();
         //GRAB DATA
         $gallery = new CmsGallery();
         if (!empty($input['gallery_id'])) {
             $gallery = CmsGallery::find($input['gallery_id']);
         }
         //VALIDATION CHECK
         $rules = array('gallery_name' => 'required|alpha_dash|between:2,30|unique:galleries,name,' . $input['gallery_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);
         }
         $gallery->name = strtolower($input['gallery_name']);
         $gallery->thumb = $input['gallery_thumb'];
         $gallery->save();
         //DELETE CACHE
         if (CACHE) {
             Cache::forget('img_gallery_' . strtolower($input['gallery_name']));
         }
         $gid = $gallery->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_galleries')->where_cmsfile_id($fid)->where_cmsgallery_id($gid)->first();
                     if (empty($check)) {
                         $gallery->files()->attach($fid, array('order_id' => 1000000));
                     }
                     $img = CmsFile::find($fid);
                     // Template returned
                     $template .= '<li id="' . $gid . '_' . $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_galleries')->where_cmsgallery_id($gid)->where_not_in('cmsfile_id', $files)->delete();
             }
             $response = 'success';
             $msg = LL('cms::ajax_resp.gallery_save_success', CMSLANG)->get();
             $backurl = $input['back_url'];
             // Inject container
             $inject = 'ul.sortable';
             $detach = true;
         } else {
             //DELETE ALL GALLERY_ID
             DB::table('files_galleries')->where_cmsgallery_id($gid)->delete();
             $response = 'success';
             $msg = LL('cms::ajax_resp.gallery_save_success', CMSLANG)->get();
             $backurl = $input['back_url'];
             $template = '';
             $inject = '';
             $detach = true;
         }
     } else {
         $response = 'error';
         $msg = LL('cms::ajax_resp.gallery_save_error', CMSLANG)->get();
         $backurl = '#';
         $template = '';
         $inject = '';
         $detach = true;
     }
     $data = array('auth' => $auth, 'cls' => 'gallery_id', 'id' => $gid, 'response' => $response, 'message' => $msg, 'backurl' => $backurl, 'detach' => $detach, 'inject' => $inject, 'template' => $template);
     return json_encode($data);
 }
コード例 #4
0
 /**
  * GALLERY Marker - Shows an image gallery saved in Service / Gallery
  *
  * [$GALLERY[{
  *	"name":"<gallery name>",
  *	"wm":"true | false",	=> OPTIONAL
  *	"class":"<class>",		=> OPTIONAL
  *	"tpl":"<tpl_name>"		=> OPTIONAL (in /partials/markers)
  * }]]
  *
  * @param  array
  * @return string
  */
 public static function GALLERY($vars = array())
 {
     //Get variables from array $vars
     if (!empty($vars)) {
         extract($vars);
     }
     //Bind variables
     $_name = '';
     if (isset($name) and !empty($name)) {
         $_name = $name;
     }
     $_wm = 'no';
     if (isset($wm) and !empty($wm) and $wm == 'true') {
         $_wm = 'wm';
     }
     $_class = 'gallery unstyled';
     if (isset($class) and !empty($class)) {
         $_class = $class;
     }
     $_tpl = 'gallery';
     if (isset($tpl) and !empty($tpl)) {
         $_tpl = $tpl;
     }
     //Get DB information
     if (!empty($_name)) {
         //CACHE DATA
         if (CACHE) {
             $gallery = Cache::remember('img_gallery_' . $_name, function () use($_name) {
                 return CmsGallery::with(array('files'))->where_name($_name)->first();
             }, 1440);
         } else {
             $gallery = CmsGallery::with(array('files'))->where_name($_name)->first();
         }
         //Load file lable and title
         if (!empty($gallery->files)) {
             $images = $gallery->files;
             $thumb = $gallery->thumb;
         } else {
             $images = array();
             $thumb = 'thumb';
         }
     } else {
         $images = array();
         $thumb = 'thumb';
     }
     $options = array('id' => $_name, 'class' => $_class);
     $view = LOAD_VIEW($_tpl);
     $view['images'] = $images;
     $view['thumb'] = $thumb;
     $view['wm'] = $_wm == 'wm' ? 'true' : 'no';
     $view['options'] = HTML::attributes($options);
     return $view;
 }
コード例 #5
0
 public function post_add_gallery()
 {
     $auth = Auth::check();
     if ($auth and is_numeric(AUTHORID)) {
         if (Input::get('gallery_id') !== '') {
             $fid = Input::get('file_id');
             $galleries = Input::get('gallery_id');
             if (is_array($galleries)) {
                 foreach ($galleries as $key => $gid) {
                     $check = DB::table('files_galleries')->where_cmsfile_id($fid)->where_cmsgallery_id($gid)->count();
                     if ($check == 0) {
                         $gallery = CmsGallery::find($gid);
                         $add_array = array('order_id' => Config::get('cms::settings.order'));
                         $gallery->files()->attach($fid, $add_array);
                     }
                 }
                 //DELETE NOT IN
                 DB::table('files_galleries')->where_cmsfile_id($fid)->where_not_in('cmsgallery_id', $galleries)->delete();
                 $response = 'success';
                 $msg = LL('cms::ajax_resp.gallery_save_success', CMSLANG)->get();
                 $backurl = Input::get('back_url');
             } else {
                 //DELETE ALL
                 DB::table('files_galleries')->where_cmsfile_id($fid)->delete();
                 $response = 'success';
                 $msg = LL('cms::ajax_resp.gallery_save_success', CMSLANG)->get();
                 $backurl = '#';
             }
         } else {
             $response = 'error';
             $msg = LL('cms::ajax_resp.gallery_save_error', CMSLANG)->get();
             $backurl = '#';
         }
     } else {
         $response = 'error';
         $msg = LL('cms::ajax_resp.gallery_save_error', CMSLANG)->get();
         $backurl = '#';
     }
     $data = array('auth' => $auth, 'cls' => 'file_id', 'id' => $fid, 'response' => $response, 'message' => $msg, 'backurl' => $backurl);
     return json_encode($data);
 }