diff --git a/app/Http/Controllers/LearnController.php b/app/Http/Controllers/LearnController.php index 32422a6c37c0fe3526ade40987726b527fd5ce66..b9ce8ab8d18a3fa25a170d1d2eb5fb318f6722f4 100644 --- a/app/Http/Controllers/LearnController.php +++ b/app/Http/Controllers/LearnController.php @@ -25,7 +25,17 @@ class LearnController extends Controller */ public function index($id_course, $id_spreadsheet) { - return view('learn', ['id_spreadsheet' => $id_spreadsheet]); + $client = LearnController::getClient(); + $service = new \Google_Service_Drive($client); + $copy = new \Google_Service_Drive_DriveFile(); + + $response = $service->files->copy($id_spreadsheet, $copy); + + $permission_response = LearnController::edit_permission($response->id); + + $topic = DB::table('topics')->where('id_spreadsheet', $id_spreadsheet)->first(); + $content = $topic->content; + return view('learn', ['id_spreadsheet' => $response->id, 'content' => $content]); } /** @@ -47,13 +57,7 @@ class LearnController extends Controller ]); $response = $service->spreadsheets->create($spreadsheet, ['fields' => 'spreadsheetId']); - // Edit permission - $service2 = new \Google_Service_Drive($client); - $permission2 = new \Google_Service_Drive_Permission([ - 'role' => 'writer', - 'type' => 'anyone' - ]); - $response2 = $service2->permissions->create($response->spreadsheetId, $permission2); + $permission_response = LearnController::edit_permission($response->spreadsheetId); if (empty($response->spreadsheetId)) { $msg = 0; @@ -69,16 +73,62 @@ class LearnController extends Controller return redirect()->route('course', ['id_course' => $id_course, 'msg' => $msg]); } + /** + * Edit Permission. + * + * @return response + */ + public function edit_permission($id) + { + $client = LearnController::getClient(); + $service = new \Google_Service_Drive($client); + $permission = new \Google_Service_Drive_Permission([ + 'role' => 'writer', + 'type' => 'anyone' + ]); + $response = $service->permissions->create($id, $permission); + + return $response; + } + /** * Edit Spreadsheet. * + * @return view + */ + public function edit($id_course, $id_spreadsheet) + { + $topic = DB::table('topics')->where('id_spreadsheet', $id_spreadsheet)->first(); + return view('edit', ['id_spreadsheet' => $id_spreadsheet, 'topic' => $topic]); + } + + /** + * Save Spreadsheet. + * + * @return message + */ + public function save(Request $request) + { + echo $request->id_spreadsheet; + echo $request->myTextArea; + echo $request->richh; + DB::table('topics')->insert([ + 'id_course' => '2', + 'name' => 'ahaha', + 'content' => $request->richh, + 'id_spreadsheet' => $request->id_spreadsheet + ]); + } + + /** + * Save Spreadsheet. + * * @return message */ - public function edit(Request $request) + public function test() { - echo 'htmlentities'; - echo htmlentities('_token=g3S3CcOUpXXaTOIdwsxCZzejdAlRzpFTGXoV5C5j&%E2%80%9DmyTextarea%E2%80%9D=%3Cp%3ENext%2C+use+our+Get+Started+docs+to+setup+Tiddny%21%3C%2Fp%3E'); - echo $request->Next; + $profile = DB::table('topics')->where('id', 5)->first(); + echo $profile->content; } /** diff --git a/public/js/text.js b/public/js/text.js index 55a4b68ce8469b9b840d5f96874c055a3d833289..9232f5c7acfa8d8e7c2bb24a4ec206abf637b4cc 100644 --- a/public/js/text.js +++ b/public/js/text.js @@ -17,7 +17,8 @@ function iOrderedList(){ richTextField.document.execCommand("InsertUnorderedList", false,"newUL"); } function submit_form(){ + console.log(tinymce.get('rich').getContent({format : 'raw'})); var theForm = document.getElementById("myform"); - theForm.elements["myTextArea"].value = window.frames['richTextField'].document.body.innerHTML; + theForm.elements["myTextArea"].value = tinymce.get('rich').getContent({format : 'raw'}); theForm.submit(); } \ No newline at end of file diff --git a/resources/views/course.blade.php b/resources/views/course.blade.php index 83b91571a0de60229f60db0e329c57f075ae7c13..ebb19b8d438519f9b6b5353692268987e9cb47a7 100644 --- a/resources/views/course.blade.php +++ b/resources/views/course.blade.php @@ -31,7 +31,11 @@ <div id="collapse<?php echo $topic->id; ?>" class="collapse show" aria-labelledby="heading<?php echo $topic->id; ?>" data-parent="#accordionTopics"> <div class="card-body"> {{ $topic->content }} <br/> <br/> - <a href="<?php echo $topic->id_course; ?>/learn/<?php echo $topic->id_spreadsheet; ?>" class="btn btn-primary" role="button">Buka Topik</a> + @if(Auth::user()->role == 1) + <a href="<?php echo $topic->id_course; ?>/learn/<?php echo $topic->id_spreadsheet; ?>/edit" class="btn btn-primary" role="button">Buka Topik</a> + @else + <a href="<?php echo $topic->id_course; ?>/learn/<?php echo $topic->id_spreadsheet; ?>" class="btn btn-primary" role="button">Buka Topik</a> + @endif </div> </div> </div> diff --git a/resources/views/edit.blade.php b/resources/views/edit.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..70c7f3d17e0dc9fb2d7cf3e7ed70b3733bed1950 --- /dev/null +++ b/resources/views/edit.blade.php @@ -0,0 +1,62 @@ +@extends('layouts.app') + +@section('content') +<!-- <form action="<?php echo Request::url(); ?>/edit/submit" name="myform" id="myform" method="post"> + {{ csrf_field() }} + <div id="wysiwyg_cp" style="padding:8px; width:700px;"> + <input type="button" onClick="iBold()" value="B"> + <input type="button" onClick="iUnderline()" value="U"> + <input type="button" onClick="iItalic()" value="I"> + <input type="button" onClick="iUnorderedList()" value="UL"> + <input type="button" onClick="iOrderedList()" value="OL"> + </div> + <textarea style="display:none;" name="myTextArea" id="myTextArea" cols="100" rows="14"></textarea> + <iframe name="richTextField" id="richTextField" style="border:#000000 1px solid; width:700px; height:300px;"></iframe> + <input name="myBtn" type="button" value="Submit Data" onClick="javascript:submit_form();"/> +</form> --> +<div class="container-fluid"> + <div class="row"> + <div class="col-lg-4"> + <h4>Materi: {{ $topic->name }}</h4> + <div class="accordion" id="accordionCourses"> + <div class="card"> + <div class="card-header" id="heading1" style="transform: rotate(0);"> + <h5 class="mb-0"> + <button class="btn stretched-link" type="button" data-toggle="collapse" data-target="#collapse1" aria-expanded="false" aria-controls="collapse1"> + Persoalan + </button> + </h5> + </div> + <div id="collapse1" class="collapse show" aria-labelledby="heading1" data-parent="#accordionCourses"> + <form action="<?php echo Request::url(); ?>/save" name="myform" id="myform" method="post"> + @csrf + <input type="hidden" value="<?php echo $id_spreadsheet; ?>" class="form-control" name="id_spreadsheet" id="id_spreadsheet"> + <textarea name="richh" id="richh"><?php echo $topic->content;?></textarea> + <button style="float: right; margin-top: 1rem; margin-bottom: 1rem;" type="submit" class="btn btn-primary"><b>Simpan</b></button> + </form> + </div> + </div> + <div class="card"> + <div class="card-header" id="heading2" style="transform: rotate(0);"> + <h5 class="mb-0"> + <button class="btn stretched-link" type="button" data-toggle="collapse" data-target="#collapse2" aria-expanded="false" aria-controls="collapse2"> + Kunci Jawaban + </button> + </h5> + </div> + <div id="collapse2" class="collapse" aria-labelledby="heading2" data-parent="#accordionCourses"> + Iki isinie + </div> + </div> + </div> + </div> + <div class="col-lg-8"> + <iframe + style="width:100%; height:500px; border: 1px solid grey;" + frameBorder="0" + src="https://docs.google.com/spreadsheets/d/<?php echo $id_spreadsheet; ?>/edit?usp=drivesdk&rm=embedded"> + </iframe> + </div> + </div> +</div> +@endsection \ No newline at end of file diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 49389254ad059036666c563409034c40a1778f0b..407fd88f135dcb4d194e35e9e11243119dd00d37 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -13,7 +13,7 @@ <script src="{{ asset('js/app.js') }}" defer></script> <script src="{{ asset('js/text.js') }}" defer></script> <script src="https://cdn.tiny.cloud/1/yaezxtmh9h1roazzxnkx70is63n62nbov3xskxim3rpnbcoj/tinymce/5/tinymce.min.js" referrerpolicy="origin"></script> - <script>tinymce.init({selector:'mtextarea'});</script> + <script>tinymce.init({selector:'textarea'});</script> <!-- Fonts --> <link rel="dns-prefetch" href="//fonts.gstatic.com"> diff --git a/resources/views/learn.blade.php b/resources/views/learn.blade.php index ef515a1eadb87283e75c39ffecf8521c2ae01279..f0d6d32122aa707000ff6c4c786b28f2942ead18 100644 --- a/resources/views/learn.blade.php +++ b/resources/views/learn.blade.php @@ -20,16 +20,9 @@ <div class="card"> <div class="card-header">Judul</div> <div class="card-body"> - Ahaii + <?php echo $content;?> </div> </div> - <div> - <form action="<?php echo Request::url(); ?>/edit/submit" method="post"> - {{ csrf_field() }} - <mtextarea name=â€myTextarea†id=â€myTextareaâ€>Next, use our Get Started docs to setup Tiddny!</mtextarea> - <button type="submit" class="btn btn-primary"><b>Submit</b></button> - </form> - </div> </div> <div class="col-lg-8"> <iframe @@ -37,7 +30,7 @@ frameBorder="0" src="https://docs.google.com/spreadsheets/d/<?php echo $id_spreadsheet; ?>/edit?usp=drivesdk&rm=embedded"> </iframe> - <form action="<?php echo Request::url(); ?>/submit" method="post"> + <form action="<?php echo Request::url(); ?>/submit" name="myform" id="myform" method="post"> <input type="hidden" value="<?php echo $id_spreadsheet; ?>" class="form-control" name="id_spreadsheet" id="id_spreadsheet"> <button style="float: right;" type="submit" class="btn btn-success"><b>Submit</b></button> </form> diff --git a/resources/views/test.blade.php b/resources/views/test.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/routes/web.php b/routes/web.php index e647eca40f0545ffdadb9f1ed15dca79d0a12939..5311d3cc1348dd18e86663d5fc87ce4cba73b081 100644 --- a/routes/web.php +++ b/routes/web.php @@ -14,15 +14,14 @@ Route::get('/', function () { return view('welcome'); }); -Route::get('/test', function () { - return view('test'); -}); + Auth::routes(); Route::get('/home', 'HomeController@index')->name('home'); +Route::get('/test', 'LearnController@test')->name('test'); Route::get('/course/{id_course}', 'CourseController@index')->name('course'); Route::post('/course/{id_course}/learn/new', 'LearnController@new')->name('learn/new'); Route::get('/course/{id_course}/learn/{id_spreadsheet}', 'LearnController@index')->name('learn'); -Route::get('/course/{id_course}/learn/{id_spreadsheet}/edit', 'LearnController@edit')->name('learn/edit'); -Route::post('/course/{id_course}/learn/{id_spreadsheet}/edit/submit', 'LearnController@edit')->name('learn/edit'); +Route::get('/course/{id_course}/learn/{id_spreadsheet}/edit', 'LearnController@edit')->name('edit'); +Route::post('/course/{id_course}/learn/{id_spreadsheet}/edit/save', 'LearnController@save')->name('edit/save'); Route::post('/course/{id_course}/learn/{id_spreadsheet}/submit', 'LearnController@submit')->name('learn/submit'); \ No newline at end of file