mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-08 20:22:42 +01:00
[Feature Request] Provide Privacy Policy in client portal #1262
This commit is contained in:
parent
fd54d55a60
commit
8b59e18bc1
@ -182,6 +182,11 @@ class Utils
|
||||
return static::isNinja() ? NINJA_WEB_URL.'/terms' : NINJA_WEB_URL.'/self-hosting-the-invoice-ninja-platform';
|
||||
}
|
||||
|
||||
public static function getPrivacyLink()
|
||||
{
|
||||
return static::isNinja() ? NINJA_WEB_URL.'/terms' : NINJA_WEB_URL.'/self-hosting-the-invoice-ninja-platform';
|
||||
}
|
||||
|
||||
public static function isOAuthEnabled()
|
||||
{
|
||||
$providers = [
|
||||
|
@ -67,6 +67,8 @@ class AccountRepository
|
||||
$account->currency_id = DEFAULT_CURRENCY;
|
||||
|
||||
// Set default language/currency based on IP
|
||||
// TODO Disabled until GDPR implications are understood
|
||||
/*
|
||||
if (\Cache::get('currencies')) {
|
||||
if ($data = unserialize(@file_get_contents('http://www.geoplugin.net/php.gp?ip=' . $account->ip))) {
|
||||
$currencyCode = strtolower($data['geoplugin_currencyCode']);
|
||||
@ -94,6 +96,7 @@ class AccountRepository
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
$account->save();
|
||||
|
||||
|
6
public/css/cookieconsent.min.css
vendored
Normal file
6
public/css/cookieconsent.min.css
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
.cc-window{opacity:1;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{transition:transform 1s ease}.cc-animate.cc-revoke.cc-top{transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-bottom,.cc-animate.cc-revoke.cc-active.cc-top,.cc-revoke:hover{transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;transition:max-height 1s}
|
||||
.cc-link,.cc-revoke:hover{text-decoration:underline}.cc-revoke,.cc-window{position:fixed;overflow:hidden;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-banner .cc-btn:last-child{min-width:140px}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1}
|
||||
.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-ms-flex:1;flex:1}.cc-window.cc-banner{-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{-ms-flex:1;flex:1}.cc-compliance{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-compliance>.cc-btn{-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em}
|
||||
@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-ms-flex:1;flex:1}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-ms-flex-align:unset;align-items:unset}}
|
||||
.cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block}
|
||||
.cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em 2em 1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0}
|
1
public/js/cookieconsent.min.js
vendored
Normal file
1
public/js/cookieconsent.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -2796,6 +2796,8 @@ $LANG = array(
|
||||
'send_item_details_help' => 'Send the line item details to the payment gateway.',
|
||||
'view_proposal' => 'View Proposal',
|
||||
'view_in_portal' => 'View in Portal',
|
||||
'cookie_message' => 'This website uses cookies to ensure you get the best experience on our website.',
|
||||
'got_it' => 'Got it!',
|
||||
|
||||
);
|
||||
|
||||
|
@ -205,6 +205,32 @@
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/cookieconsent.min.css') }}"/>
|
||||
<script src="{{ asset('js/cookieconsent.min.js') }}"></script>
|
||||
<script>
|
||||
window.addEventListener("load", function(){
|
||||
window.cookieconsent.initialise({
|
||||
"palette": {
|
||||
"popup": {
|
||||
"background": "#000"
|
||||
},
|
||||
"button": {
|
||||
"background": "#f1d600"
|
||||
},
|
||||
},
|
||||
"cookie": {
|
||||
"domain": "{{ config('session.domain') }}"
|
||||
},
|
||||
"content": {
|
||||
"href": "{{ Utils::isNinja() ? Utils::getPrivacyLink() : (config('ninja.privacy_policy_url') ?: 'https://cookiesandyou.com/' ) }}",
|
||||
"message": {!! json_encode(trans('texts.cookie_message')) !!},
|
||||
"dismiss": {!! json_encode(trans('texts.got_it')) !!},
|
||||
"link": {!! json_encode(trans('texts.learn_more')) !!},
|
||||
}
|
||||
})}
|
||||
);
|
||||
</script>
|
||||
|
||||
@yield('head')
|
||||
|
||||
</head>
|
||||
@ -231,6 +257,8 @@
|
||||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
|
||||
|
||||
ga('create', '{{ $_ENV['ANALYTICS_KEY'] }}', 'auto');
|
||||
ga('set', 'anonymizeIp', true);
|
||||
|
||||
@if (request()->invitation_key || request()->proposal_invitation_key || request()->contact_key)
|
||||
ga('send', 'pageview', { 'page': '/client/portal' });
|
||||
@else
|
||||
|
@ -15,7 +15,7 @@
|
||||
<div class="panel-body">
|
||||
{!! Former::checkbox('accepted_terms')->text(trans('texts.agree_to_terms', [
|
||||
'terms' => link_to(Utils::getTermsLink(), trans('texts.terms_of_service'), ['target' => '_blank']),
|
||||
'privacy' => link_to(Utils::getTermsLink(), trans('texts.privacy_policy'), ['target' => '_blank']),
|
||||
'privacy' => link_to(Utils::getPrivacyLink(), trans('texts.privacy_policy'), ['target' => '_blank']),
|
||||
]))->raw()->value(1) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user