Blog.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use \App\Models\Blogs;
  5. use Illuminate\Support\Str;
  6. use Illuminate\Support\Facades\Storage;
  7. use File;
  8. use App\Helpers\CommonMethods;
  9. use Nette\Utils\Image;
  10. class Blog extends Controller
  11. {
  12. //
  13. public function blogs(){
  14. $blogs = Blogs::whereNull('deleted_at')->where('rec_purpose','blogs')->get();
  15. return view('blogs.blogs',['blogs'=>$blogs]);
  16. }
  17. public function new_blog(){
  18. return view("blogs.blog_form");
  19. }
  20. public function edit_blog($id){
  21. $blog= Blogs::find($id);
  22. return view("blogs.blog_form",['blog'=>$blog]);
  23. }
  24. public function save_blog(Request $request){
  25. $id = $request->id;
  26. if($id=="")
  27. $blog = new Blogs();
  28. else
  29. $blog = Blogs::find($id);
  30. $blog->title = $request->title;
  31. $blog->slug = Str::slug($request->title);
  32. $blog->content = $request->content;
  33. $blog->rec_purpose = $request->rec_purpose;
  34. $blog->short_description = $request->short_description;
  35. $blog->is_published = isset($request->is_published)?"Yes":"No";
  36. $url = "";
  37. if($request->hasFile('media')){
  38. $media = $request->file('media');
  39. //dd($media);
  40. $file_name = Str::slug($request->name)."-blog".'-'.time();
  41. $extension = $media->getClientOriginalExtension();
  42. Storage::disk('logo')->put($file_name.'.'.$extension, File::get($media));
  43. $destinationPath = public_path('/uploads/logo/');
  44. $img = Image::make($destinationPath . '/' . $file_name.'.'.$extension)->resize(1400, null, function ($constraint) {
  45. $constraint->aspectRatio();
  46. });
  47. $img->save($destinationPath . '/' . $file_name.'.'.$extension);
  48. /* $img = Image::make($destinationPath . '/' . $file_name.'.'.$extension)->resize(85, null, function ($constraint) {
  49. $constraint->aspectRatio();
  50. });
  51. $img->save($destinationPath . '/thumbnails/' . $file_name.'.'.$extension);*/
  52. $file = public_path('/uploads/logo/'.$file_name.'.'.$extension);
  53. $result = CommonMethods::uploadFileToAWSCDN('meemapp-order',time(), 'blog',$file,$file_name);
  54. $url = isset($result) && isset($result['url'])?$result['url']:"";
  55. $blog->media = $url;
  56. }
  57. $blog->save();
  58. $id = $blog->id;
  59. if($id > 0){
  60. echo json_encode(array('type' => 'success', 'message'=>"Blog's data is saved successfully."));
  61. }else{
  62. echo json_encode(array('type' => 'error', 'message'=>"Blog's data is not saved, check info again."));
  63. }
  64. }
  65. public function delete_blog($id){
  66. $blog = Blogs::find($id);
  67. $blog->deleted_at = date('Y-m-d H:i:s');
  68. $blog->save();
  69. }
  70. // -------- DOCS ----------------------------------
  71. public function docs(){
  72. $blogs = Blogs::whereNull('deleted_at')->where('rec_purpose','docs')->get();
  73. return view('blogs.blogs',['blogs'=>$blogs]);
  74. }
  75. }