1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-14 07:02:34 +01:00
invoiceninja/resources/views/master.blade.php

208 lines
7.8 KiB
PHP
Raw Normal View History

2013-11-26 13:45:07 +01:00
<!DOCTYPE html>
2015-06-16 00:15:09 +02:00
<html lang="{{App::getLocale()}}">
2015-02-18 23:34:36 +01:00
<head>
2016-04-30 23:55:29 +02:00
@if (isset($account) && $account instanceof \App\Models\Account && $account->hasFeature(FEATURE_WHITE_LABEL))
2015-11-18 22:37:11 +01:00
<title>{{ trans('texts.client_portal') }}</title>
@else
<title>{{ isset($title) ? ($title . ' | Invoice Ninja') : ('Invoice Ninja | ' . trans('texts.app_title')) }}</title>
<meta name="description" content="{{ isset($description) ? $description : trans('texts.app_description') }}" />
2015-12-21 20:57:55 +01:00
<link href="{{ asset('favicon-v2.png') }}" rel="shortcut icon" type="image/png">
2015-11-18 22:37:11 +01:00
@endif
2014-06-02 18:21:47 +02:00
2014-05-25 20:38:40 +02:00
<!-- Source: https://github.com/hillelcoren/invoice-ninja -->
<!-- Version: {{ NINJA_VERSION }} -->
2013-11-26 13:45:07 +01:00
<meta charset="utf-8">
<meta property="og:site_name" content="Invoice Ninja" />
<meta property="og:url" content="{{ SITE_URL }}" />
<meta property="og:title" content="Invoice Ninja" />
2015-10-18 09:30:28 +02:00
<meta property="og:image" content="{{ SITE_URL }}/images/round_logo.png" />
<meta property="og:description" content="Simple, Intuitive Invoicing." />
2014-10-06 09:46:35 +02:00
<meta name="viewport" content="width=device-width, initial-scale=1.0">
2015-05-22 12:52:49 +02:00
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
2015-09-07 11:07:55 +02:00
<meta name="msapplication-config" content="none"/>
<link rel="canonical" href="{{ NINJA_APP_URL }}/{{ Request::path() }}" />
2015-02-18 23:34:36 +01:00
2016-01-31 20:36:50 +01:00
<script src="{{ asset('built.js') }}?no_cache={{ NINJA_VERSION }}" type="text/javascript"></script>
2014-01-02 14:21:15 +01:00
<script type="text/javascript">
2015-10-14 22:56:17 +02:00
var NINJA = NINJA || {};
NINJA.fontSize = 9;
2016-01-31 20:36:50 +01:00
NINJA.isRegistered = {{ \Utils::isRegistered() ? 'true' : 'false' }};
2016-02-25 19:34:23 +01:00
2016-01-31 20:36:50 +01:00
window.onerror = function (errorMsg, url, lineNumber, column, error) {
if (errorMsg.indexOf('Script error.') > -1) {
return;
}
2015-02-18 23:34:36 +01:00
try {
2016-01-31 20:36:50 +01:00
// Use StackTraceJS to parse the error context
if (error) {
var message = error.message ? error.message : error;
StackTrace.fromError(error).then(function(result) {
var gps = new StackTraceGPS();
gps.findFunctionName(result[0]).then(function(result) {
logError(errorMsg + ': ' + JSON.stringify(result));
});
});
} else {
logError(errorMsg);
}
2016-04-14 09:32:48 +02:00
trackEvent('/error', errorMsg);
2015-02-18 23:34:36 +01:00
} catch(err) {}
2016-01-31 20:36:50 +01:00
2015-02-18 23:34:36 +01:00
return false;
}
2015-02-18 23:34:36 +01:00
2016-01-31 20:36:50 +01:00
function logError(message) {
$.ajax({
type: 'GET',
url: '{{ URL::to('log_error') }}',
data: 'error='+encodeURIComponent(message)+'&url='+encodeURIComponent(window.location)
});
}
2015-02-18 23:34:36 +01:00
/* Set the defaults for DataTables initialisation */
$.extend( true, $.fn.dataTable.defaults, {
"bSortClasses": false,
2015-04-28 22:13:52 +02:00
"sDom": "t<'row-fluid'<'span6'i><'span6'p>>l",
2015-02-18 23:34:36 +01:00
"sPaginationType": "bootstrap",
"bInfo": true,
"oLanguage": {
'sEmptyTable': "{{ trans('texts.empty_table') }}",
2015-04-28 22:13:52 +02:00
'sLengthMenu': '_MENU_ {{ trans('texts.rows') }}',
2015-02-18 23:34:36 +01:00
'sSearch': ''
}
} );
2015-08-03 10:52:47 +02:00
/* This causes problems with some languages. ie, fr_CA
2016-02-09 10:57:25 +01:00
var appLocale = '{{App::getLocale()}}';
2015-07-10 22:06:06 +02:00
$.extend( true, $.fn.datepicker.defaults, {
2016-02-09 10:57:25 +01:00
language: appLocale.replace("_", "-")
2015-07-10 22:06:06 +02:00
});
*/
@if (env('FACEBOOK_PIXEL'))
<!-- Facebook Pixel Code -->
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','//connect.facebook.net/en_US/fbevents.js');
fbq('init', '{{ env('FACEBOOK_PIXEL') }}');
fbq('track', "PageView");
(function() {
var _fbq = window._fbq || (window._fbq = []);
if (!_fbq.loaded) {
var fbds = document.createElement('script');
fbds.async = true;
fbds.src = '//connect.facebook.net/en_US/fbds.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(fbds, s);
_fbq.loaded = true;
}
})();
@else
function fbq() {
// do nothing
};
@endif
window._fbq = window._fbq || [];
2014-01-02 14:21:15 +01:00
</script>
2015-10-02 10:32:13 +02:00
2013-11-26 13:45:07 +01:00
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
2015-02-18 23:34:36 +01:00
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
2013-11-26 13:45:07 +01:00
<![endif]-->
2013-12-07 19:45:00 +01:00
2015-02-18 23:34:36 +01:00
@yield('head')
</head>
2013-11-26 13:45:07 +01:00
<body class="body">
2014-05-13 16:05:26 +02:00
@if (isset($_ENV['TAG_MANAGER_KEY']) && $_ENV['TAG_MANAGER_KEY'])
2015-02-18 23:34:36 +01:00
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id={{ $_ENV['TAG_MANAGER_KEY'] }}"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','{{ $_ENV['TAG_MANAGER_KEY'] }}');</script>
<!-- End Google Tag Manager -->
<script>
2015-05-31 14:37:29 +02:00
function trackEvent(category, action) {}
2015-02-18 23:34:36 +01:00
</script>
2014-05-13 16:05:26 +02:00
@elseif (isset($_ENV['ANALYTICS_KEY']) && $_ENV['ANALYTICS_KEY'])
2015-02-18 23:34:36 +01:00
<script>
2014-05-13 16:05:26 +02:00
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
2015-02-18 23:34:36 +01:00
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
2014-05-13 16:05:26 +02:00
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
2015-02-18 23:34:36 +01:00
2015-03-17 15:25:53 +01:00
ga('create', '{{ $_ENV['ANALYTICS_KEY'] }}', 'auto');
2014-05-13 16:05:26 +02:00
ga('send', 'pageview');
2015-02-18 23:34:36 +01:00
2015-05-31 14:37:29 +02:00
function trackEvent(category, action) {
ga('send', 'event', category, action, this.src);
2014-05-13 16:05:26 +02:00
}
2015-02-18 23:34:36 +01:00
</script>
2014-05-11 20:24:30 +02:00
@else
2015-02-18 23:34:36 +01:00
<script>
2015-05-31 14:37:29 +02:00
function trackEvent(category, action) {}
2015-02-18 23:34:36 +01:00
</script>
@endif
2015-02-18 23:34:36 +01:00
@yield('body')
2013-11-26 13:45:07 +01:00
2015-02-18 23:34:36 +01:00
<script type="text/javascript">
2015-09-20 23:05:02 +02:00
NINJA.formIsChanged = {{ isset($formIsChanged) && $formIsChanged ? 'true' : 'false' }};
$(function() {
2014-04-18 10:57:31 +02:00
$('form.warn-on-exit input, form.warn-on-exit textarea, form.warn-on-exit select').change(function() {
2015-09-20 23:05:02 +02:00
NINJA.formIsChanged = true;
});
2015-06-03 19:55:48 +02:00
@if (Session::has('trackEventCategory') && Session::has('trackEventAction'))
2015-10-09 07:57:37 +02:00
@if (Session::get('trackEventAction') === '/buy_pro_plan')
window._fbq.push(['track', '{{ env('FACEBOOK_PIXEL_BUY_PRO') }}', {'value':'{{ session('trackEventAmount') }}','currency':'USD'}]);
@endif
2015-06-03 19:55:48 +02:00
@endif
2015-11-01 19:21:11 +01:00
@if (Session::has('onReady'))
{{ Session::get('onReady') }}
@endif
2015-02-18 23:34:36 +01:00
});
$('form').submit(function() {
2014-04-18 10:57:31 +02:00
NINJA.formIsChanged = false;
2015-02-18 23:34:36 +01:00
});
$(window).on('beforeunload', function() {
if (NINJA.formIsChanged) {
2015-02-18 23:34:36 +01:00
return "{{ trans('texts.unsaved_changes') }}";
2014-04-25 15:04:57 +02:00
} else {
2015-02-18 23:34:36 +01:00
return undefined;
}
2015-02-18 23:34:36 +01:00
});
function openUrl(url, track) {
2015-06-01 15:06:18 +02:00
trackEvent('/view_link', track ? track : url);
2015-02-18 23:34:36 +01:00
window.open(url, '_blank');
}
</script>
2015-02-18 23:34:36 +01:00
</body>
2013-11-26 13:45:07 +01:00
2016-02-09 10:57:25 +01:00
</html>