Commit 236cc1dc by Triyah Fatmawati

Mengupdate fitur edit halaman untuk auto translate dan edit per bahasa

parent d7b27148
......@@ -191,15 +191,32 @@ class PageController extends Controller
{
$data = $this->repo->findId($id, ['rEn', 'rDe', 'rSa', 'rZh']);
$categories = Categories::pluck('name', 'id');
$manual=0;
$data = [
'data' => $data,
'categories' => $categories,
'manual'=> $manual,
];
return view('webprofile.backend.pages.edit', $data)->withTitle(trans('feature.edit_page'));
}
public function editPerBahasa($id)
{
$data = $this->repo->findId($id, ['rEn', 'rDe', 'rSa', 'rZh']);
$categories = Categories::pluck('name', 'id');
$manual=1;
$data = [
'data' => $data,
'categories' => $categories,
'manual'=> $manual,
];
return view('webprofile.backend.pages.edit_per_bahasa', $data)->withTitle(trans('feature.edit_page'));
}
/**
* Update the specified resource in storage.
*
......@@ -209,48 +226,104 @@ class PageController extends Controller
*/
public function update(Request $request, $id)
{
$data = $request->except(['_token', 'id', 'title_en', 'content_en', 'title_de', 'content_de', 'title_sa', 'content_sa', 'title_zh', 'content_zh']);
$dataEn = $request->except(['_token', 'id']);
$data = $request->except(['_token', 'id', 'title_en', 'content_en', 'title_de', 'content_de', 'title_sa', 'content_sa', 'title_zh', 'content_zh', 'manual']);
$dataEn = $request->except(['_token', 'id', 'manual']);
$page = $this->repo->findId($id, ['rEn', 'rDe', 'rSa', 'rZh']);
$edit = $this->repo->update($data, $page);
// $edit = $this->repo->update($data, $page);
$this->updateEn($dataEn, $page);
$this->updateDe($dataEn, $page);
$this->updateSa($dataEn, $page);
$this->updateZh($dataEn, $page);
$this->updateEn($dataEn, $page, $request->manual);
$this->updateDe($dataEn, $page, $request->manual);
$this->updateSa($dataEn, $page, $request->manual);
$this->updateZh($dataEn, $page, $request->manual);
$this->repo->update($data, $page);
return redirect()->route('pages.index');
}
public function updateEn($data, $page)
public function updateEn($data, $page, $manual)
{
if ($manual==1){
$dataEn['title'] = $data['title_en'];
$dataEn['content'] = $data['content_en'];
}
else{
if (strip_tags($data['content']) == null) {
$data['content'] = 'kosong';
}
$trans = new GoogleTranslate();
$title = $trans->translate($this->SOURCE, $this->TARGET, $data['title']);
$content = $trans->translate($this->SOURCE, $this->TARGET, strip_tags($data['content']));
$dataEn['title'] = $title;
$dataEn['content'] = $content;
}
$this->repoEn->update($dataEn, $page);
}
public function updateDe($data, $page)
public function updateDe($data, $page, $manual)
{
if($manual==1){
$dataDe['title'] = $data['title_de'];
$dataDe['content'] = $data['content_de'];
}
else{
if(strip_tags($data['content'])==null){
$data['content'] = 'kosong';
}
$trans = new GoogleTranslate();
$title = $trans->translate($this->SOURCE, $this->TARGETDE, $data['title']);
$content = $trans->translate($this->SOURCE, $this->TARGETDE, strip_tags($data['content']));
$dataDe['title'] = $title;
$dataDe['content'] = $content;
}
$this->repoDe->update($dataDe, $page);
}
public function updateSa($data, $page)
public function updateSa($data, $page, $manual)
{
if($manual==1){
$dataSa['title'] = $data['title_sa'];
$dataSa['content'] = $data['content_sa'];
}
else{
if(strip_tags($data['content'])==null){
$data['content'] = 'kosong';
}
$trans = new GoogleTranslate();
$title = $trans->translate($this->SOURCE, $this->TARGETSA, $data['title']);
$content = $trans->translate($this->SOURCE, $this->TARGETSA, strip_tags($data['content']));
$dataSa['title'] = $title;
$dataSa['content'] = $content;
}
$this->repoSa->update($dataSa, $page);
}
public function updateZh($data, $page)
public function updateZh($data, $page, $manual)
{
if($manual==1){
$dataZh['title'] = $data['title_zh'];
$dataZh['content'] = $data['content_zh'];
}
else{
if(strip_tags($data['content'])==null){
$data['content'] = 'kosong';
}
$trans = new GoogleTranslate();
$title = $trans->translate($this->SOURCE, $this->TARGETZH, $data['title']);
$content = $trans->translate($this->SOURCE, $this->TARGETZH, strip_tags($data['content']));
$dataZh['title'] = $title;
$dataZh['content'] = $content;
}
$this->repoZh->update($dataZh, $page);
}
......
......@@ -35,7 +35,9 @@ class PagesRepository extends Repository
return DataTables::of($data)
->addIndexColumn()
->addColumn('action', function ($row) {
$btn = '<a href="' . url('/webprofile/pages/' . $row->id . '/edit') . '" data-toggle="tooltip" data-id="' . $row->id . '" data-original-title="' . trans('label.edit') . '" class="edit btn btn-warning btn-round btn-sm edit">' . trans('label.edit') . '</a>';
$btn = '<a href="' . url('/webprofile/pages/' . $row->id . '/edit') . '" data-toggle="tooltip" data-id="' . $row->id . '" data-original-title="' . trans('label.editsemuabahasa') . '" class="edit btn btn-warning btn-round btn-sm edit">' . trans('label.editsemuabahasa') . '</a>';
$btn = $btn. ' <a href="' . url('/webprofile/pages/' . $row->id . '/editperbahasa') . '" data-toggle="tooltip" data-id="' . $row->id . '" data-original-title="' . trans('label.edittiapbahasa') . '" class="edit btn btn-warning btn-round btn-sm edit">' . trans('label.edittiapbahasa') . '</a>';
$btn = $btn . ' <a href="javascript:void(0)" data-toggle="tooltip" data-id="' . $row->id . '" data-original-title="' . trans('label.delete') . '" class="btn btn-danger btn-round btn-sm delete">' . trans('label.delete') . '</a>';
......
......@@ -26,7 +26,7 @@
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><strong>@lang('label.edit')</strong> @lang('feature.page')</h3>
<h3 class="panel-title"><strong>@lang('label.editsemuabahasa')</strong> @lang('feature.page')</h3>
</div>
<div class="panel-body">
<div class="row">
......@@ -37,6 +37,7 @@
<div class="form-group @if ($errors->has('title')) has-error @endif">
<div class="col-md-12">
{{ Form::text('title', old('title'), array('class' => 'form-control', 'placeholder'=>trans('label.title'), 'style'=>'font-size: 14pt;', 'required')) }}
{{ Form::hidden('manual', $manual, array('id'=>'manual')) }}
@if ($errors->has('title'))
<label id="login-error" class="error" for="login">{{$errors->first('title')}}</label>
@endif
......@@ -49,7 +50,7 @@
</div>
</div>
</div>
<div class="tabs">
{{-- <div class="tabs">
<ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="#inggris" role="tab" data-toggle="tab" aria-expanded="true">Inggris</a></li>
<li class=""><a href="#jerman" role="tab" data-toggle="tab" aria-expanded="false">Jerman</a></li>
......@@ -138,7 +139,7 @@
</div>
</div>
</div>
</div>
</div> --}}
</div>
</div>
</div>
......
@extends('webprofile.backend.layouts.master')
@section('title')
{{ $title }}
@stop
@section('assets')
<link rel="stylesheet" href="{!! asset('backend/assets/select2/select2.min.css') !!}">
<style media="screen">
.tkh{
color: black;
}
</style>
@stop
@section('breadcrumbs')
<li><a href="{{ url('dashboard') }}">@lang('label.dashboard')</a></li>
<li class="active">@lang('feature.edit_page')</li>
@stop
@section('content')
<!-- page start-->
<div class="row">
{!! Form::model($data, ['route' => ['pages.update', $data->id], 'method'=>'patch', 'files' => true]) !!}
{!! csrf_field() !!}
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><strong>@lang('label.edittiapbahasa')</strong> @lang('feature.page')</h3>
</div>
<div class="panel-body">
<div class="row">
<div style="padding: 10px 10px 10px 10px; font-weight: bold; font-size: 14pt;">
Bahasa Indonesia
</div>
<div class="col-md-12">
<div class="form-group @if ($errors->has('title')) has-error @endif">
<div class="col-md-12">
{{ Form::text('title', old('title'), array('class' => 'form-control', 'placeholder'=>trans('label.title'), 'style'=>'font-size: 14pt;', 'required')) }}
{{ Form::hidden('manual', $manual, array('id'=>'manual')) }}
@if ($errors->has('title'))
<label id="login-error" class="error" for="login">{{$errors->first('title')}}</label>
@endif
</div>
</div>
</div>
<div class="col-md-12">
<div class="block">
{{ Form::textarea('content', null, array('id'=>'content')) }}
</div>
</div>
</div>
<div class="tabs">
<ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="#inggris" role="tab" data-toggle="tab" aria-expanded="true">Inggris</a></li>
<li class=""><a href="#jerman" role="tab" data-toggle="tab" aria-expanded="false">Jerman</a></li>
<li class=""><a href="#arab" role="tab" data-toggle="tab" aria-expanded="false">Arab</a></li>
<li class=""><a href="#cina" role="tab" data-toggle="tab" aria-expanded="false">Cina</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="inggris">
<div style="padding: 10px 10px 10px 10px; font-weight: bold; font-size: 14pt;">
English Language
</div>
<div class="col-md-12">
<div class="form-group @if ($errors->has('title')) has-error @endif">
<div class="col-md-12">
{{ Form::text('title_en', $data->rEn ? $data->rEn->title : null, array('class' => 'form-control', 'placeholder'=>app('translator')->getFromJson('label.title'), 'style'=>'font-size: 14pt;', 'required')) }}
@if ($errors->has('title'))
<label id="login-error" class="error" for="login">{{$errors->first('title')}}</label>
@endif
</div>
</div>
</div>
<div class="col-md-12">
<div class="block">
{{ Form::textarea('content_en', $data->rEn ? $data->rEn->content : null, array('id'=>'content_en')) }}
</div>
</div>
</div>
<div class="tab-pane" id="jerman">
<div style="padding: 10px 10px 10px 10px; font-weight: bold; font-size: 14pt;">
deutsche Sprache
</div>
<div class="col-md-12">
<div class="form-group @if ($errors->has('title')) has-error @endif">
<div class="col-md-12">
{{ Form::text('title_de', $data->rDe ? $data->rDe->title : null, array('class' => 'form-control', 'placeholder'=>app('translator')->getFromJson('label.title'), 'style'=>'font-size: 14pt;')) }}
@if ($errors->has('title'))
<label id="login-error" class="error" for="login">{{$errors->first('title')}}</label>
@endif
</div>
</div>
</div>
<div class="col-md-12">
<div class="block">
{{ Form::textarea('content_de', $data->rDe ? $data->rDe->content : null, array('id'=>'content_de')) }}
</div>
</div>
</div>
<div class="tab-pane" id="arab">
<div style="padding: 10px 10px 10px 10px; font-weight: bold; font-size: 14pt;">
اللغة الألمانية
</div>
<div class="col-md-12">
<div class="form-group @if ($errors->has('title')) has-error @endif">
<div class="col-md-12">
{{ Form::text('title_sa', $data->rSa ? $data->rSa->title : null, array('class' => 'form-control', 'placeholder'=>app('translator')->getFromJson('label.title'), 'style'=>'font-size: 14pt;')) }}
@if ($errors->has('title'))
<label id="login-error" class="error" for="login">{{$errors->first('title')}}</label>
@endif
</div>
</div>
</div>
<div class="col-md-12">
<div class="block">
{{ Form::textarea('content_sa', $data->rSa ? $data->rSa->content : null, array('id'=>'content_sa')) }}
</div>
</div>
</div>
<div class="tab-pane" id="cina">
<div style="padding: 10px 10px 10px 10px; font-weight: bold; font-size: 14pt;">
中文
</div>
<div class="col-md-12">
<div class="form-group @if ($errors->has('title')) has-error @endif">
<div class="col-md-12">
{{ Form::text('title_zh', $data->rZh ? $data->rZh->title : null, array('class' => 'form-control', 'placeholder'=>app('translator')->getFromJson('label.title'), 'style'=>'font-size: 14pt;')) }}
@if ($errors->has('title'))
<label id="login-error" class="error" for="login">{{$errors->first('title')}}</label>
@endif
</div>
</div>
</div>
<div class="col-md-12">
<div class="block">
{{ Form::textarea('content_zh', $data->rZh ? $data->rZh->content : null, array('id'=>'content_zh')) }}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Keywords</h3>
<ul class="panel-controls">
<li><a href="#" class="panel-collapse"><span class="fa fa-angle-down"></span></a></li>
</ul>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-12">
<div class="form-group @if ($errors->has('keys')) has-error @endif">
<div class="col-md-12">
{{ Form::text('keys', old('keys'), array('class' => 'form-control', 'placeholder'=>app('translator')->getFromJson('label.keys'), 'style'=>'font-size: 14pt;')) }}
@if ($errors->has('keys'))
<label id="login-error" class="error" for="login">{{$errors->first('keys')}}</label>
@endif
</div>
</div>
</div>
</div>
</div>
<div class="panel-footer">
</div>
</div>
</div>
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-footer">
<button class="btn btn-info pull-right">@lang('label.save')</button>
</div>
</div>
</div>
{!! Form::close() !!}
</div>
<!-- page end-->
@stop
@section('script')
{!! Html::script('backend/assets/select2/select2.full.min.js') !!}
{!! Html::script('backend/js/plugins/bootstrap/bootstrap-datepicker.js') !!}
{!! Html::script('backend/js/plugins/bootstrap/bootstrap-timepicker.min.js') !!}
{!! Html::script('backend/js/plugins/bootstrap/bootstrap-file-input.js') !!}
{!! Html::script('backend/js/plugins/summernote/summernote.js') !!}
<script type="text/javascript">
function PreviewImage() {
var oFReader = new FileReader();
oFReader.readAsDataURL(document.getElementById("uploadImage").files[0]);
oFReader.onload = function (oFREvent) {
document.getElementById("uploadPreview").src = oFREvent.target.result;
};
};
$(document).ready(function() {
$('#content').summernote({
height: 350
});
$('#content_en').summernote({
height: 350
});
$('#content_de').summernote({
height: 350
});
$('#content_sa').summernote({
height: 350
});
$('#content_zh').summernote({
height: 350
});
});
$('#categories').select2();
</script>
@stop
......@@ -20,6 +20,7 @@ Route::group(['middleware' => 'auth'], function () {
Route::resource('category', 'CategoryController');
Route::get('posts/{id}/editperbahasa', 'PostController@editperbahasa');
Route::resource('posts', 'PostController');
Route::get('pages/{id}/editperbahasa','PageController@editperbahasa');
Route::resource('pages', 'PageController');
Route::get('agendas/{id}/editperbahasa', 'AgendaController@editperbahasa');
Route::resource('agendas', 'AgendaController');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment