UserController.php new post , ajax , helper , file upload

'Home - News' ]; return view('home', $data); } public function ajax_post() { $data = Post::latest()->get(); $dt = Datatables::of($data) ->addIndexColumn() ->editColumn('status', function ($row) { $clr = "blue"; if ($row->status === 'approved') { $clr = "green"; } if ($row->status === 'rejected') { $clr = "red"; } return "" . ucfirst($row->status) . ""; }) ->addColumn('title', function ($row) { $btn = '' . $row->title . ''; return $btn; }) ->rawColumns(['title', 'status']) ->make(true); // echo "
";
        return $dt;
    }
    public function post()
    {
        $posts = Post::with('category', 'users')->get()->toArray();
        $data = ['title' => 'Posts - News', 'posts' => $posts];

        return view('user/post', $data);
    }
    public function view_post($id, $slug)
    {
        $post = Post::with('category', 'users')->find($id)->toArray();
        $related_category_ids = $post['category_id'];
        $related_posts = Post::where('category_id', $related_category_ids)
            ->where('id', '<>', $post['id'])
            ->take(3)
            ->get()->toArray();

        $data = ['title' => $post['title'], 'post' => $post, 'related_posts' => $related_posts];
        $post = Post::find($post['id']);
        $post->views = $post['views'] + 1;
        $post->save(); 
       
        return view('user/view_post', $data);
    }
    public function ck_image_upload(Request $request)
    {
        if ($request->hasFile('upload')) {

            $originName = $request->file('upload')->getClientOriginalName();
            $fileName = pathinfo($originName, PATHINFO_FILENAME);
            $extension = $request->file('upload')->getClientOriginalExtension();
            $fileName = $fileName . '_' . time() . '.' . $extension;
            $request->file('upload')->move(public_path('uploads/post'), $fileName);
            $CKEditorFuncNum = $request->input('CKEditorFuncNum');
            $url = '/uploads/post/' . $fileName;
            $msg = '';
            $response = "";
            // $response = "";

            @header('Content-type: text/html; charset=utf-8');
            echo $response;
            // echo response()->json(['data' => $res]);
        }
    }
    public function new_post()
    {
        $categories = Category::get()
            ->where('is_delete', 0)
            ->toArray();

        $data = ['title' => 'New Post - News', 'categories' => $categories];

        return view('user/new_post', $data);
    }

    public function post_data(Request $request)
    {

        $image = $request->file('select_file');
        $image_path = "post_default.jpg";
        if (!empty($image)) {
            $new_name = Str::random(12) . '.' . $image->getClientOriginalExtension();
            $image->move(public_path('uploads/post'), $new_name);
            $image_path = $new_name;
        }

        $category = new Post();
        $category->title = $request->title;
        $category->news_body = $request->news_body;
        $category->category_id = $request->category_id;
        $slug = Helper::generateSlug($request->title, 'App\\admin\\Post', 'slug');
        $category->slug = $slug;
        $category->image = $image_path;
        if ($category->save()) {
            return 'true';
        } else {

            return 'false';
        }
    }
    public function login()
    {
        $data = ['title' => 'Login - News',];
        return view('login', $data);
    }
    public function login_data(Request $request)
    {
        $mobile = $request->mobile;
        $hash_password = $request->password;

        $user = User::get()
            ->where('mobile', $mobile)->first();

        //print_r($user);

        if (!empty($user)) {

            $pass = $user['password'];
            $status = $user['status'];
            if ($status === 'blocked') {
                return 'blocked';
            }
            if (Hash::check($hash_password, $pass)) {

                Session::put('is_user_login', 'true');
                Session::put('user_id', $user['id']);

                return 'true';
            } else {
                return 'false';
            }
        } else {
            return 'false';
        }
    }

    public function register_data(Request $request)
    {

        $user = User::get()
            ->where('mobile', $request->mobile)
            ->toArray();
        if ($user) {
            return 'already';
        } else {

            $image = $request->file('select_file');
            $image_path = "default_user.png";
            if (!empty($image)) {
                $new_name = Str::random(12) . '.' . $image->getClientOriginalExtension();
                $image->move(public_path('uploads/user'), $new_name);
                $image_path = $new_name;
            }

            $user = new User();
            $user->name = $request->name;
            $user->email = $request->email;
            $user->mobile = $request->mobile;
            $user->password = Hash::make($request->password);
            $user->image = $image_path;
            if ($user->save()) {
                return 'true';
            } else {
                return 'false';
            }
        }
    }
}

Comments

Popular posts from this blog

routes->web.php

HomeController.php log reg