Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
MetaGer
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
open-source
MetaGer
Commits
a436189a
Commit
a436189a
authored
1 year ago
by
Dominik Hebeler
Browse files
Options
Downloads
Patches
Plain Diff
also set key parameter on startpage after loading settings
parent
b2beca15
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
metager/app/Http/Controllers/SettingsController.php
+41
-37
41 additions, 37 deletions
metager/app/Http/Controllers/SettingsController.php
with
41 additions
and
37 deletions
metager/app/Http/Controllers/SettingsController.php
+
41
−
37
View file @
a436189a
...
@@ -16,9 +16,9 @@ class SettingsController extends Controller
...
@@ -16,9 +16,9 @@ class SettingsController extends Controller
{
{
public
function
index
(
Request
$request
)
public
function
index
(
Request
$request
)
{
{
$settings
=
app
(
SearchSettings
::
class
);
$settings
=
app
(
SearchSettings
::
class
);
$sumas
=
app
(
Searchengines
::
class
)
->
getSearchEnginesForFokus
();
$sumas
=
app
(
Searchengines
::
class
)
->
getSearchEnginesForFokus
();
$fokus
=
$settings
->
fokus
;
$fokus
=
$settings
->
fokus
;
$fokusName
=
trans
(
'index.foki.'
.
$fokus
);
$fokusName
=
trans
(
'index.foki.'
.
$fokus
);
$langFile
=
MetaGer
::
getLanguageFile
();
$langFile
=
MetaGer
::
getLanguageFile
();
...
@@ -39,10 +39,10 @@ class SettingsController extends Controller
...
@@ -39,10 +39,10 @@ class SettingsController extends Controller
}
}
$authorization
=
app
(
Authorization
::
class
);
$authorization
=
app
(
Authorization
::
class
);
$url
=
$request
->
input
(
'url'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
// Check if any setting is active
// Check if any setting is active
$cookies
=
Cookie
::
get
();
$cookies
=
Cookie
::
get
();
$settingActive
=
false
;
$settingActive
=
false
;
foreach
(
$cookies
as
$key
=>
$value
)
{
foreach
(
$cookies
as
$key
=>
$value
)
{
if
(
stripos
(
$key
,
$fokus
.
"_engine_"
)
===
0
||
stripos
(
$key
,
$fokus
.
"_setting_"
)
===
0
||
strpos
(
$key
,
$fokus
.
'_blpage'
)
===
0
||
$key
===
'dark_mode'
||
$key
===
'new_tab'
||
$key
===
'zitate'
||
$key
===
'self_advertisements'
||
$key
===
'suggestions'
)
{
if
(
stripos
(
$key
,
$fokus
.
"_engine_"
)
===
0
||
stripos
(
$key
,
$fokus
.
"_setting_"
)
===
0
||
strpos
(
$key
,
$fokus
.
'_blpage'
)
===
0
||
$key
===
'dark_mode'
||
$key
===
'new_tab'
||
$key
===
'zitate'
||
$key
===
'self_advertisements'
||
$key
===
'suggestions'
)
{
...
@@ -95,9 +95,9 @@ class SettingsController extends Controller
...
@@ -95,9 +95,9 @@ class SettingsController extends Controller
$sumasFoki
=
$langFile
->
foki
->
{
$fokus
}
->
sumas
;
$sumasFoki
=
$langFile
->
foki
->
{
$fokus
}
->
sumas
;
$sumas
=
[];
$sumas
=
[];
$locale
=
LaravelLocalization
::
getCurrentLocaleRegional
();
$locale
=
LaravelLocalization
::
getCurrentLocaleRegional
();
$lang
=
Localization
::
getLanguage
();
$lang
=
Localization
::
getLanguage
();
foreach
(
$sumasFoki
as
$suma
)
{
foreach
(
$sumasFoki
as
$suma
)
{
if
(
if
(
(
!
empty
(
$langFile
->
sumas
->
{
$suma
}
->
disabled
)
&&
$langFile
->
sumas
->
{
$suma
}
->
disabled
)
||
(
!
empty
(
$langFile
->
sumas
->
{
$suma
}
->
disabled
)
&&
$langFile
->
sumas
->
{
$suma
}
->
disabled
)
||
...
@@ -110,7 +110,7 @@ class SettingsController extends Controller
...
@@ -110,7 +110,7 @@ class SettingsController extends Controller
continue
;
continue
;
}
}
$sumas
[
$suma
][
"display-name"
]
=
$langFile
->
sumas
->
{
$suma
}
->
infos
->
display_name
;
$sumas
[
$suma
][
"display-name"
]
=
$langFile
->
sumas
->
{
$suma
}
->
infos
->
display_name
;
$sumas
[
$suma
][
"filtered"
]
=
false
;
$sumas
[
$suma
][
"filtered"
]
=
false
;
if
(
Cookie
::
get
(
$fokus
.
"_engine_"
.
$suma
)
===
"off"
)
{
if
(
Cookie
::
get
(
$fokus
.
"_engine_"
.
$suma
)
===
"off"
)
{
$sumas
[
$suma
][
"enabled"
]
=
false
;
$sumas
[
$suma
][
"enabled"
]
=
false
;
}
else
{
}
else
{
...
@@ -133,15 +133,15 @@ class SettingsController extends Controller
...
@@ -133,15 +133,15 @@ class SettingsController extends Controller
public
function
disableSearchEngine
(
Request
$request
)
public
function
disableSearchEngine
(
Request
$request
)
{
{
$sumaName
=
$request
->
input
(
'suma'
,
''
);
$sumaName
=
$request
->
input
(
'suma'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
if
(
empty
(
$sumaName
))
{
if
(
empty
(
$sumaName
))
{
abort
(
404
);
abort
(
404
);
}
}
$settings
=
app
(
SearchSettings
::
class
);
$settings
=
app
(
SearchSettings
::
class
);
$engines
=
app
(
Searchengines
::
class
)
->
getSearchEnginesForFokus
();
$engines
=
app
(
Searchengines
::
class
)
->
getSearchEnginesForFokus
();
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
if
(
!
$engines
[
$sumaName
]
->
configuration
->
disabled
)
{
if
(
!
$engines
[
$sumaName
]
->
configuration
->
disabled
)
{
if
(
$engines
[
$sumaName
]
->
configuration
->
disabledByDefault
)
{
if
(
$engines
[
$sumaName
]
->
configuration
->
disabledByDefault
)
{
Cookie
::
queue
(
Cookie
::
forget
(
$settings
->
fokus
.
"_engine_"
.
$sumaName
,
"/"
));
Cookie
::
queue
(
Cookie
::
forget
(
$settings
->
fokus
.
"_engine_"
.
$sumaName
,
"/"
));
...
@@ -156,15 +156,15 @@ class SettingsController extends Controller
...
@@ -156,15 +156,15 @@ class SettingsController extends Controller
public
function
enableSearchEngine
(
Request
$request
)
public
function
enableSearchEngine
(
Request
$request
)
{
{
$sumaName
=
$request
->
input
(
'suma'
,
''
);
$sumaName
=
$request
->
input
(
'suma'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
if
(
empty
(
$sumaName
))
{
if
(
empty
(
$sumaName
))
{
abort
(
404
);
abort
(
404
);
}
}
$settings
=
app
(
SearchSettings
::
class
);
$settings
=
app
(
SearchSettings
::
class
);
$engines
=
app
(
Searchengines
::
class
)
->
getSearchEnginesForFokus
();
$engines
=
app
(
Searchengines
::
class
)
->
getSearchEnginesForFokus
();
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
if
(
$engines
[
$sumaName
]
->
configuration
->
disabled
)
{
if
(
$engines
[
$sumaName
]
->
configuration
->
disabled
)
{
if
(
$engines
[
$sumaName
]
->
configuration
->
disabledByDefault
)
{
if
(
$engines
[
$sumaName
]
->
configuration
->
disabledByDefault
)
{
Cookie
::
queue
(
Cookie
::
forever
(
$settings
->
fokus
.
"_engine_"
.
$sumaName
,
"on"
,
"/"
,
null
,
$secure
,
true
));
Cookie
::
queue
(
Cookie
::
forever
(
$settings
->
fokus
.
"_engine_"
.
$sumaName
,
"on"
,
"/"
,
null
,
$secure
,
true
));
...
@@ -179,7 +179,7 @@ class SettingsController extends Controller
...
@@ -179,7 +179,7 @@ class SettingsController extends Controller
public
function
enableFilter
(
Request
$request
)
public
function
enableFilter
(
Request
$request
)
{
{
$fokus
=
$request
->
input
(
'focus'
,
''
);
$fokus
=
$request
->
input
(
'focus'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
if
(
empty
(
$fokus
))
{
if
(
empty
(
$fokus
))
{
abort
(
404
);
abort
(
404
);
}
}
...
@@ -202,16 +202,16 @@ class SettingsController extends Controller
...
@@ -202,16 +202,16 @@ class SettingsController extends Controller
}
}
}
}
if
(
empty
(
$value
))
{
if
(
empty
(
$value
))
{
$path
=
\Request
::
path
();
$path
=
\Request
::
path
();
$cookiePath
=
"/"
;
$cookiePath
=
"/"
;
Cookie
::
queue
(
Cookie
::
forget
(
$fokus
.
"_setting_"
.
$key
,
"/"
));
Cookie
::
queue
(
Cookie
::
forget
(
$fokus
.
"_setting_"
.
$key
,
"/"
));
}
else
{
}
else
{
# Check if this filter and its value exists:
# Check if this filter and its value exists:
foreach
(
$langFile
->
filter
->
{
"parameter-filter"
}
as
$name
=>
$filter
)
{
foreach
(
$langFile
->
filter
->
{
"parameter-filter"
}
as
$name
=>
$filter
)
{
if
(
$key
===
$filter
->
{
"get-parameter"
}
&&
!
empty
(
$filter
->
values
->
$value
))
{
if
(
$key
===
$filter
->
{
"get-parameter"
}
&&
!
empty
(
$filter
->
values
->
$value
))
{
$path
=
\Request
::
path
();
$path
=
\Request
::
path
();
$cookiePath
=
"/"
;
$cookiePath
=
"/"
;
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
Cookie
::
queue
(
Cookie
::
forever
(
$fokus
.
"_setting_"
.
$key
,
$value
,
"/"
,
null
,
$secure
,
true
));
Cookie
::
queue
(
Cookie
::
forever
(
$fokus
.
"_setting_"
.
$key
,
$value
,
"/"
,
null
,
$secure
,
true
));
break
;
break
;
}
}
...
@@ -229,8 +229,8 @@ class SettingsController extends Controller
...
@@ -229,8 +229,8 @@ class SettingsController extends Controller
*/
*/
public
function
enableExternalSearchProvider
(
Request
$request
)
public
function
enableExternalSearchProvider
(
Request
$request
)
{
{
$fokus
=
$request
->
input
(
'focus'
,
''
);
$fokus
=
$request
->
input
(
'focus'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
$external_setting
=
$request
->
input
(
'bilder_setting_external'
,
''
);
$external_setting
=
$request
->
input
(
'bilder_setting_external'
,
''
);
...
@@ -246,8 +246,8 @@ class SettingsController extends Controller
...
@@ -246,8 +246,8 @@ class SettingsController extends Controller
public
function
enableSetting
(
Request
$request
)
public
function
enableSetting
(
Request
$request
)
{
{
$fokus
=
$request
->
input
(
'focus'
,
''
);
$fokus
=
$request
->
input
(
'focus'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
// Currently only the setting for quotes is supported
// Currently only the setting for quotes is supported
...
@@ -304,7 +304,7 @@ class SettingsController extends Controller
...
@@ -304,7 +304,7 @@ class SettingsController extends Controller
public
function
deleteSettings
(
Request
$request
)
public
function
deleteSettings
(
Request
$request
)
{
{
$fokus
=
$request
->
input
(
'focus'
,
''
);
$fokus
=
$request
->
input
(
'focus'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
if
(
empty
(
$fokus
))
{
if
(
empty
(
$fokus
))
{
abort
(
404
);
abort
(
404
);
}
}
...
@@ -343,8 +343,8 @@ class SettingsController extends Controller
...
@@ -343,8 +343,8 @@ class SettingsController extends Controller
public
function
removeOneSetting
(
Request
$request
)
public
function
removeOneSetting
(
Request
$request
)
{
{
$key
=
$request
->
input
(
'key'
,
''
);
$key
=
$request
->
input
(
'key'
,
''
);
$path
=
\Request
::
path
();
$path
=
\Request
::
path
();
$cookiePath
=
"/"
;
$cookiePath
=
"/"
;
if
(
$key
===
'dark_mode'
)
{
if
(
$key
===
'dark_mode'
)
{
Cookie
::
queue
(
Cookie
::
forget
(
$key
,
"/"
));
Cookie
::
queue
(
Cookie
::
forget
(
$key
,
"/"
));
...
@@ -381,7 +381,7 @@ class SettingsController extends Controller
...
@@ -381,7 +381,7 @@ class SettingsController extends Controller
public
function
newBlacklist
(
Request
$request
)
public
function
newBlacklist
(
Request
$request
)
{
{
$fokus
=
$request
->
input
(
'focus'
,
''
);
$fokus
=
$request
->
input
(
'focus'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$blacklist
=
$request
->
input
(
'blacklist'
);
$blacklist
=
$request
->
input
(
'blacklist'
);
$blacklist
=
substr
(
$blacklist
,
0
,
2048
);
$blacklist
=
substr
(
$blacklist
,
0
,
2048
);
...
@@ -392,7 +392,7 @@ class SettingsController extends Controller
...
@@ -392,7 +392,7 @@ class SettingsController extends Controller
$valid_blacklist_entries
=
[];
$valid_blacklist_entries
=
[];
foreach
(
$blacklist
as
$blacklist_entry
)
{
foreach
(
$blacklist
as
$blacklist_entry
)
{
$regexProtocol
=
'#^([a-z]{0,5}://)?(www.)?#'
;
$regexProtocol
=
'#^([a-z]{0,5}://)?(www.)?#'
;
$blacklist_entry
=
preg_filter
(
$regexProtocol
,
''
,
$blacklist_entry
);
$blacklist_entry
=
preg_filter
(
$regexProtocol
,
''
,
$blacklist_entry
);
# Allow Only Domains without path
# Allow Only Domains without path
...
@@ -424,7 +424,7 @@ class SettingsController extends Controller
...
@@ -424,7 +424,7 @@ class SettingsController extends Controller
sort
(
$valid_blacklist_entries
);
sort
(
$valid_blacklist_entries
);
$cookieName
=
$fokus
.
'_blpage'
;
$cookieName
=
$fokus
.
'_blpage'
;
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
Cookie
::
queue
(
Cookie
::
forever
(
$cookieName
,
implode
(
","
,
$valid_blacklist_entries
),
"/"
,
null
,
$secure
,
true
));
Cookie
::
queue
(
Cookie
::
forever
(
$cookieName
,
implode
(
","
,
$valid_blacklist_entries
),
"/"
,
null
,
$secure
,
true
));
return
redirect
(
route
(
'settings'
,
[
"focus"
=>
$fokus
,
"url"
=>
$url
])
.
"#bl"
);
return
redirect
(
route
(
'settings'
,
[
"focus"
=>
$fokus
,
"url"
=>
$url
])
.
"#bl"
);
...
@@ -432,8 +432,8 @@ class SettingsController extends Controller
...
@@ -432,8 +432,8 @@ class SettingsController extends Controller
public
function
deleteBlacklist
(
Request
$request
)
public
function
deleteBlacklist
(
Request
$request
)
{
{
$fokus
=
$request
->
input
(
'focus'
,
''
);
$fokus
=
$request
->
input
(
'focus'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$cookieKey
=
$request
->
input
(
'cookieKey'
);
$cookieKey
=
$request
->
input
(
'cookieKey'
);
Cookie
::
queue
(
Cookie
::
forget
(
$cookieKey
,
"/"
));
Cookie
::
queue
(
Cookie
::
forget
(
$cookieKey
,
"/"
));
...
@@ -444,8 +444,8 @@ class SettingsController extends Controller
...
@@ -444,8 +444,8 @@ class SettingsController extends Controller
public
function
clearBlacklist
(
Request
$request
)
public
function
clearBlacklist
(
Request
$request
)
{
{
//function to clear the whole black list
//function to clear the whole black list
$fokus
=
$request
->
input
(
'focus'
,
''
);
$fokus
=
$request
->
input
(
'focus'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$url
=
$request
->
input
(
'url'
,
''
);
$cookies
=
Cookie
::
get
();
$cookies
=
Cookie
::
get
();
foreach
(
$cookies
as
$key
=>
$value
)
{
foreach
(
$cookies
as
$key
=>
$value
)
{
...
@@ -463,10 +463,14 @@ class SettingsController extends Controller
...
@@ -463,10 +463,14 @@ class SettingsController extends Controller
$langFile
=
json_decode
(
file_get_contents
(
$langFile
));
$langFile
=
json_decode
(
file_get_contents
(
$langFile
));
$settings
=
$request
->
query
();
$settings
=
$request
->
query
();
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
$secure
=
app
()
->
environment
(
"local"
)
?
false
:
true
;
$params_for_startpage
=
[];
foreach
(
$settings
as
$key
=>
$value
)
{
foreach
(
$settings
as
$key
=>
$value
)
{
if
(
$key
===
'key'
)
{
if
(
$key
===
'key'
)
{
Cookie
::
queue
(
Cookie
::
forever
(
"key"
,
$value
,
'/'
,
null
,
$secure
,
true
));
Cookie
::
queue
(
Cookie
::
forever
(
"key"
,
$value
,
'/'
,
null
,
$secure
,
true
));
$params_for_startpage
[
"key"
]
=
$value
;
}
elseif
(
$key
===
'dark_mode'
&&
(
$value
===
'1'
||
$value
===
'2'
))
{
}
elseif
(
$key
===
'dark_mode'
&&
(
$value
===
'1'
||
$value
===
'2'
))
{
Cookie
::
queue
(
Cookie
::
forever
(
$key
,
$value
,
'/'
,
null
,
$secure
,
true
));
Cookie
::
queue
(
Cookie
::
forever
(
$key
,
$value
,
'/'
,
null
,
$secure
,
true
));
}
elseif
(
$key
===
'new_tab'
&&
$value
===
'on'
)
{
}
elseif
(
$key
===
'new_tab'
&&
$value
===
'on'
)
{
...
@@ -502,16 +506,16 @@ class SettingsController extends Controller
...
@@ -502,16 +506,16 @@ class SettingsController extends Controller
// Check if a redirect url is defined
// Check if a redirect url is defined
if
(
$request
->
filled
(
"redirect_url"
)
&&
$request
->
filled
(
"signature"
)
&&
$request
->
filled
(
"expires"
))
{
if
(
$request
->
filled
(
"redirect_url"
)
&&
$request
->
filled
(
"signature"
)
&&
$request
->
filled
(
"expires"
))
{
$signature
=
$request
->
input
(
"signature"
);
$signature
=
$request
->
input
(
"signature"
);
$expires
=
filter_var
(
$request
->
input
(
"expires"
),
FILTER_VALIDATE_INT
);
$expires
=
filter_var
(
$request
->
input
(
"expires"
),
FILTER_VALIDATE_INT
);
$redirect_url
=
$request
->
input
(
"redirect_url"
);
$redirect_url
=
$request
->
input
(
"redirect_url"
);
if
(
now
()
->
unix
()
<=
$expires
&&
hash_equals
(
hash_hmac
(
"sha256"
,
$redirect_url
.
$request
->
input
(
"expires"
),
config
(
"app.key"
)),
$signature
))
{
if
(
now
()
->
unix
()
<=
$expires
&&
hash_equals
(
hash_hmac
(
"sha256"
,
$redirect_url
.
$request
->
input
(
"expires"
),
config
(
"app.key"
)),
$signature
))
{
$url
=
$redirect_url
;
$url
=
$redirect_url
;
}
else
{
}
else
{
$url
=
LaravelLocalization
::
getLocalizedURL
(
LaravelLocalization
::
getCurrentLocale
(),
url
(
'/'
)
);
$url
=
route
(
"startpage"
,
$params_for_startpage
);
}
}
}
else
{
}
else
{
$url
=
LaravelLocalization
::
getLocalizedURL
(
LaravelLocalization
::
getCurrentLocale
(),
url
(
'/'
)
);
$url
=
route
(
"startpage"
,
$params_for_startpage
);
}
}
return
redirect
(
$url
);
return
redirect
(
$url
);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment