예제 #1
0
 public function postAdd(Request $request)
 {
     $content = new Content();
     $content->title = $request->input('title');
     $content->body = $request->input('content');
     $content->status = $request->input('status');
     $content->user_id = \Auth::user()->id;
     $content->save();
     if ($request->has('alias')) {
         $alias = new UrlAlias();
         $alias->path = $request->input('alias');
         $content->alias()->save($alias);
         $content->save();
     }
     return \Redirect::to('admin');
 }
 public function postCreate(Request $request)
 {
     $validator = Validator::make($request->all(), Content::$rules, Content::$messages);
     if ($validator->fails()) {
         return redirect('admin/content/create')->withErrors($validator)->withInput();
     }
     /* bu validate kontrolü ile return kullanmadan postun gönderildiği sayfaya dönülebilir. Bu Şekilde de kullanılabilir.
        $this->validate($request, Content::$rules,Content::$messages)->withInput();
        */
     // tags diziye çevriliyor.
     $tags = explode(",", $request->tags);
     $content = new Content();
     if ($request->hasFile('image')) {
         $imageName = $request->seo . '.' . $request->file('image')->getClientOriginalExtension();
         $request->file('image')->move(base_path() . '/public/uploads/', $imageName);
         $content->image = $imageName;
     }
     $content->title = $request->title;
     $content->seo = $request->seo;
     $content->spot = $request->spot;
     $content->content = $request->content;
     $content->status = $request->status;
     $content->tags = json_encode($tags);
     $content->description = $request->description;
     $content->save();
     return redirect('admin/content/list')->with('success', 'İçeirk Başarıyla Eklendi');
 }
예제 #3
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $post = new Content(['title' => $request->get('title'), 'content' => $request->get('content'), 'published_at' => $request->get('published_at')]);
     $post->save();
     $imageName = $post->id . '.' . $request->file('image')->getClientOriginalExtension();
     $request->file('image')->move(base_path() . '/public/img', $imageName);
     return redirect('post/index');
 }
예제 #4
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $request->merge(['body' => Purifier::clean($request->input('body'), 'ugc')]);
     $this->validate($request, ['title' => 'required|max:60|min:4|unique:' . $this->Blog->getTable(), 'body' => 'required|min:25', 'category_id' => 'required|integer']);
     $this->Blog->title = $request->input('title');
     $this->Blog->category_id = $request->input('category_id');
     $this->Blog->body = $request->input('body');
     $this->Blog->type_id = Category::TYPE_BLOG;
     $this->Blog->user_id = Auth::user()->id;
     if ($this->Blog->save()) {
         Flash::success(trans('app.Successful operation'));
         return redirect()->route('blog.show', ['id' => $this->Blog->id]);
     } else {
         Flash::error(trans('app.Operation failed'));
         return redirect()->back();
     }
 }
