From 6b1f422456f32226d301cffd303a54d4cd64bfce Mon Sep 17 00:00:00 2001 From: Magnus Ullberg Date: Thu, 7 Jun 2018 12:17:08 -0400 Subject: [PATCH 1/8] Initial stab at allowing you to select how links open. --- app/Item.php | 20 +++++++++++++++-- database/seeds/SettingsSeeder.php | 37 ++++++++++++++++++++++++++++++- resources/lang/en/app.php | 5 +++++ 3 files changed, 59 insertions(+), 3 deletions(-) diff --git a/app/Item.php b/app/Item.php index a80cb579..22de779f 100644 --- a/app/Item.php +++ b/app/Item.php @@ -29,6 +29,7 @@ class Item extends Model 'AirSonic' => \App\SupportedApps\AirSonic::class, 'Cardigann' => \App\SupportedApps\Cardigann::class, 'CouchPotato' => \App\SupportedApps\CouchPotato::class, + 'Booksonic' => \App\SupportedApps\Booksonic::class, 'Deluge' => \App\SupportedApps\Deluge::class, 'Dokuwiki' => \App\SupportedApps\Dokuwiki::class, 'Duplicati' => \App\SupportedApps\Duplicati::class, @@ -37,13 +38,18 @@ class Item extends Model 'Glances' => \App\SupportedApps\Glances::class, 'Grafana' => \App\SupportedApps\Grafana::class, 'Graylog' => \App\SupportedApps\Graylog::class, + 'Headphones' => \App\SupportedApps\Headphones::class, 'Home Assistant' => \App\SupportedApps\HomeAssistant::class, 'Jackett' => \App\SupportedApps\Jackett::class, 'Jdownloader' => \App\SupportedApps\Jdownloader::class, 'Krusader' => \App\SupportedApps\Krusader::class, + 'LibreNMS' => \App\SupportedApps\LibreNMS::class, + 'LazyLibrarian' => \App\SupportedApps\LazyLibrarian::class, 'Lidarr' => \App\SupportedApps\Lidarr::class, 'Mcmyadmin' => \App\SupportedApps\Mcmyadmin::class, 'Medusa' => \App\SupportedApps\Medusa::class, + 'Mylar' => \App\SupportedApps\Mylar::class, + 'MusicBrainz' => \App\SupportedApps\MusicBrainz::class, 'NZBGet' => \App\SupportedApps\Nzbget::class, 'Netdata' => \App\SupportedApps\Netdata::class, 'Nextcloud' => \App\SupportedApps\Nextcloud::class, @@ -60,6 +66,7 @@ class Item extends Model 'Portainer' => \App\SupportedApps\Portainer::class, 'Proxmox' => \App\SupportedApps\Proxmox::class, 'Radarr' => \App\SupportedApps\Radarr::class, + 'Rancher' => \App\SupportedApps\Rancher::class, 'Runeaudio' => \App\SupportedApps\Runeaudio::class, 'Sabnzbd' => \App\SupportedApps\Sabnzbd::class, 'Sickrage' => \App\SupportedApps\Sickrage::class, @@ -165,10 +172,19 @@ class Item extends Model public function getLinkTargetAttribute() { - if((int)$this->type === 1) { + if((int)$this->type === 1 ) { return ''; } else { - return ' target="heimdallapp"'; + $settings = Setting::all(); + foreach($settings as $key => $val) { + if($val['key'] === 'window_target') { + $target = $val['value']; + if($target === 'current') { + $target = ''; + } + } + } + return ' target="' . $target . '"'; } } diff --git a/database/seeds/SettingsSeeder.php b/database/seeds/SettingsSeeder.php index 272ccbd9..99e9bf0a 100644 --- a/database/seeds/SettingsSeeder.php +++ b/database/seeds/SettingsSeeder.php @@ -138,6 +138,41 @@ class SettingsSeeder extends Seeder $setting->save(); } - + if(!$setting = Setting::find(6)) { + $setting = new Setting; + $setting->id = 6; + $setting->group_id = 2; + $setting->key = 'trianglify'; + $setting->type = 'boolean'; + $setting->label = 'app.settings.trianglify'; + $setting->save(); + } else { + $setting->label = 'app.settings.trianglify'; + $setting->save(); + } + + $window_target_options = json_encode([ + 'current' => 'app.settings.window_target.current', + 'heimdall' => 'app.settings.window_target.one', + '_blank' => 'app.settings.window_target.new', + ]); + + if(!$setting = Setting::find(7)) { + + $setting = new Setting; + $setting->id = 7; + $setting->group_id = 3; + $setting->key = 'window_target'; + $setting->type = 'select'; + $setting->options = $window_target_options; + $setting->label = 'app.settings.window_target'; + $setting->value = 'heimdall'; + $setting->save(); + } else { + $setting->options = $window_target_options; + $setting->label = 'app.settings.window_target'; + $setting->save(); + } + } } diff --git a/resources/lang/en/app.php b/resources/lang/en/app.php index 52d3bafd..3a15d221 100644 --- a/resources/lang/en/app.php +++ b/resources/lang/en/app.php @@ -15,6 +15,11 @@ return [ 'settings.version' => 'Version', 'settings.background_image' => 'Background Image', + 'settings.trianglify' => 'Trianglify', + 'settings.window_target' => 'Link opens in', + 'settings.window_target.current' => 'Open in this tab', + 'settings.window_target.one' => 'Open in the same tab', + 'settings.window_target.new' => 'Open in a new tab', 'settings.homepage_search' => 'Homepage Search', 'settings.search_provider' => 'Search Provider', 'settings.language' => 'Language', From 2466058c5ac3ddc7a9de5a651a84cea9c1dc9c4c Mon Sep 17 00:00:00 2001 From: ullbergm Date: Thu, 7 Jun 2018 12:31:26 -0400 Subject: [PATCH 2/8] Update Item.php --- app/Item.php | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/app/Item.php b/app/Item.php index 22de779f..7ee1c23c 100644 --- a/app/Item.php +++ b/app/Item.php @@ -29,7 +29,6 @@ class Item extends Model 'AirSonic' => \App\SupportedApps\AirSonic::class, 'Cardigann' => \App\SupportedApps\Cardigann::class, 'CouchPotato' => \App\SupportedApps\CouchPotato::class, - 'Booksonic' => \App\SupportedApps\Booksonic::class, 'Deluge' => \App\SupportedApps\Deluge::class, 'Dokuwiki' => \App\SupportedApps\Dokuwiki::class, 'Duplicati' => \App\SupportedApps\Duplicati::class, @@ -38,18 +37,13 @@ class Item extends Model 'Glances' => \App\SupportedApps\Glances::class, 'Grafana' => \App\SupportedApps\Grafana::class, 'Graylog' => \App\SupportedApps\Graylog::class, - 'Headphones' => \App\SupportedApps\Headphones::class, 'Home Assistant' => \App\SupportedApps\HomeAssistant::class, 'Jackett' => \App\SupportedApps\Jackett::class, 'Jdownloader' => \App\SupportedApps\Jdownloader::class, 'Krusader' => \App\SupportedApps\Krusader::class, - 'LibreNMS' => \App\SupportedApps\LibreNMS::class, - 'LazyLibrarian' => \App\SupportedApps\LazyLibrarian::class, 'Lidarr' => \App\SupportedApps\Lidarr::class, 'Mcmyadmin' => \App\SupportedApps\Mcmyadmin::class, 'Medusa' => \App\SupportedApps\Medusa::class, - 'Mylar' => \App\SupportedApps\Mylar::class, - 'MusicBrainz' => \App\SupportedApps\MusicBrainz::class, 'NZBGet' => \App\SupportedApps\Nzbget::class, 'Netdata' => \App\SupportedApps\Netdata::class, 'Nextcloud' => \App\SupportedApps\Nextcloud::class, @@ -172,7 +166,7 @@ class Item extends Model public function getLinkTargetAttribute() { - if((int)$this->type === 1 ) { + if((int)$this->type === 1) { return ''; } else { $settings = Setting::all(); From 503cbf98306a94133e06efe338f3e7bd4ffe79df Mon Sep 17 00:00:00 2001 From: ullbergm Date: Thu, 7 Jun 2018 12:32:08 -0400 Subject: [PATCH 3/8] Update SettingsSeeder.php --- database/seeds/SettingsSeeder.php | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/database/seeds/SettingsSeeder.php b/database/seeds/SettingsSeeder.php index 99e9bf0a..b306a836 100644 --- a/database/seeds/SettingsSeeder.php +++ b/database/seeds/SettingsSeeder.php @@ -138,18 +138,6 @@ class SettingsSeeder extends Seeder $setting->save(); } - if(!$setting = Setting::find(6)) { - $setting = new Setting; - $setting->id = 6; - $setting->group_id = 2; - $setting->key = 'trianglify'; - $setting->type = 'boolean'; - $setting->label = 'app.settings.trianglify'; - $setting->save(); - } else { - $setting->label = 'app.settings.trianglify'; - $setting->save(); - } $window_target_options = json_encode([ 'current' => 'app.settings.window_target.current', From b003d512768155f51b7c075a2bd56eddeae4eb96 Mon Sep 17 00:00:00 2001 From: ullbergm Date: Thu, 7 Jun 2018 12:32:45 -0400 Subject: [PATCH 4/8] Update SettingsSeeder.php --- database/seeds/SettingsSeeder.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/database/seeds/SettingsSeeder.php b/database/seeds/SettingsSeeder.php index b306a836..d1de7a47 100644 --- a/database/seeds/SettingsSeeder.php +++ b/database/seeds/SettingsSeeder.php @@ -138,7 +138,8 @@ class SettingsSeeder extends Seeder $setting->save(); } - + + $window_target_options = json_encode([ 'current' => 'app.settings.window_target.current', 'heimdall' => 'app.settings.window_target.one', From 2357d0c46698213b1a65b1f6ef4af17ffd8ccd69 Mon Sep 17 00:00:00 2001 From: ullbergm Date: Thu, 7 Jun 2018 12:33:14 -0400 Subject: [PATCH 5/8] Update app.php --- resources/lang/en/app.php | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/lang/en/app.php b/resources/lang/en/app.php index 3a15d221..478951bb 100644 --- a/resources/lang/en/app.php +++ b/resources/lang/en/app.php @@ -15,7 +15,6 @@ return [ 'settings.version' => 'Version', 'settings.background_image' => 'Background Image', - 'settings.trianglify' => 'Trianglify', 'settings.window_target' => 'Link opens in', 'settings.window_target.current' => 'Open in this tab', 'settings.window_target.one' => 'Open in the same tab', From a9334bc24712b50ac26df5a306b00d516942ec3f Mon Sep 17 00:00:00 2001 From: ullbergm Date: Thu, 7 Jun 2018 12:33:40 -0400 Subject: [PATCH 6/8] Update Item.php --- app/Item.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/Item.php b/app/Item.php index 7ee1c23c..09c61821 100644 --- a/app/Item.php +++ b/app/Item.php @@ -60,7 +60,6 @@ class Item extends Model 'Portainer' => \App\SupportedApps\Portainer::class, 'Proxmox' => \App\SupportedApps\Proxmox::class, 'Radarr' => \App\SupportedApps\Radarr::class, - 'Rancher' => \App\SupportedApps\Rancher::class, 'Runeaudio' => \App\SupportedApps\Runeaudio::class, 'Sabnzbd' => \App\SupportedApps\Sabnzbd::class, 'Sickrage' => \App\SupportedApps\Sickrage::class, From 08d7cdf95b865bbf9d2ad699299cedfe888bbcde Mon Sep 17 00:00:00 2001 From: ullbergm Date: Thu, 7 Jun 2018 12:34:35 -0400 Subject: [PATCH 7/8] Update SettingsSeeder.php --- database/seeds/SettingsSeeder.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/database/seeds/SettingsSeeder.php b/database/seeds/SettingsSeeder.php index d1de7a47..70db7070 100644 --- a/database/seeds/SettingsSeeder.php +++ b/database/seeds/SettingsSeeder.php @@ -138,8 +138,6 @@ class SettingsSeeder extends Seeder $setting->save(); } - - $window_target_options = json_encode([ 'current' => 'app.settings.window_target.current', 'heimdall' => 'app.settings.window_target.one', @@ -162,6 +160,5 @@ class SettingsSeeder extends Seeder $setting->label = 'app.settings.window_target'; $setting->save(); } - } } From a93fb498751d097121273e7b009ec64313e5bc65 Mon Sep 17 00:00:00 2001 From: ullbergm Date: Thu, 7 Jun 2018 17:35:01 -0400 Subject: [PATCH 8/8] Update Item.php --- app/Item.php | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/app/Item.php b/app/Item.php index 09c61821..0e8dfd53 100644 --- a/app/Item.php +++ b/app/Item.php @@ -165,18 +165,11 @@ class Item extends Model public function getLinkTargetAttribute() { - if((int)$this->type === 1) { + $target = Setting::fetch('window_target'); + + if((int)$this->type === 1 || $target === 'current') { return ''; } else { - $settings = Setting::all(); - foreach($settings as $key => $val) { - if($val['key'] === 'window_target') { - $target = $val['value']; - if($target === 'current') { - $target = ''; - } - } - } return ' target="' . $target . '"'; } }