Kaydet (Commit) 60173f93 authored tarafından mertcelen's avatar mertcelen

Extension add views added.

üst c26d6693
...@@ -27,7 +27,7 @@ sudo apt update ...@@ -27,7 +27,7 @@ sudo apt update
#### PHP ve diger kutuphanelerin kurulumu #### PHP ve diger kutuphanelerin kurulumu
```bash ```bash
sudo apt install php7.3-fpm -y sudo apt install php7.3-fpm -y
sudo apt install php7.3 php7.3-mongodb php7.3-ldap php7.3-mbstring php7.3-xml php7.3-zip php7.3-simplexml php7.3-ssh2 -y sudo apt install php7.3 php7.3-mongodb php7.3-ldap php7.3-mbstring php7.3-xml php7.3-zip php7.3-simplexml php7.3-ssh2 php7.3-mysqli -y
``` ```
#### Nginx Kurulumu #### Nginx Kurulumu
```bash ```bash
......
...@@ -20,6 +20,7 @@ class SSHConnector implements Connector ...@@ -20,6 +20,7 @@ class SSHConnector implements Connector
protected $connection; protected $connection;
protected $server; protected $server;
protected $ssh; protected $ssh;
protected $key;
protected $user_id; protected $user_id;
protected $username; protected $username;
/** /**
...@@ -85,7 +86,7 @@ class SSHConnector implements Connector ...@@ -85,7 +86,7 @@ class SSHConnector implements Connector
*/ */
public function runScript($script, $parameters, $extra = null) public function runScript($script, $parameters, $extra = null)
{ {
$flag = $this->sendFile(storage_path('app/scripts/' . $script->_id), '/tmp/' . $script->_id,0555); $this->sendFile(storage_path('app/scripts/' . $script->_id), '/tmp/' . $script->_id,0555);
$query = ($script->root == 1) ? 'sudo ' : ''; $query = ($script->root == 1) ? 'sudo ' : '';
$query = $query . $script->language . ' /tmp/' . $script->_id . " run " . $parameters . $extra; $query = $query . $script->language . ' /tmp/' . $script->_id . " run " . $parameters . $extra;
return $this->execute($query); return $this->execute($query);
......
...@@ -26,7 +26,8 @@ class Extension extends Eloquent ...@@ -26,7 +26,8 @@ class Extension extends Eloquent
* @var array * @var array
*/ */
protected $fillable = [ protected $fillable = [
"name" , "status" , "service" , "icon", "publisher", "support", "serverless", "setup", "views", "parameters" , "install" , "install_script", "version" "name" , "status" , "service" , "icon", "publisher", "support", "serverless",
"setup", "views", "parameters" , "install" , "install_script", "version", "database", "widgets"
]; ];
/** /**
......
...@@ -186,4 +186,27 @@ class MainController extends Controller ...@@ -186,4 +186,27 @@ class MainController extends Controller
} }
rmdir($dir); rmdir($dir);
} }
public function newExtension()
{
$ext = new \App\Extension();
$ext->name = request('name');
$ext->publisher = auth()->user()->name;
$ext->version = "1.0";
$ext->database = [];
$ext->widgets = [];
$ext->views = [
[
"name" => "index",
"scripts" => ""
]
];
$ext->status = 0;
$ext->save();
$folder = resource_path('views/extensions/') . strtolower(request('name'));
mkdir($folder);
touch($folder . '/index.blade.php');
touch($folder . '/functions.php');
return respond(route('extension_one',$ext->_id),300);
}
} }
...@@ -15,11 +15,11 @@ class OneController extends Controller ...@@ -15,11 +15,11 @@ class OneController extends Controller
public function server() public function server()
{ {
// Now that we have server, let's check if required parameters set for extension. // Now that we have server, let's check if required parameters set for extension.
foreach (extension()->setup as $key => $setting) { foreach (extension()->database as $setting) {
if (!auth()->user()->getAttribute('settings') || if (!auth()->user()->getAttribute('settings') ||
!array_key_exists(server()->_id,auth()->user()->settings) || !array_key_exists(server()->_id,auth()->user()->settings) ||
!array_key_exists(extension()->_id,auth()->user()->settings[server()->_id]) || !array_key_exists(extension()->_id,auth()->user()->settings[server()->_id]) ||
!array_key_exists($key, auth()->user()->settings[server()->_id][extension()->_id])) { !array_key_exists($setting["variable"], auth()->user()->settings[server()->_id][extension()->_id])) {
return redirect(route('extension_server_settings_page', [ return redirect(route('extension_server_settings_page', [
"server_id" => server()->_id, "server_id" => server()->_id,
"extension_id" => extension()->_id "extension_id" => extension()->_id
...@@ -30,25 +30,33 @@ class OneController extends Controller ...@@ -30,25 +30,33 @@ class OneController extends Controller
$outputs = []; $outputs = [];
// Go through each required scripts and run each of them. // Go through each required scripts and run each of them.
if (extension()->views["index"]) { $views = extension()->views;
foreach (extension()->views["index"] as $unique_code) { foreach ($views as $view){
if($view["name"] == "index"){
// Get Script $scripts = explode(',',$view["scripts"]);
$script = extension()->scripts()->where('unique_code', $unique_code)->first(); if(count($scripts) == 1 && $scripts[0] == ""){
break;
// Check if required script is available or not.
if (!$script) {
return respond("Eklenti için gerekli olan betik yüklü değil, lütfen yöneticinizle görüşün.", 404);
} }
foreach ($scripts as $unique_code){
// Get Script
$script = extension()->scripts()->where('unique_code', $unique_code)->first();
// Check if required script is available or not.
if (!$script) {
return respond("Eklenti için gerekli olan betik yüklü değil, lütfen yöneticinizle görüşün.", 404);
}
// Run Script with no parameters. // Run Script with no parameters.
$output = server()->runScript($script, ''); $output = server()->runScript($script, '');
// Decode output and set it into outputs array. // Decode output and set it into outputs array.
$output = str_replace('\n', '', $output); $output = str_replace('\n', '', $output);
$outputs[$unique_code] = json_decode($output, true); $outputs[$unique_code] = json_decode($output, true);
}
break;
} }
} }
// Return all required parameters. // Return all required parameters.
return view('extension_pages.server', [ return view('extension_pages.server', [
"extension" => extension(), "extension" => extension(),
...@@ -119,8 +127,8 @@ class OneController extends Controller ...@@ -119,8 +127,8 @@ class OneController extends Controller
public function serverSettings() public function serverSettings()
{ {
$extension_config = []; $extension_config = [];
foreach (array_keys(extension()->setup) as $key) { foreach (extension()->database as $key) {
$extension_config[$key] = request($key); $extension_config[$key["variable"]] = request($key["variable"]);
} }
$settings = auth()->user()->settings; $settings = auth()->user()->settings;
...@@ -168,7 +176,8 @@ class OneController extends Controller ...@@ -168,7 +176,8 @@ class OneController extends Controller
public function updateCode() public function updateCode()
{ {
file_put_contents(public_path('deneme.blade.php'),json_decode(request('code'))); $file = resource_path('views/extensions/') . strtolower(extension()->name) . '/' . request('page') . '.blade.php';
return "OK"; file_put_contents($file,json_decode(request('code')));
return respond("Kaydedildi",200);
} }
} }
...@@ -28,7 +28,7 @@ class SettingsController extends Controller ...@@ -28,7 +28,7 @@ class SettingsController extends Controller
*/ */
public function settings_one() public function settings_one()
{ {
$extension = Extension::where('_id',\request('extension_id'))->first(); $extension = Extension::where('_id', \request('extension_id'))->first();
// Go through all files and list them as tree style in array. // Go through all files and list them as tree style in array.
$files = $this->tree(resource_path('views' . DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR . strtolower($extension->name))); $files = $this->tree(resource_path('views' . DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR . strtolower($extension->name)));
...@@ -88,11 +88,12 @@ class SettingsController extends Controller ...@@ -88,11 +88,12 @@ class SettingsController extends Controller
/** /**
* @return array * @return array
*/ */
public function getScriptsOfView(){ public function getScriptsOfView()
{
$extension = Extension::find(request('extension_id')); $extension = Extension::find(request('extension_id'));
if(array_key_exists(request('view'),$extension->views)){ if (array_key_exists(request('view'), $extension->views)) {
$arr = $extension->views[request('view')]; $arr = $extension->views[request('view')];
}else{ } else {
$arr = []; $arr = [];
} }
return $arr; return $arr;
...@@ -101,42 +102,122 @@ class SettingsController extends Controller ...@@ -101,42 +102,122 @@ class SettingsController extends Controller
/** /**
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response * @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
*/ */
public function addScriptToView(){ public function addScriptToView()
{
$extension = Extension::find(request('extension_id')); $extension = Extension::find(request('extension_id'));
$temp = $extension->views; $temp = $extension->views;
if(array_key_exists(request('view'),$extension->views)){ if (array_key_exists(request('view'), $extension->views)) {
array_push($temp[request('view')],request('unique_code')); array_push($temp[request('view')], request('unique_code'));
}else{ } else {
$temp[request('view')] = [request('unique_code')]; $temp[request('view')] = [request('unique_code')];
} }
$extension->views = $temp; $extension->views = $temp;
$extension->save(); $extension->save();
return response(__("Başarıyla Eklendi."),200); return response(__("Başarıyla Eklendi."), 200);
} }
/** /**
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response * @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
*/ */
public function removeScriptFromView(){ public function removeScriptFromView()
{
$extension = Extension::find(request('extension_id')); $extension = Extension::find(request('extension_id'));
$temp = $extension->views; $temp = $extension->views;
if(array_key_exists(request('view'),$extension->views)){ if (array_key_exists(request('view'), $extension->views)) {
unset($temp[request('view')][array_search(request('unique_code'), $temp[request('view')])]); unset($temp[request('view')][array_search(request('unique_code'), $temp[request('view')])]);
}else{ } else {
return response(__("Sayfa Bulunamadı."),404); return response(__("Sayfa Bulunamadı."), 404);
} }
return response(__("Başarıyla kaldırıldı."),200); return response(__("Başarıyla kaldırıldı."), 200);
} }
public function update() public function update()
{ {
$params = []; $params = [];
if(request('type') == "general"){ if (request('type') == "general") {
$params = request()->all(); $params = request()->all();
}else{ } else {
$params = [request('type') => request(request('type'))]; $values = extension()->__get(request('table'));
foreach ($values as $key => $value) {
if ($value["name"] == request('name_old')) {
switch (request('table')) {
case "database":
$values[$key]["variable"] = request('variable');
$values[$key]["type"] = request('type');
$values[$key]["name"] = request('name');
break;
case "widgets":
$values[$key]["target"] = request('target');
$values[$key]["type"] = request('type');
$values[$key]["name"] = request('name');
break;
case "views":
$values[$key]["scripts"] = request('scripts');
$values[$key]["name"] = request('name');
break;
}
break;
}
}
$params = [request('table') => $values];
}
extension()->update($params);
return respond("Guncellendi", 200);
}
public function add()
{
$params = [];
$values = extension()->__get(request('table'));
switch (request('table')) {
case "database":
array_push($values, [
"variable" => request('variable'),
"type" => request('type'),
"name" => request('name'),
]);
break;
case "widgets":
array_push($values, [
"target" => request('target'),
"type" => request('type'),
"name" => request('name'),
]);
break;
case "views":
array_push($values, [
"scripts" => request('scripts'),
"name" => request('name'),
]);
$file = resource_path('views/extensions/') . strtolower(extension()->name) . '/' . request('name') . '.blade.php';
touch($file);
break;
} }
$params = [request('table') => $values];
extension()->update($params); extension()->update($params);
return respond("Guncellendi",200);
return respond("Eklendi", 200);
} }
public function remove()
{
$params = [];
$values = extension()->__get(request('table'));
foreach ($values as $key => $value) {
if ($value["name"] == request('name')) {
unset($values[$key]);
break;
}
}
if(request('table') == "views"){
$file = resource_path('views/extensions/') . strtolower(extension()->name) . '/' . request('name') . '.blade.php';
unlink($file);
}
$params = [request('table') => $values];
extension()->update($params);
return respond("Silindi", 200);
}
} }
...@@ -48,12 +48,16 @@ Route::post('/yukle/eklenti/','Extension\MainController@upload')->name('extensio ...@@ -48,12 +48,16 @@ Route::post('/yukle/eklenti/','Extension\MainController@upload')->name('extensio
// Extension Remove Page // Extension Remove Page
Route::post('/eklenti/sil','Extension\OneController@remove')->name('extension_remove')->middleware('admin'); Route::post('/eklenti/sil','Extension\OneController@remove')->name('extension_remove')->middleware('admin');
Route::view('/eklenti/yeni','extension_pages.new')->name('extension_new_view')->middleware('admin'); Route::post('/eklenti/yeni','Extension\MainController@newExtension')->name('extension_new')->middleware('admin');
Route::get('/eklentiler/{extension_id}/{page_name}','Extension\OneController@page')->middleware('admin'); Route::get('/eklentiler/{extension_id}/{page_name}','Extension\OneController@page')->middleware('admin')->name('extension_page_edit_view');
Route::post('/ayar/eklenti/guncelle','Extension\SettingsController@update')->middleware('admin')->name('extension_settings_update'); Route::post('/ayar/eklenti/guncelle','Extension\SettingsController@update')->middleware('admin')->name('extension_settings_update');
Route::post('/ayar/eklenti/ekle','Extension\SettingsController@add')->middleware('admin')->name('extension_settings_add'); Route::post('/ayar/eklenti/ekle','Extension\SettingsController@add')->middleware('admin')->name('extension_settings_add');
Route::post('/ayar/eklenti/kod','Extension\OneController@updateCode')->middleware('admin')->name('extension_code_update'); Route::post('/ayar/eklenti/sil','Extension\SettingsController@remove')->middleware('admin')->name('extension_settings_remove');
\ No newline at end of file
Route::post('/ayar/eklenti/kod','Extension\OneController@updateCode')->middleware('admin')->name('extension_code_update');
Route::post('/ayar/eklenti/yeni/sayfa','Extension\MainController@newExtensionPage')->middleware('admin')->name('extension_new_page');
\ No newline at end of file
...@@ -39,20 +39,6 @@ ...@@ -39,20 +39,6 @@
0 => 'JeroenNoten\\LaravelAdminLte\\ServiceProvider', 0 => 'JeroenNoten\\LaravelAdminLte\\ServiceProvider',
), ),
), ),
'laravel/nexmo-notification-channel' =>
array (
'providers' =>
array (
0 => 'Illuminate\\Notifications\\NexmoChannelServiceProvider',
),
),
'laravel/slack-notification-channel' =>
array (
'providers' =>
array (
0 => 'Illuminate\\Notifications\\SlackChannelServiceProvider',
),
),
'laravel/tinker' => 'laravel/tinker' =>
array ( array (
'providers' => 'providers' =>
......
...@@ -29,17 +29,15 @@ ...@@ -29,17 +29,15 @@
25 => 'Jenssegers\\Mongodb\\MongodbServiceProvider', 25 => 'Jenssegers\\Mongodb\\MongodbServiceProvider',
26 => 'Jenssegers\\Mongodb\\MongodbQueueServiceProvider', 26 => 'Jenssegers\\Mongodb\\MongodbQueueServiceProvider',
27 => 'JeroenNoten\\LaravelAdminLte\\ServiceProvider', 27 => 'JeroenNoten\\LaravelAdminLte\\ServiceProvider',
28 => 'Illuminate\\Notifications\\NexmoChannelServiceProvider', 28 => 'Laravel\\Tinker\\TinkerServiceProvider',
29 => 'Illuminate\\Notifications\\SlackChannelServiceProvider', 29 => 'Carbon\\Laravel\\ServiceProvider',
30 => 'Laravel\\Tinker\\TinkerServiceProvider', 30 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
31 => 'Carbon\\Laravel\\ServiceProvider', 31 => 'App\\Providers\\AppServiceProvider',
32 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', 32 => 'App\\Providers\\AuthServiceProvider',
33 => 'App\\Providers\\AppServiceProvider', 33 => 'App\\Providers\\EventServiceProvider',
34 => 'App\\Providers\\AuthServiceProvider', 34 => 'App\\Providers\\RouteServiceProvider',
35 => 'App\\Providers\\EventServiceProvider', 35 => 'Jenssegers\\Mongodb\\MongodbServiceProvider',
36 => 'App\\Providers\\RouteServiceProvider', 36 => 'Jenssegers\\Mongodb\\MongodbQueueServiceProvider',
37 => 'Jenssegers\\Mongodb\\MongodbServiceProvider',
38 => 'Jenssegers\\Mongodb\\MongodbQueueServiceProvider',
), ),
'eager' => 'eager' =>
array ( array (
...@@ -57,14 +55,12 @@ ...@@ -57,14 +55,12 @@
11 => 'BeyondCode\\DumpServer\\DumpServerServiceProvider', 11 => 'BeyondCode\\DumpServer\\DumpServerServiceProvider',
12 => 'Jenssegers\\Mongodb\\MongodbServiceProvider', 12 => 'Jenssegers\\Mongodb\\MongodbServiceProvider',
13 => 'JeroenNoten\\LaravelAdminLte\\ServiceProvider', 13 => 'JeroenNoten\\LaravelAdminLte\\ServiceProvider',
14 => 'Illuminate\\Notifications\\NexmoChannelServiceProvider', 14 => 'Carbon\\Laravel\\ServiceProvider',
15 => 'Illuminate\\Notifications\\SlackChannelServiceProvider', 15 => 'App\\Providers\\AppServiceProvider',
16 => 'Carbon\\Laravel\\ServiceProvider', 16 => 'App\\Providers\\AuthServiceProvider',
17 => 'App\\Providers\\AppServiceProvider', 17 => 'App\\Providers\\EventServiceProvider',
18 => 'App\\Providers\\AuthServiceProvider', 18 => 'App\\Providers\\RouteServiceProvider',
19 => 'App\\Providers\\EventServiceProvider', 19 => 'Jenssegers\\Mongodb\\MongodbServiceProvider',
20 => 'App\\Providers\\RouteServiceProvider',
21 => 'Jenssegers\\Mongodb\\MongodbServiceProvider',
), ),
'deferred' => 'deferred' =>
array ( array (
......
...@@ -12,10 +12,11 @@ ...@@ -12,10 +12,11 @@
"ext-xml": "*", "ext-xml": "*",
"ext-ssh2": "*", "ext-ssh2": "*",
"ext-zip": "*", "ext-zip": "*",
"ext-mysqli" : "*",
"guzzlehttp/guzzle": "~6.0", "guzzlehttp/guzzle": "~6.0",
"jenssegers/mongodb": "^3.4", "jenssegers/mongodb": "^3.4",
"jeroennoten/laravel-adminlte": "^1.24", "jeroennoten/laravel-adminlte": "^1.24",
"laravel/framework": "5.7.*", "laravel/framework": "5.8.*",
"laravel/tinker": "^1.0", "laravel/tinker": "^1.0",
"phpseclib/phpseclib": "^2.0" "phpseclib/phpseclib": "^2.0"
}, },
......
This diff is collapsed.
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form onsubmit="talkApi(this)">
<input id="girilenVeri" type="text" name="name">
<button type="submit">Ekle</button>
</form>
<div id="gelencevap">
Cevap :
</div>
<script type="text/javascript">
function talkApi(data){
console.log(data);
return true;
let isim = document.getElementById("girilenVeri").value;
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("gelencevap").innerHTML = this.responseText;
}
};
// xhttp.open("POST", "/muhterem/muhterem.php", true);
// let data = new FormData();
// data.append("name",isim);
// xhttp.send(data);
}
</script>
</body>
</html>
\ No newline at end of file
...@@ -17,7 +17,11 @@ ...@@ -17,7 +17,11 @@
"target_id" => "extensionExport", "target_id" => "extensionExport",
"text" => "Indir" "text" => "Indir"
]) ])
<button class="btn btn-info" onclick="location.href = '{{route('extension_new_view')}}'">{{__("Yeni")}}</button> @include('l.modal-button',[
"class" => "btn-info",
"target_id" => "newExtension",
"text" => "Yeni"
])
<br><br> <br><br>
@include('l.table',[ @include('l.table',[
...@@ -64,6 +68,16 @@ ...@@ -64,6 +68,16 @@
"submit_text" => "İndir" "submit_text" => "İndir"
]) ])
@include('l.modal',[
"id"=>"newExtension",
"url" => route('extension_new'),
"title" => "Yeni Eklenti Oluştur",
"inputs" => [
"Eklenti Adı" => "name:text"
],
"submit_text" => "Oluştur"
])
@include('l.modal',[ @include('l.modal',[
"id"=>"delete", "id"=>"delete",
"title" =>"Eklentiyi Sil", "title" =>"Eklentiyi Sil",
......
@extends('layouts.app')
@section('content')
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{{route('home')}}">{{__("Ana Sayfa")}}</a></li>
<li class="breadcrumb-item" aria-current="page"><a href="{{route('extensions_settings')}}">{{__("Eklenti Yönetimi")}}</a></li>
<li class="breadcrumb-item active" aria-current="page">{{ __('Yeni Eklenti') }}</li>
</ol>
</nav>
<form action="" class="form-group">
<h3>{{__("Eklenti Adı")}}</h3>
<input type="text" name="name" class="form-control">
<h3>{{__("Yayınlayan")}}</h3>
<input type="text" name="name" class="form-control" value="{{auth()->user()->name}}" disabled>
<h3>{{__("Destek Email'i")}}</h3>
<input type="text" name="email" class="form-control" value="{{auth()->user()->email}}">
<h3>{{__("Eklenti için sunucuda betik çalıştırılması gerekiyor mu?")}}</h3>
<div class="bd-example">
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="serverless" id="inlineRadio1" value="true">
<label class="form-check-label" for="inlineRadio1">{{__("Evet")}}</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="serverless" id="inlineRadio2" value="false">
<label class="form-check-label" for="inlineRadio2">{{__("Hayır")}}</label>
</div>
</div>
<h3>{{__("Logo (Font Awesome Ikon)")}}</h3>
<input type="text" name="icon" class="form-control">
</form>
@endsection
\ No newline at end of file
...@@ -12,10 +12,10 @@ ...@@ -12,10 +12,10 @@
"server_id" => request()->route('server_id') "server_id" => request()->route('server_id')
])}}" method="POST"> ])}}" method="POST">
@csrf @csrf
@foreach($extension->setup as $key => $item) @foreach($extension->database as $item)
@include('l.inputs',[ @include('l.inputs',[
"inputs" => [ "inputs" => [
$item["name"] => $key . ":" . $item["type"] $item["name"] => $item["variable"] . ":" . $item["type"]
] ]
]) ])
@endforeach @endforeach
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
"id"=>"add_key", "id"=>"add_key",
"title" => "SSH Anahtar Ekle", "title" => "SSH Anahtar Ekle",
"url" => route('key_add'), "url" => route('key_add'),
"next" => "reload", "next" => "debug",
"inputs" => [ "inputs" => [
"Sunucu Seçin:server_id" => objectToArray($servers,"name","_id"), "Sunucu Seçin:server_id" => objectToArray($servers,"name","_id"),
"Kullanıcı Adı" => "username:text", "Kullanıcı Adı" => "username:text",
......
...@@ -44,12 +44,25 @@ ...@@ -44,12 +44,25 @@
} }
function save(){ function save(){
Swal.fire({
position: 'center',
type: 'info',
title: '{{__("Kaydediliyor...")}}',
showConfirmButton: false,
});
let code = JSON.stringify(window.editor.getValue()); let code = JSON.stringify(window.editor.getValue());
let data = new FormData(); let data = new FormData();
data.append('code',code); data.append('code',code);
data.append('page','{{request('page_name')}}');
data.append('extension_id','{{extension()->_id}}'); data.append('extension_id','{{extension()->_id}}');
request('{{route('extension_code_update')}}',data,function(response){ request('{{route('extension_code_update')}}',data,function(response){
console.log(response); Swal.fire({
position: 'center',
type: 'success',
title: "{{__("Başarıyla kaydedildi")}}",
showConfirmButton: false,
timer: 1500
});
}); });
} }
</script> </script>
......
...@@ -25,14 +25,7 @@ ...@@ -25,14 +25,7 @@
<tr class="tableRow" id="{{str_random(10)}}" @isset($onclick)style="cursor: pointer;" onclick="{{$onclick}}(this)" @endisset> <tr class="tableRow" id="{{str_random(10)}}" @isset($onclick)style="cursor: pointer;" onclick="{{$onclick}}(this)" @endisset>
<td>{{$loop->iteration}}</td> <td>{{$loop->iteration}}</td>
@foreach($display as $item) @foreach($display as $item)
@if($item == "server_id" || $item == "extension_id" || $item == "script_id") @if(count(explode(':',$item)) > 1)
@if(is_array($k))
<td id="{{$item}}" hidden>{{$k[$item]}}</td>
@else
<td id="{{$item}}" hidden>{{$k->__get($item)}}</td>
@endif
@elseif(count(explode(':',$item)) > 1)
@if(is_array($k)) @if(is_array($k))
<td id="{{explode(':',$item)[1]}}" hidden>{{$k[explode(':',$item)[0]]}}</td> <td id="{{explode(':',$item)[1]}}" hidden>{{$k[explode(':',$item)[0]]}}</td>
@else @else
...@@ -62,6 +55,10 @@ ...@@ -62,6 +55,10 @@
{{$setCurrentVariable}} = options.$trigger[0].getAttribute("id"); {{$setCurrentVariable}} = options.$trigger[0].getAttribute("id");
@endisset @endisset
let target = $("#" + key); let target = $("#" + key);
if(target.length === 0){
window[key](options.$trigger[0]);
return;
}
inputs =[]; inputs =[];
$("#" + key + " input , #" + key + ' select').each(function (index, value) { $("#" + key + " input , #" + key + ' select').each(function (index, value) {
let element_value = $("#" + options.$trigger[0].getAttribute("id") + " #" + value.getAttribute('name')).html(); let element_value = $("#" + options.$trigger[0].getAttribute("id") + " #" + value.getAttribute('name')).html();
...@@ -71,7 +68,6 @@ ...@@ -71,7 +68,6 @@
+ "#" + key + " input[name='" + value.getAttribute('name') + "']").val(element_value); + "#" + key + " input[name='" + value.getAttribute('name') + "']").val(element_value);
} }
}); });
console.log(inputs);
target.modal('show'); target.modal('show');
}, },
items: { items: {
......
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