예제 #5
0
 /**
  * Store new Topic
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $request->merge(['body' => Purifier::clean($request->input('body'), 'ugc')]);
     $this->validate($request, ['title' => 'required|max:60|min:4|unique:' . $this->Topic->getTable(), 'body' => 'required|min:25', 'category_id' => 'required|integer']);
     $this->Topic->title = Input::get('title');
     $this->Topic->body = Input::get('body');
     $this->Topic->type_id = Topic::TYPE_TOPIC;
     $this->Topic->user_id = Auth::user()->id;
     $this->Topic->category_id = Input::get('category_id');
     $this->Topic->last_comment_user_id = Auth::user()->id;
     if ($this->Topic->save()) {
         Flash::success(trans('app.Successful operation'));
         return Redirect::to('/topic/' . $this->Topic->id);
     } else {
         Flash::error(trans('app.Operation failed'));
         return Redirect::back();
     }
 }
예제 #6
0
 public function store(ContentRequest $request)
 {
     $course = Course::findOrFail($request->input('course_id'));
     $this->authorize('manage-course-contents', $course);
     $content = new Content($request->only(['title', 'body']));
     $content->course()->associate($course);
     $content->save();
     session()->flash('success', 'El contenido se ha publicado.');
     return redirect()->route('content.edit', $content->id);
 }
예제 #7
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $this->validate($request, ['title' => 'required', 'content' => 'required', 'category_id' => 'required|numeric', 'status' => 'required']);
     $content = new Content($request->all());
     $category = \App\Category::findOrFail($request->input('category_id'));
     $content->createdBy()->associate(Auth::user());
     $content->updatedBy()->associate(Auth::user());
     $content->category()->associate($category);
     $content->thumb_images = $request->input('images');
     $content->thumb_images = str_replace('source', 'thumbs', $content->thumb_images);
     $content->save();
     Session::flash('flash_message', 'Content successfully added!');
     return redirect()->back();
 }
예제 #8
0
 /**
  * Logo upload option
  * @param \Illuminate\Http\Request $request
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function logoUpload(Request $request)
 {
     $logo = new Content();
     if (isset($request->logo)) {
         $image = time() . '.' . $request->logo->getClientOriginalExtension();
         $imagePath = public_path('/uploads/logo/' . $image);
         \Image::make(\Input::file('logo'))->save($imagePath);
         $logo->logo = $image;
         $logo->type = $request->type;
         $logo->save();
     }
     \Session::flash('message', 'Successfully Stored your Data!');
     return redirect()->back();
 }
예제 #9
0
 public function store(Request $request)
 {
     if (!$request->id) {
         $content = new Content();
         $content->title = $request->title;
         $content->alias = str_slug($request->title);
         $content->fulltext = $request->editor;
         $content->introtext = str_limit($request->editor, 250);
         $content->state = isset($request->ispublish);
         if ($request->hasFile('file')) {
             $extension = Input::file('file')->getClientOriginalExtension();
             // getting image extension
             $fileName = \Webpatser\Uuid\Uuid::generate() . '.' . $extension;
             // renameing image
             \Intervention\Image\Facades\Image::make(Input::file('file'))->resize(200, 220)->save(public_path('elmphoto/thumb/' . $fileName));
             //resmi kuçult
             $content->file = $fileName;
         }
         $content->catid = $request->kategori;
         $content->publish_up = Carbon::parse($request->publishdate);
         $content->user_id = Auth::user()->id;
         $content->save();
         return redirect()->back();
     } else {
         $content = Content::find($request->id);
         if ($request->hasFile('file')) {
             $extension = Input::file('file')->getClientOriginalExtension();
             // getting image extension
             $fileName = \Webpatser\Uuid\Uuid::generate() . '.' . $extension;
             // renameing image
             \Intervention\Image\Facades\Image::make(Input::file('file'))->resize(200, 220)->save(public_path('elmphoto/thumb/' . $fileName));
             //resmi kuçult
             $content->file = $fileName;
         }
         $content->title = $request->title;
         $content->alias = str_slug($request->title);
         $content->fulltext = $request->editor;
         $content->introtext = str_limit($request->editor, 250);
         $content->state = isset($request->ispublish);
         $content->catid = $request->kategori;
         $content->publish_up = Carbon::parse($request->publishdate);
         $content->user_id = Auth::user()->id;
         $content->save();
         return redirect()->back();
     }
 }
예제 #10
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function storeTarget(Request $request)
 {
     $this->validate($request, ['title' => 'required|max:60|min:4|unique:' . $this->Article->getTable(), 'category_id' => 'required|integer', 'href' => 'required|min:3', 'target_type' => 'required|integer']);
     $this->Article->title = $request->input('title');
     $this->Article->category_id = $request->input('category_id');
     $this->Article->type_id = Category::TYPE_ARTICLE;
     $this->Article->user_id = Auth::user()->id;
     $this->Article->href = $request->get('href');
     $this->Article->target_type = $request->get('target_type');
     if ($this->Article->save()) {
         Flash::success(trans('app.Successful operation'));
         return redirect()->route('article.index');
     } else {
         Flash::error(trans('app.Operation failed'));
         return redirect()->back();
     }
 }
예제 #11
0
 public function postContent(Request $request)
 {
     $content = new Content();
     $content->user_id = \Auth::user()->id;
     $content->slug = $request->input('title');
     $content->fill($request->all());
     $content->save();
     $template = Template::find($request->input('template_id'));
     // make directory for content
     $contentDir = base_path() . $this->contentDir;
     if (!\File::exists($contentDir)) {
         \File::makeDirectory($contentDir, 755);
     }
     $contentDir = $contentDir . $content->id;
     \File::makeDirectory($contentDir, 755);
     $templateDir = base_path() . $this->templateDir . $template->slug;
     \File::copyDirectory($templateDir, $contentDir);
     return response()->json($content->id, 200);
 }
예제 #12
0
 /**
  * Save map
  * 
  * @return \Illuminate\Http\JsonResponse
  */
 public function save()
 {
     $input = \Input::except('_token');
     // Validate map content
     if (empty($input['id'])) {
         // Pre validate
         $input['seo_slug'] = empty($input['seo_slug']) ? str_slug($input['title']) : $input['seo_slug'];
         // Create validator
         $validator = \Validator::make($input, ['title' => 'required|max:255', 'seo_slug' => 'unique:contents' . (!empty($input['id']) ? ',seo_slug,' . $input['id'] : '')]);
         // When validation fails
         if ($validator->fails()) {
             return response()->json(['errors' => $validator->messages()]);
         }
     }
     // Load content
     if (empty($input['id'])) {
         $content = new Content();
         $content->user_id = \Auth::user()->id;
         $content->fill($input);
         $content->save();
         $map = new Map();
         $map->user_id = \Auth::user()->id;
         $map->content()->associate($content);
     } else {
         $map = Map::find($input['id']);
     }
     // Save changes
     $input['center'] = implode(' ', $input['center']);
     $map->fill($input);
     $map->save();
     // Response
     if (isset($input['close'])) {
         return response()->json(['success' => 'Map saved', 'redirect' => url('/admin/maps/list')]);
     } else {
         return response()->json(['success' => 'Map saved', 'redirect' => url('/admin/maps/form/' . $map->id)]);
     }
 }
