mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-04 02:57:33 -05:00 
			
		
		
		
	Merge pull request #950 from codedge/#868-Configurable-start-of-week
Adding configuration for first day of the week
This commit is contained in:
		
						commit
						fd2155d10a
					
				@ -471,6 +471,7 @@ class AccountController extends BaseController
 | 
				
			|||||||
            'datetimeFormats' => Cache::get('datetimeFormats'),
 | 
					            'datetimeFormats' => Cache::get('datetimeFormats'),
 | 
				
			||||||
            'currencies' => Cache::get('currencies'),
 | 
					            'currencies' => Cache::get('currencies'),
 | 
				
			||||||
            'title' => trans('texts.localization'),
 | 
					            'title' => trans('texts.localization'),
 | 
				
			||||||
 | 
					            'weekdays' => Utils::getTranslatedWeekdayNames(),
 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return View::make('accounts.localization', $data);
 | 
					        return View::make('accounts.localization', $data);
 | 
				
			||||||
@ -1270,6 +1271,7 @@ class AccountController extends BaseController
 | 
				
			|||||||
        $account->language_id = Input::get('language_id') ? Input::get('language_id') : 1; // English
 | 
					        $account->language_id = Input::get('language_id') ? Input::get('language_id') : 1; // English
 | 
				
			||||||
        $account->military_time = Input::get('military_time') ? true : false;
 | 
					        $account->military_time = Input::get('military_time') ? true : false;
 | 
				
			||||||
        $account->show_currency_code = Input::get('show_currency_code') ? true : false;
 | 
					        $account->show_currency_code = Input::get('show_currency_code') ? true : false;
 | 
				
			||||||
 | 
					        $account->start_of_week = Input::get('start_of_week') ? Input::get('start_of_week') : 0;
 | 
				
			||||||
        $account->save();
 | 
					        $account->save();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        event(new UserSettingsChanged());
 | 
					        event(new UserSettingsChanged());
 | 
				
			||||||
 | 
				
			|||||||
