PageController.php 6.36 KiB
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Requests\StorePageRequest;
use DB;
use App\Post;
use App\User;
use App\Page;
// use App\Http\Requests\StorePostRequest;
use Auth;
class PageController extends Controller
    /**
     * Display a listing of the resource.
     * @return \Illuminate\Http\Response
    public function index()
        $pages = Page::where('status',true)->get();
        return response()->json(
            'page'=>$pages
    public function store_post_by_page()
    public function create()
        return view('page.manage',
        	'submitButtonText' => 'Submit' 
        	,'title' => 'Create'
    /**
     * Store a newly created resource in storage.
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
    public function store(StorePageRequest $request)
        $data = $request->all();
        $page = Auth::User()->pages()->create($data);
       if ($request->hasFile('image') && $request->file('image')->isValid()) {
            $path = $request->file('image')->getRealPath();
            $mime_type = $request->file('image')->getClientOriginalExtension();
            $destination_path = 'pages/' . 'page'.'_'.$page->id.'.' . $mime_type;
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
\Storage::put( $destination_path, file_get_contents($path) ); $page->image = $destination_path; $page->save(); } return redirect('page/'.$page->id); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($page_id) { $page = Page::find($page_id); $page_owner = $page->user_id; $user_id = Auth::User()->id; $owner; if ($page_owner == $user_id) { $owner = true; } else { $owner= false; } $pages = DB::table('follow_pages')->where('page_id',$page_id)->get(); $can_follow = true; foreach ($pages as $page1){ if($page1->user_id == $user_id) { $can_follow = false; break; } } $aUser = User::find($user_id); $posts = Post::with([ 'comments' => function ($query) { $query->orderBy('updated_at', 'desc'); } ]) ->where('user_id', $user_id) ->orderBy('updated_at', 'desc') ->get(); $auth_user_id = Auth::User()->id; $count = 0; $ownerPost = []; foreach ($posts as $post) { if ($post->likeByUsers) { foreach ($post->likeByUsers as $user) { if ($user->id == $auth_user_id) { $post->likeable = false; break;
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
} } } if (!isset($post->likeable)) { $post->likeable = true; } if ($post->comments){ foreach ($post->comments as $comment){ if($comment->likeByUsers){ foreach($comment->likeByUsers as $user_comment){ if ($user_comment->id == $auth_user_id){ $comment->likeable = false; break; } } } if (!isset($comment->likeable)){ $comment->likeable = true; } } } } return view('page.view_page', ['pages' => $pages, 'page' => $page, 'owner' => $owner, 'can_follow' => $can_follow, 'posts' => $posts, 'user' => $aUser ]); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { $page = Page::find($id); return view('page.manage', [ 'submitButtonText' => 'Update' ,'title' => 'Edit' , ])->withPage($page); // } public function update(Request $request, $id) { $data = $request->all(); $page = Page::find($id); $page->update($data); if ($request->hasFile('image') && $request->file('image')->isValid()) { $path = $request->file('image')->getRealPath();