예제 #13
0
 /**
  * Save map
  * 
  * @return \Illuminate\Http\JsonResponse
  */
 public function save()
 {
     $input = \Input::except('_token');
     $rules = [];
     // Validate map content
     if (empty($input['id'])) {
         // Pre validate
         $input['seo_slug'] = empty($input['seo_slug']) ? str_slug($input['title']) : $input['seo_slug'];
         // Validate required params
         $rules = ['title' => 'required|max:255', 'seo_slug' => 'unique:contents' . (!empty($input['id']) ? ',seo_slug,' . $input['id'] : '')];
     }
     // Validate required params
     switch ($input['type']) {
         case 'bing':
             $rules['bing_key'] = 'required';
             break;
         case 'wms':
             $rules['wms_url'] = 'required';
             $rules['wms_layers'] = 'required';
             break;
         case 'wfs':
             $rules['wfs_url'] = 'required';
             $rules['wfs_typename'] = 'required';
             break;
         case 'gpx':
             if (empty($input['id'])) {
                 $rules['gpx_filename_0'] = 'required';
             }
             break;
         case 'kml':
             if (empty($input['id'])) {
                 $rules['kml_filename_0'] = 'required';
             }
             break;
         case 'postgis':
             $rules['postgis_host'] = 'required';
             $rules['postgis_port'] = 'required';
             $rules['postgis_user'] = '******';
             $rules['postgis_schema'] = 'required';
             $rules['postgis_table'] = 'required';
             $rules['postgis_field'] = 'required';
             $input['postgis_attributes'] = empty($input['postgis_attributes']) ? '*' : $input['postgis_attributes'];
             break;
         case 'geojson':
             $rules['geojson_attributes'] = 'required';
             break;
         case 'shapefile':
             if (empty($input['id'])) {
                 $rules['shapefile_filename_0'] = 'required';
             }
             break;
         case 'group':
         default:
     }
     // When validation fails
     $validator = \Validator::make($input, $rules);
     if ($validator->fails()) {
         return response()->json(['errors' => $validator->messages()]);
     }
     // Load layer
     if (empty($input['id'])) {
         $content = new Content();
         $content->user_id = \Auth::user()->id;
         $content->fill($input);
         $content->save();
         $layer = new Layer();
         $layer->user_id = \Auth::user()->id;
         $layer->content()->associate($content);
     } else {
         $layer = Layer::find($input['id']);
     }
     // Validate permission
     if (!$layer->isUserAllowed(\Auth::user())) {
         return response('', 401)->json(['success' => false]);
     }
     // Save changes
     $layer->fill($input);
     $layer->save();
     // Process files
     $layer->saveStyleIcon(\Request::file('ol_style_static_icon_0'));
     $layer->saveGPXFile(\Request::file('gpx_filename_0'));
     $layer->saveKMLFile(\Request::file('kml_filename_0'));
     $layer->saveShapeFile(\Request::file('shapefile_filename_0'));
     if ($layer->type === 'postgis') {
         try {
             $layer->savePostgisFile();
         } catch (\PDOException $e) {
             return response()->json(['errors' => ['postgis_error' => [$e->getMessage()]]]);
         } catch (\Exception $e) {
             return response()->json(['errors' => ['postgis_error' => [$e->getMessage()]]]);
         }
     }
     if ($layer->type === 'geojson') {
         $layer->saveGeoJSONFile();
     }
     // Response with redirect
     $redirect = url('/admin/layers/list');
     if (!isset($input['close'])) {
         $redirect = url('/admin/layers/form/' . $layer->id);
         if (empty($input['id'])) {
             $redirect .= '#features';
         }
     }
     return response()->json(['success' => 'Layer saved', 'redirect' => $redirect]);
 }
