<?php


/*

|--------------------------------------------------------------------------

| Web Routes

|--------------------------------------------------------------------------

|

| Here is where you can register web routes for your application. These

| routes are loaded by the RouteServiceProvider within a group which

| contains the "web" middleware group. Now create something great!

|

*/


use App\Posts;

use Illuminate\Http\Request;


Route::get('/', function () {

    return view('welcome');

});


Auth::routes();


Route::get('/home','HomeController@index')->name('home');


//posts Route

Route::get('/posts/',function(){

$post=Posts::all();

echo "<a href='/posts/create/'>Create Post</a><br/><br/><br/>";

if(count($post)>0) {

echo "<table width='100%' border='1'>";

echo "<thead style='background:#000;color:white;'>";

echo "<tr>";

echo "<td>";

echo "Sr.";

echo "</td>";

echo "<td>";

echo "Title";

echo "</td>";

echo "<td>";

echo "Description";

echo "</td>";

echo "<td>";

echo "Created At";

echo "</td>";

echo "<td>";

echo "Updated At";

echo "</td>";

echo "<td colspan='2'>";

echo "Edit";

echo "</td>";

echo "</tr>";

echo "</thead>";


$i=1;

foreach ($post as $posts) {

echo "<tr>";

echo "<td>";

echo "{$i}";

echo "</td>";

echo "<td>";

echo "{$posts->title}";

echo "</td>";

echo "<td>";

echo "{$posts->descriptions}";

echo "</td>";

echo "<td>";

echo "{$posts->created_at}";

echo "</td>";

echo "<td>";

echo "{$posts->updted_at}";

echo "</td>";

echo "<td>";

echo "<a href='/posts/edit/{$posts->id}'>Edit</a>";

echo "</td>";

echo "<td>";

echo "<a href='/posts/delete/{$posts->id}'>Delete</a>";

echo "</td>";

echo "</tr>";

$i++;

}


}

echo "</table>";

});


Route::get('/posts/edit/{id}',function($id){


echo " <h1>Post Update</h1><hr/> ";

$post=Posts::find($id);

$title=$post->title;

$desc=$post->descriptions;

$csrf_token=csrf_token();

echo <<<FORM


<form action="/posts/update" method="post">

<input type="hidden" name="_token" value="$csrf_token">

<input type="hidden" name="_id" value="{$id}"><br/>

Title: <input type="text" name="title" value="{$title}"><br/>

Description : <input type="text" name="desc" value="{$desc}"><br/>

<input type="submit" vlaue="submit">

</form>



FORM;

});


Route::post('/posts/update/',function(Request $request){


$id=$request->get('_id');

$title=$request->get('title');

$desc=$request->get('desc');

$post = Posts::find($id);

$post->title=$title;

$post->descriptions=$desc;

$post->save();

return redirect()->to(url('posts'));


});


Route::get('/posts/delete/{id}',function($id){


$post= Posts::find($id);

$post->delete();

return redirect()->back();

});


Route::get('/posts/create/',function(){


echo " <h1>Created Post</h1><hr/> ";

$base_url=url('posts/save');

$csrf_token=csrf_token();

 echo <<<FORM

  <html>

  <head></head>

  <body>

  <form action="{$base_url}" method="post">

  <input type="hidden" name="_token" value="{$csrf_token}"/>

  <p>

  title: <input type="text" name="title"/></p>

  <p>

  description:<textarea name="description"></textarea></p>

  <p>

  <input type="submit" name="submit" value="submit"/></p>

  </form>

  </body>

  </html>

FORM;

});


Route::post('/posts/save',function(Request $request){

$title=$request->get('title');

$descriptions=$request->get('description');


$posts=App\Posts::create([

'title'=>$title,

'descriptions'=>$descriptions,

]);



return redirect('/posts');

});






//post get value by id


// Route::get('/posts/{id}',function($id){

// //$posts=App\Posts::all();

// $posts=Posts::where('id',$id)->get();

// if(count($posts)>0):

// echo "<h1>all post data</h1>";

// echo "<table width='100px' border='1'>";

// echo "<thread>";

// echo "<tr>";

// echo "<th>SR_NO.</th>";

// echo "<th>#</th>";

// echo "<th>title</th>";

// echo "<th>description</th>";

// echo "<th>Created_AT</th>";

// echo "</tr>";

// echo "</thread>";

// echo "<tbody>";

// $i=1;

// foreach ($posts as $post):

// echo "<tr>";

// echo "<td>{$i}</td>";

// echo "<td>{$post->id}</td>";

// echo "<td>{$post->title}</td>";

// echo "<td>{$post->description}</td>";

// echo "<td>{$post->created_at}</td>";

// echo "</tr>";

// $i++;

// endforeach;

// echo "</tbody>";

// echo "</table>";


// else:

// echo "no record found";

// endif;

// //return $posts;

// //dd($posts);

// });




//add post

Route::get('/posts/add',function(){

 echo "<h1> create the post</h1>";

 echo "<hr>";

 $base_url=url('posts/save');

 $csrf_token=csrf_token();

 echo <<<FORM

  <html>

  <head></head>

  <body>

  <form action="{$base_url}" method="post">

  <input type="text" name="_token" value="{$csrf_token}"/>

  <p>

  title: <input type="text" name="title"/></p>

  <p>

  description:<textarea name="description"></textarea></p>

  <p>

  <input type="submit" name="submit" value="submit"/></p>

  </form>

  </body>

  </html>

FORM;

});


//

// Route::post('/posts/save',function(Request $request){

// //$posts=Posts::create();

// //echo "page is loaded";

// $title=$request->get('title');

// $description=$request->get('description');


//insert in database using single assignent

// $posts= new App\Posts();

// $posts->title=$title;

// $posts->description=$description;

// $posts->save();


//mass Assignment

// $posts=App\Posts::create([

// 'title'=>$title,

// 'description'=>$description,

// ]);



// return redirect('/posts');


// });


Route::get('/post/delete/{id}',function($id){

$posts = posts::find($id);

$posts->delete();

return redirect()->back();

});



Route::get('/post/update/{id}',function($id){

$posts = posts::find($id);



echo "<h1> update/Edit the post</h1>";

 echo "<hr>";

 $base_url=url("posts/update/save/{$posts->id}");

 $csrf_token=csrf_token();

 echo <<<FORM

  <html>

  <head></head>

  <body>

  <form action="{$base_url}" method="post">

  <input type="text" name="_token" value="{$csrf_token}"/>

  <p>

  title: <input type="text" name="title" value='{$posts->title}'/></p>

  <p>

  description:<textarea name="description" value="{$posts->description}"></textarea></p>

  <p>

  <input type="submit" name="submit" value="submit"/></p>

  </form>

  </body>

  </html>

FORM;

   

//return redirect()->back();

});



Route::post('/posts/update/save/{id}', function(Request $request,$id){

$posts=Posts::find($id);

$title=request('title');

$description=request('description');

     $posts->title="$title";

     $posts->description="$description";

     $posts->save();



     return redirect("/posts");







});



Route::get('/test',function(){

return view('test');

});