@ -18,6 +18,11 @@ use WePay;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class Utils
 | 
					class Utils
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    private static $weekdayNames = [
 | 
				
			||||||
 | 
					        "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday",
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static function isRegistered()
 | 
					    public static function isRegistered()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        return Auth::check() && Auth::user()->registered;
 | 
					        return Auth::check() && Auth::user()->registered;
 | 
				
			||||||
@ -1020,4 +1025,28 @@ class Utils
 | 
				
			|||||||
            return new WePay(null);
 | 
					            return new WePay(null);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Gets an array of weekday names (in English)
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @see getTranslatedWeekdayNames()
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return \Illuminate\Support\Collection
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static function getWeekdayNames()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return collect(static::$weekdayNames);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Gets an array of translated weekday names
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return \Illuminate\Support\Collection
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static function getTranslatedWeekdayNames()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return collect(static::$weekdayNames)->transform(function ($day) {
 | 
				
			||||||
 | 
					             return trans('texts.'.strtolower($day));
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -79,6 +79,7 @@ class Account extends Eloquent
 | 
				
			|||||||
        'show_item_taxes',
 | 
					        'show_item_taxes',
 | 
				
			||||||
        'default_tax_rate_id',
 | 
					        'default_tax_rate_id',
 | 
				
			||||||
        'enable_second_tax_rate',
 | 
					        'enable_second_tax_rate',
 | 
				
			||||||
 | 
					        'start_of_week',
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@ -1063,6 +1064,8 @@ class Account extends Eloquent
 | 
				
			|||||||
            $format = str_replace('g:i a', 'H:i', $format);
 | 
					            $format = str_replace('g:i a', 'H:i', $format);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        Session::put(SESSION_DATETIME_FORMAT, $format);
 | 
					        Session::put(SESSION_DATETIME_FORMAT, $format);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Session::put('start_of_week', $this->start_of_week);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use Illuminate\Database\Schema\Blueprint;
 | 
				
			||||||
 | 
					use Illuminate\Database\Migrations\Migration;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Class AddStartOfWeekToAccountsTable
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					class AddStartOfWeekToAccountsTable extends Migration
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Run the migrations.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return void
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function up()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        Schema::table('accounts', function (Blueprint $table) {
 | 
				
			||||||
 | 
					            $table->integer('start_of_week');
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Reverse the migrations.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return void
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function down()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        Schema::table('accounts', function (Blueprint $table) {
 | 
				
			||||||
 | 
					            $table->dropColumn('start_of_week');
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1362,6 +1362,7 @@ $LANG = array(
 | 
				
			|||||||
    'failed_remove_payment_method' => 'Failed to remove the payment method',
 | 
					    'failed_remove_payment_method' => 'Failed to remove the payment method',
 | 
				
			||||||
    'gateway_exists' => 'This gateway already exists',
 | 
					    'gateway_exists' => 'This gateway already exists',
 | 
				
			||||||
    'manual_entry' => 'Manual entry',
 | 
					    'manual_entry' => 'Manual entry',
 | 
				
			||||||
 | 
					    'start_of_week' => 'Erster Tag der Woche',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Frequencies
 | 
					    // Frequencies
 | 
				
			||||||
    'freq_weekly' => 'wöchentlich',
 | 
					    'freq_weekly' => 'wöchentlich',
 | 
				
			||||||
 | 
				
			|||||||
@ -1362,6 +1362,7 @@ $LANG = array(
 | 
				
			|||||||
    'failed_remove_payment_method' => 'Failed to remove the payment method',
 | 
					    'failed_remove_payment_method' => 'Failed to remove the payment method',
 | 
				
			||||||
    'gateway_exists' => 'This gateway already exists',
 | 
					    'gateway_exists' => 'This gateway already exists',
 | 
				
			||||||
    'manual_entry' => 'Manual entry',
 | 
					    'manual_entry' => 'Manual entry',
 | 
				
			||||||
 | 
					    'start_of_week' => 'First day of the week',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Frequencies
 | 
					    // Frequencies
 | 
				
			||||||
    'freq_weekly' => 'Weekly',
 | 
					    'freq_weekly' => 'Weekly',
 | 
				
			||||||
 | 
				
			|||||||
@ -30,6 +30,8 @@
 | 
				
			|||||||
                    ->fromQuery($dateFormats) !!}
 | 
					                    ->fromQuery($dateFormats) !!}
 | 
				
			||||||
                {!! Former::select('datetime_format_id')->addOption('','')
 | 
					                {!! Former::select('datetime_format_id')->addOption('','')
 | 
				
			||||||
                    ->fromQuery($datetimeFormats) !!}
 | 
					                    ->fromQuery($datetimeFormats) !!}
 | 
				
			||||||
 | 
					                {!! Former::select('start_of_week')->addOption('','')
 | 
				
			||||||
 | 
					                    ->fromQuery($weekdays) !!}
 | 
				
			||||||
                {!! Former::checkbox('military_time')->text(trans('texts.enable')) !!}
 | 
					                {!! Former::checkbox('military_time')->text(trans('texts.enable')) !!}
 | 
				
			||||||
                {{-- Former::checkbox('show_currency_code')->text(trans('texts.enable')) --}}
 | 
					                {{-- Former::checkbox('show_currency_code')->text(trans('texts.enable')) --}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -5,35 +5,35 @@
 | 
				
			|||||||
        <title>{{ trans('texts.client_portal') }}</title>
 | 
					        <title>{{ trans('texts.client_portal') }}</title>
 | 
				
			||||||
    @else
 | 
					    @else
 | 
				
			||||||
        <title>{{ isset($title) ? ($title . ' | Invoice Ninja') : ('Invoice Ninja | ' . trans('texts.app_title')) }}</title>
 | 
					        <title>{{ isset($title) ? ($title . ' | Invoice Ninja') : ('Invoice Ninja | ' . trans('texts.app_title')) }}</title>
 | 
				
			||||||
        <meta name="description" content="{{ isset($description) ? $description : trans('texts.app_description') }}" />
 | 
					        <meta name="description" content="{{ isset($description) ? $description : trans('texts.app_description') }}"/>
 | 
				
			||||||
        <link href="{{ asset('favicon-v2.png') }}" rel="shortcut icon" type="image/png">
 | 
					        <link href="{{ asset('favicon-v2.png') }}" rel="shortcut icon" type="image/png">
 | 
				
			||||||
    @endif
 | 
					    @endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <!-- Source: https://github.com/invoiceninja/invoiceninja -->
 | 
					<!-- Source: https://github.com/invoiceninja/invoiceninja -->
 | 
				
			||||||
    <!-- Version: {{ NINJA_VERSION }} -->
 | 
					<!-- Version: {{ NINJA_VERSION }} -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <meta charset="utf-8">
 | 
					    <meta charset="utf-8">
 | 
				
			||||||
    <meta property="og:site_name" content="Invoice Ninja" />
 | 
					    <meta property="og:site_name" content="Invoice Ninja"/>
 | 
				
			||||||
    <meta property="og:url" content="{{ SITE_URL }}" />
 | 
					    <meta property="og:url" content="{{ SITE_URL }}"/>
 | 
				
			||||||
    <meta property="og:title" content="Invoice Ninja" />
 | 
					    <meta property="og:title" content="Invoice Ninja"/>
 | 
				
			||||||
    <meta property="og:image" content="{{ SITE_URL }}/images/round_logo.png" />
 | 
					    <meta property="og:image" content="{{ SITE_URL }}/images/round_logo.png"/>
 | 
				
			||||||
    <meta property="og:description" content="Simple, Intuitive Invoicing." />
 | 
					    <meta property="og:description" content="Simple, Intuitive Invoicing."/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <!-- http://stackoverflow.com/questions/19012698/browser-cache-issues-in-laravel-4-application -->
 | 
					    <!-- http://stackoverflow.com/questions/19012698/browser-cache-issues-in-laravel-4-application -->
 | 
				
			||||||
    <meta http-equiv="cache-control" content="max-age=0" />
 | 
					    <meta http-equiv="cache-control" content="max-age=0"/>
 | 
				
			||||||
    <meta http-equiv="cache-control" content="no-cache" />
 | 
					    <meta http-equiv="cache-control" content="no-cache"/>
 | 
				
			||||||
    <meta http-equiv="cache-control" content="no-store" />
 | 
					    <meta http-equiv="cache-control" content="no-store"/>
 | 
				
			||||||
    <meta http-equiv="cache-control" content="must-revalidate" />
 | 
					    <meta http-equiv="cache-control" content="must-revalidate"/>
 | 
				
			||||||
    <meta http-equiv="expires" content="0" />
 | 
					    <meta http-equiv="expires" content="0"/>
 | 
				
			||||||
    <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
 | 
					    <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT"/>
 | 
				
			||||||
    <meta http-equiv="pragma" content="no-cache" />
 | 
					    <meta http-equiv="pragma" content="no-cache"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
    <meta name="csrf-token" content="{{ csrf_token() }}">
 | 
					    <meta name="csrf-token" content="{{ csrf_token() }}">
 | 
				
			||||||
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
 | 
					    <meta http-equiv="X-UA-Compatible" content="IE=edge">
 | 
				
			||||||
    <meta name="msapplication-config" content="none"/>
 | 
					    <meta name="msapplication-config" content="none"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <link rel="canonical" href="{{ NINJA_APP_URL }}/{{ Request::path() }}" />
 | 
					    <link rel="canonical" href="{{ NINJA_APP_URL }}/{{ Request::path() }}"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <script src="{{ asset('built.js') }}?no_cache={{ NINJA_VERSION }}" type="text/javascript"></script>
 | 
					    <script src="{{ asset('built.js') }}?no_cache={{ NINJA_VERSION }}" type="text/javascript"></script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -55,9 +55,9 @@
 | 
				
			|||||||
                // Use StackTraceJS to parse the error context
 | 
					                // Use StackTraceJS to parse the error context
 | 
				
			||||||
                if (error) {
 | 
					                if (error) {
 | 
				
			||||||
                    var message = error.message ? error.message : error;
 | 
					                    var message = error.message ? error.message : error;
 | 
				
			||||||
                    StackTrace.fromError(error).then(function(result) {
 | 
					                    StackTrace.fromError(error).then(function (result) {
 | 
				
			||||||
                        var gps = new StackTraceGPS();
 | 
					                        var gps = new StackTraceGPS();
 | 
				
			||||||
                        gps.findFunctionName(result[0]).then(function(result) {
 | 
					                        gps.findFunctionName(result[0]).then(function (result) {
 | 
				
			||||||
                            logError(errorMsg + ': ' + JSON.stringify(result));
 | 
					                            logError(errorMsg + ': ' + JSON.stringify(result));
 | 
				
			||||||
                        });
 | 
					                        });
 | 
				
			||||||
                    });
 | 
					                    });
 | 
				
			||||||
@ -66,7 +66,8 @@
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                trackEvent('/error', errorMsg);
 | 
					                trackEvent('/error', errorMsg);
 | 
				
			||||||
            } catch(err) {}
 | 
					            } catch (err) {
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -75,12 +76,12 @@
 | 
				
			|||||||
            $.ajax({
 | 
					            $.ajax({
 | 
				
			||||||
                type: 'GET',
 | 
					                type: 'GET',
 | 
				
			||||||
                url: '{{ URL::to('log_error') }}',
 | 
					                url: '{{ URL::to('log_error') }}',
 | 
				
			||||||
                data: 'error='+encodeURIComponent(message)+'&url='+encodeURIComponent(window.location)
 | 
					                data: 'error=' + encodeURIComponent(message) + '&url=' + encodeURIComponent(window.location)
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /* Set the defaults for DataTables initialisation */
 | 
					        /* Set the defaults for DataTables initialisation */
 | 
				
			||||||
        $.extend( true, $.fn.dataTable.defaults, {
 | 
					        $.extend(true, $.fn.dataTable.defaults, {
 | 
				
			||||||
            "bSortClasses": false,
 | 
					            "bSortClasses": false,
 | 
				
			||||||
            "sDom": "t<'row-fluid'<'span6'i><'span6'p>>l",
 | 
					            "sDom": "t<'row-fluid'<'span6'i><'span6'p>>l",
 | 
				
			||||||
            "sPaginationType": "bootstrap",
 | 
					            "sPaginationType": "bootstrap",
 | 
				
			||||||
@ -90,45 +91,61 @@
 | 
				
			|||||||
                'sLengthMenu': '_MENU_ {{ trans('texts.rows') }}',
 | 
					                'sLengthMenu': '_MENU_ {{ trans('texts.rows') }}',
 | 
				
			||||||
                'sSearch': ''
 | 
					                'sSearch': ''
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } );
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Set the defaults for Bootstrap datepicker */
 | 
				
			||||||
 | 
					        $.extend(true, $.fn.datepicker.defaults, {
 | 
				
			||||||
 | 
					            weekStart: {{ Session::get('start_of_week') }}
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /* This causes problems with some languages. ie, fr_CA
 | 
					        /* This causes problems with some languages. ie, fr_CA
 | 
				
			||||||
		var appLocale = '{{App::getLocale()}}';
 | 
					         var appLocale = '{{App::getLocale()}}';
 | 
				
			||||||
        $.extend( true, $.fn.datepicker.defaults, {
 | 
					         */
 | 
				
			||||||
			language: appLocale.replace("_", "-")
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
        */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @if (env('FACEBOOK_PIXEL'))
 | 
					        @if (env('FACEBOOK_PIXEL'))
 | 
				
			||||||
            <!-- Facebook Pixel Code -->
 | 
					        <!-- Facebook Pixel Code -->
 | 
				
			||||||
            !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
 | 
					        !function (f, b, e, v, n, t, s) {
 | 
				
			||||||
            n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
 | 
					            if (f.fbq)return;
 | 
				
			||||||
            n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
 | 
					            n = f.fbq = function () {
 | 
				
			||||||
            t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
 | 
					                n.callMethod ?
 | 
				
			||||||
            document,'script','//connect.facebook.net/en_US/fbevents.js');
 | 
					                        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('init', '{{ env('FACEBOOK_PIXEL') }}');
 | 
				
			||||||
            fbq('track', "PageView");
 | 
					        fbq('track', "PageView");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            (function() {
 | 
					        (function () {
 | 
				
			||||||
              var _fbq = window._fbq || (window._fbq = []);
 | 
					            var _fbq = window._fbq || (window._fbq = []);
 | 
				
			||||||
              if (!_fbq.loaded) {
 | 
					            if (!_fbq.loaded) {
 | 
				
			||||||
                var fbds = document.createElement('script');
 | 
					                var fbds = document.createElement('script');
 | 
				
			||||||
                fbds.async = true;
 | 
					                fbds.async = true;
 | 
				
			||||||
                fbds.src = '//connect.facebook.net/en_US/fbds.js';
 | 
					                fbds.src = '//connect.facebook.net/en_US/fbds.js';
 | 
				
			||||||
                var s = document.getElementsByTagName('script')[0];
 | 
					                var s = document.getElementsByTagName('script')[0];
 | 
				
			||||||
                s.parentNode.insertBefore(fbds, s);
 | 
					                s.parentNode.insertBefore(fbds, s);
 | 
				
			||||||
                _fbq.loaded = true;
 | 
					                _fbq.loaded = true;
 | 
				
			||||||
             }
 | 
					            }
 | 
				
			||||||
            })();
 | 
					        })();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @else
 | 
					        @else
 | 
				
			||||||
            function fbq() {
 | 
					        function fbq() {
 | 
				
			||||||
                // do nothing
 | 
					            // do nothing
 | 
				
			||||||
            };
 | 
					        }
 | 
				
			||||||
 | 
					        ;
 | 
				
			||||||
        @endif
 | 
					        @endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        window._fbq = window._fbq || [];
 | 
					                window._fbq = window._fbq || [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    </script>
 | 
					    </script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -139,32 +156,49 @@
 | 
				
			|||||||
    <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
 | 
					    <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
 | 
				
			||||||
    <![endif]-->
 | 
					    <![endif]-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@yield('head')
 | 
					    @yield('head')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</head>
 | 
					</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<body class="body">
 | 
					<body class="body">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @if (isset($_ENV['TAG_MANAGER_KEY']) && $_ENV['TAG_MANAGER_KEY'])
 | 
					@if (isset($_ENV['TAG_MANAGER_KEY']) && $_ENV['TAG_MANAGER_KEY'])
 | 
				
			||||||
    <!-- Google Tag Manager -->
 | 
					    <!-- Google Tag Manager -->
 | 
				
			||||||
    <noscript><iframe src="//www.googletagmanager.com/ns.html?id={{ $_ENV['TAG_MANAGER_KEY'] }}"
 | 
					    <noscript>
 | 
				
			||||||
        height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
 | 
					        <iframe src="//www.googletagmanager.com/ns.html?id={{ $_ENV['TAG_MANAGER_KEY'] }}"
 | 
				
			||||||
        <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
 | 
					                height="0" width="0" style="display:none;visibility:hidden"></iframe>
 | 
				
			||||||
            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
 | 
					    </noscript>
 | 
				
			||||||
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
 | 
					    <script>(function (w, d, s, l, i) {
 | 
				
			||||||
        '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
 | 
					            w[l] = w[l] || [];
 | 
				
			||||||
    })(window,document,'script','dataLayer','{{ $_ENV['TAG_MANAGER_KEY'] }}');</script>
 | 
					            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 -->
 | 
					    <!-- End Google Tag Manager -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <script>
 | 
					    <script>
 | 
				
			||||||
        function trackEvent(category, action) {}
 | 
					        function trackEvent(category, action) {
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    </script>
 | 
					    </script>
 | 
				
			||||||
    @elseif (isset($_ENV['ANALYTICS_KEY']) && $_ENV['ANALYTICS_KEY'])
 | 
					@elseif (isset($_ENV['ANALYTICS_KEY']) && $_ENV['ANALYTICS_KEY'])
 | 
				
			||||||
    <script>
 | 
					    <script>
 | 
				
			||||||
        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
 | 
					        (function (i, s, o, g, r, a, m) {
 | 
				
			||||||
            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
 | 
					            i['GoogleAnalyticsObject'] = r;
 | 
				
			||||||
            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
 | 
					            i[r] = i[r] || function () {
 | 
				
			||||||
        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 | 
					                        (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)
 | 
				
			||||||
 | 
					        })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ga('create', '{{ $_ENV['ANALYTICS_KEY'] }}', 'auto');
 | 
					        ga('create', '{{ $_ENV['ANALYTICS_KEY'] }}', 'auto');
 | 
				
			||||||
        ga('send', 'pageview');
 | 
					        ga('send', 'pageview');
 | 
				
			||||||
@ -173,36 +207,40 @@
 | 
				
			|||||||
            ga('send', 'event', category, action, this.src);
 | 
					            ga('send', 'event', category, action, this.src);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    </script>
 | 
					    </script>
 | 
				
			||||||
    @else
 | 
					@else
 | 
				
			||||||
    <script>
 | 
					    <script>
 | 
				
			||||||
        function trackEvent(category, action) {}
 | 
					        function trackEvent(category, action) {
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    </script>
 | 
					    </script>
 | 
				
			||||||
    @endif
 | 
					@endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@yield('body')
 | 
					@yield('body')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script type="text/javascript">
 | 
					<script type="text/javascript">
 | 
				
			||||||
    NINJA.formIsChanged = {{ isset($formIsChanged) && $formIsChanged ? 'true' : 'false' }};
 | 
					    NINJA.formIsChanged = {{ isset($formIsChanged) && $formIsChanged ? 'true' : 'false' }};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $(function() {
 | 
					    $(function () {
 | 
				
			||||||
        $('form.warn-on-exit input, form.warn-on-exit textarea, form.warn-on-exit select').change(function() {
 | 
					        $('form.warn-on-exit input, form.warn-on-exit textarea, form.warn-on-exit select').change(function () {
 | 
				
			||||||
            NINJA.formIsChanged = true;
 | 
					            NINJA.formIsChanged = true;
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @if (Session::has('trackEventCategory') && Session::has('trackEventAction'))
 | 
					        @if (Session::has('trackEventCategory') && Session::has('trackEventAction'))
 | 
				
			||||||
            @if (Session::get('trackEventAction') === '/buy_pro_plan')
 | 
					            @if (Session::get('trackEventAction') === '/buy_pro_plan')
 | 
				
			||||||
                window._fbq.push(['track', '{{ env('FACEBOOK_PIXEL_BUY_PRO') }}', {'value':'{{ session('trackEventAmount') }}','currency':'USD'}]);
 | 
					                window._fbq.push(['track', '{{ env('FACEBOOK_PIXEL_BUY_PRO') }}', {
 | 
				
			||||||
            @endif
 | 
					            'value': '{{ session('trackEventAmount') }}',
 | 
				
			||||||
 | 
					            'currency': 'USD'
 | 
				
			||||||
 | 
					        }]);
 | 
				
			||||||
 | 
					        @endif
 | 
				
			||||||
        @endif
 | 
					        @endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @if (Session::has('onReady'))
 | 
					        @if (Session::has('onReady'))
 | 
				
			||||||
            {{ Session::get('onReady') }}
 | 
					        {{ Session::get('onReady') }}
 | 
				
			||||||
        @endif
 | 
					        @endif
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    $('form').submit(function() {
 | 
					    $('form').submit(function () {
 | 
				
			||||||
        NINJA.formIsChanged = false;
 | 
					        NINJA.formIsChanged = false;
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    $(window).on('beforeunload', function() {
 | 
					    $(window).on('beforeunload', function () {
 | 
				
			||||||
        if (NINJA.formIsChanged) {
 | 
					        if (NINJA.formIsChanged) {
 | 
				
			||||||
            return "{{ trans('texts.unsaved_changes') }}";
 | 
					            return "{{ trans('texts.unsaved_changes') }}";
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
 | 
				
			|||||||
@ -178,7 +178,8 @@
 | 
				
			|||||||
                $(element).datetimepicker({
 | 
					                $(element).datetimepicker({
 | 
				
			||||||
                    value: current_time
 | 
					                    value: current_time
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
            }
 | 
					            },
 | 
				
			||||||
 | 
					            dayOfWeekStart: {{ Session::get('start_of_week') }}
 | 
				
			||||||
         });
 | 
					         });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         $(element).change(function() {
 | 
					         $(element).change(function() {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user