예제 #14
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     // Copy distributable storage folder
     if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
         shell_exec('xcopy /H /E /Y ' . public_path('storage.dist') . ' ' . public_path('storage'));
     } else {
         shell_exec('cp -R ' . public_path('storage.dist') . ' ' . public_path('storage'));
     }
     Model::unguard();
     // $this->call(UserTableSeeder::class);
     if (!DB::table('users')->count()) {
         User::create(['name' => 'Admin', 'email' => '*****@*****.**', 'password' => Hash::make('admin'), 'twitter_id' => '', 'facebook_id' => '', 'gplus_id' => '', 'avatar' => '']);
     }
     if (!DB::table('roles')->count()) {
         Role::create(['name' => 'Admin', 'content_permission' => 'NONE']);
         Role::create(['name' => 'Backoffice User', 'content_permission' => 'ROLE']);
         Role::create(['name' => 'Registered', 'content_permission' => 'NONE']);
     }
     if (!DB::table('role_user')->count()) {
         DB::table('role_user')->insert([['role_id' => 1, 'user_id' => 1]]);
     }
     if (!DB::table('permissions')->count()) {
         Permission::create(['label' => 'Backoffice', 'http' => 'GET', 'route' => 'admin']);
         Permission::create(['label' => 'Pages List', 'http' => 'GET', 'route' => 'admin/pages/list']);
         Permission::create(['label' => 'Users List', 'http' => 'GET', 'route' => 'admin/users/list']);
         Permission::create(['label' => 'Roles List', 'http' => 'GET', 'route' => 'admin/roles/list']);
         Permission::create(['label' => 'Permissions List', 'http' => 'GET', 'route' => 'admin/permissions/list']);
         Permission::create(['label' => 'Site Brand', 'http' => 'GET', 'route' => 'admin/brands/list']);
         Permission::create(['label' => 'Delete Content', 'http' => 'GET', 'route' => 'admin/contents/delete']);
         Permission::create(['label' => 'Change Content Ownership', 'http' => 'GET', 'route' => 'admin/contents/ownership']);
     }
     if (!DB::table('permission_role')->count()) {
         DB::table('permission_role')->insert([['role_id' => 3, 'permission_id' => 1, 'access' => 'DENY'], ['role_id' => 2, 'permission_id' => 2, 'access' => 'DENY'], ['role_id' => 2, 'permission_id' => 3, 'access' => 'DENY'], ['role_id' => 2, 'permission_id' => 4, 'access' => 'DENY'], ['role_id' => 2, 'permission_id' => 5, 'access' => 'DENY'], ['role_id' => 2, 'permission_id' => 6, 'access' => 'DENY'], ['role_id' => 2, 'permission_id' => 7, 'access' => 'DENY'], ['role_id' => 2, 'permission_id' => 8, 'access' => 'DENY']]);
     }
     if (!DB::table('brands')->count()) {
         Brand::create(['name' => 'Brand', 'slogan' => 'Brand slogan...', 'description' => 'Brand description', 'keywords' => 'keyword', 'author' => 'author', 'logo' => 'picture.png', 'active' => 1, 'css' => '', 'config' => '']);
     }
     if (!DB::table('contents')->count()) {
         Content::create(['user_id' => 1, 'lang' => 'en', 'title' => 'Demo', 'seo_slug' => 'demo', 'seo_title' => 'Demo', 'seo_description' => 'Demo', 'seo_keywords' => 'demo', 'seo_author' => 'admin', 'seo_image' => 'picture.png', 'content' => '<p>Content...<br></p>', 'publish_start' => '2015-07-01', 'role_permission' => 'NONE']);
     }
     if (!DB::table('events')->count()) {
         Event::create(['content_id' => 1, 'start' => '2015-07-1', 'end' => '2015-07-2']);
     }
     if (!DB::table('locations')->count()) {
         Location::create(['content_id' => 1, 'address' => 'Lisbon, Portugal', 'lat' => '38.7222524', 'lon' => '-9.139336599999979', 'zoom' => 5]);
     }
     if (!DB::table('pages')->count()) {
         Page::create(['name' => 'demo_notfound', 'route' => 'page/notfound', 'active' => 1]);
         Page::create(['name' => 'demo_home', 'route' => 'demo/home', 'active' => 1]);
         Page::create(['name' => 'demo_content', 'route' => '{slug}', 'active' => 1]);
         Page::create(['name' => 'demo_events', 'route' => 'demo/events', 'active' => 1]);
         Page::create(['name' => 'demo_map', 'route' => 'demo/map', 'active' => 1]);
         Page::create(['name' => 'demo_webgis', 'route' => '/', 'active' => 1]);
     }
     if (!DB::table('projections')->count()) {
         Projection::create(['srid' => '3857', 'proj4_params' => '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext  +no_defs', 'extent' => '-20026376.39 -20048966.10 20026376.39 20048966.10']);
     }
     if (!DB::table('layers')->count()) {
         $content = new Content();
         $content->user_id = 1;
         $content->lang = 'en';
         $content->title = 'Open Street Map';
         $content->seo_slug = 'open-street-map';
         $content->role_permission = 'NONE';
         $content->save();
         Layer::create(['user_id' => 1, 'content_id' => $content->id, 'projection_id' => 3857, 'type' => 'osm']);
         $content = new Content();
         $content->user_id = 1;
         $content->lang = 'en';
         $content->title = 'Markers';
         $content->seo_slug = 'markers';
         $content->role_permission = 'NONE';
         $content->save();
         Layer::create(['user_id' => 1, 'content_id' => $content->id, 'projection_id' => 3857, 'type' => 'geojson', 'geojson_geomtype' => 'Point', 'geojson_attributes' => 'label', 'geojson_features' => '{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[-851576.57182518,4456806.642252369]},"properties":{"label":"Tavira"}}],"crs":{"type":"name","properties":{"name":"EPSG:3857"}}}', 'feature_info_template' => '<p>{{ item.label }}</p>', 'search' => 'label', 'ol_style_static_icon' => 'ol_style_static_icon.png', 'ol_style_static_fill_color' => '', 'ol_style_static_stroke_color' => '', 'ol_style_static_stroke_width' => '']);
         Layer::find(2)->saveGeoJSONFile();
     }
     if (!DB::table('maps')->count()) {
         $content = new Content();
         $content->user_id = 1;
         $content->lang = 'en';
         $content->title = 'Map1';
         $content->seo_slug = 'map1';
         $content->role_permission = 'NONE';
         $content->publish_start = '2015-07-01';
         $content->save();
         Map::create(['user_id' => 1, 'content_id' => $content->id, 'projection_id' => 3857, 'center' => '0 0', 'zoom' => 2]);
         // Add OSM layer
         $mapitem = new Layeritem();
         $mapitem->map_id = 1;
         $mapitem->layer_id = 1;
         $mapitem->parent_id = 0;
         $mapitem->visible = 1;
         $mapitem->baselayer = 1;
         $mapitem->displayorder = 1;
         $mapitem->save();
         // Add markers layer
         $mapitem = new Layeritem();
         $mapitem->map_id = 1;
         $mapitem->layer_id = 2;
         $mapitem->parent_id = 0;
         $mapitem->visible = 1;
         $mapitem->baselayer = 0;
         $mapitem->displayorder = 1;
         $mapitem->save();
     }
     Model::reguard();
 }
예제 #15
0
 /**
  * Save content ownership
  * 
  * @param Content $content
  * @return \Illuminate\Http\JsonResponse
  */
 public function saveOwnership(Content $content)
 {
     $input = \Input::except('_token');
     // Validate
     $validator = \Validator::make($input, ['user_id' => 'required']);
     // When fails
     if ($validator->fails()) {
         return response()->json(['errors' => $validator->messages()]);
     }
     // Save changes
     $content->user_id = $input['user_id'];
     $content->save();
     // Response
     return response()->json(['success' => 'Content saved', 'redirect' => url('/admin/contents/list')]);
 }