Merge pull request #640 from Attendize/gtm_container

Add GTM container
This commit is contained in:
Jeremy Quinton 2019-05-29 14:56:08 +02:00 committed by GitHub
commit 7952bed6d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 121 additions and 58 deletions

View File

@ -224,6 +224,7 @@ class EventController extends MyBaseController
$event->title = $request->get('title');
$event->description = strip_tags($request->get('description'));
$event->start_date = $request->get('start_date');
$event->google_tag_manager_code = $request->get('google_tag_manager_code');
/*
* If the google place ID is the same as before then don't update the venue

View File

@ -48,18 +48,19 @@ class OrganiserCustomizeController extends MyBaseController
]);
}
$organiser->name = $request->get('name');
$organiser->about = $request->get('about');
$organiser->name = $request->get('name');
$organiser->about = $request->get('about');
$organiser->google_analytics_code = $request->get('google_analytics_code');
$organiser->email = $request->get('email');
$organiser->google_tag_manager_code = $request->get('google_tag_manager_code');
$organiser->email = $request->get('email');
$organiser->enable_organiser_page = $request->get('enable_organiser_page');
$organiser->facebook = $request->get('facebook');
$organiser->twitter = $request->get('twitter');
$organiser->facebook = $request->get('facebook');
$organiser->twitter = $request->get('twitter');
$organiser->tax_name = $request->get('tax_name');
$organiser->tax_value = $request->get('tax_value');
$organiser->tax_id = $request->get('tax_id');
$organiser->charge_tax = ($request->get('charge_tax') == 1) ? 1 : 0;
$organiser->tax_name = $request->get('tax_name');
$organiser->tax_value = $request->get('tax_value');
$organiser->tax_id = $request->get('tax_id');
$organiser->charge_tax = ($request->get('charge_tax') == 1) ? 1 : 0;
if ($request->get('remove_current_image') == '1') {
$organiser->logo_path = '';

View File

@ -0,0 +1,33 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddGtmFieldToOrganiser extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('organisers', function (Blueprint $table) {
$table->string('google_tag_manager_code', 20)->after('google_analytics_code')
->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('organisers', function (Blueprint $table) {
$table->dropColumn('google_tag_manager_code');
});
}
}

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddGtmFieldToEvent extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('events', function (Blueprint $table) {
$table->string('google_tag_manager_code', 20)->after('ticket_sub_text_color')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('events', function (Blueprint $table) {
$table->dropColumn('google_tag_manager_code');
});
}
}

File diff suppressed because one or more lines are too long

View File

@ -92,19 +92,7 @@ body {
opacity: 0.7;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
}
/* -----------------------------------------------------------------------------
jQuery DateTimePicker - Responsive flat design jQuery DateTime Picker plugin for Web & Mobile
Version 0.1.38
Copyright (c)2017 Lajpat Shah
Contributors : https://github.com/nehakadam/DateTimePicker/contributors
Repository : https://github.com/nehakadam/DateTimePicker
Documentation : https://nehakadam.github.io/DateTimePicker
----------------------------------------------------------------------------- */
.dtpicker-overlay{z-index:2000;display:none;min-width:300px;background:rgba(0,0,0,.2);font-size:12px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dtpicker-mobile{position:fixed;top:0;left:0;width:100%;height:100%}.dtpicker-overlay *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-ms-box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.dtpicker-bg{width:100%;height:100%;font-family:Arial}.dtpicker-cont{border:1px solid #ECF0F1}.dtpicker-mobile .dtpicker-cont{position:relative;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-o-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);border:0}.dtpicker-content{margin:0 auto;padding:1em 0;max-width:500px;background:#fff}.dtpicker-mobile .dtpicker-content{width:97%}.dtpicker-subcontent{position:relative}.dtpicker-header{margin:.2em 1em}.dtpicker-header .dtpicker-title{color:#2980B9;text-align:center;font-size:1.1em}.dtpicker-header .dtpicker-close{position:absolute;top:-.7em;right:.3em;padding:.5em .5em 1em 1em;color:#FF3B30;font-size:1.5em;cursor:pointer}.dtpicker-header .dtpicker-close:hover{color:#FF3B30}.dtpicker-header .dtpicker-value{padding:.8em .2em .2em;color:#FF3B30;text-align:center;font-size:1.4em}.dtpicker-components{overflow:hidden;margin:1em;font-size:1.3em}.dtpicker-components *{margin:0;padding:0}.dtpicker-components .dtpicker-compOutline{display:inline-block;float:left}.dtpicker-comp2{width:50%}.dtpicker-comp3{width:33.3%}.dtpicker-comp4{width:25%}.dtpicker-comp5{width:20%}.dtpicker-comp6{width:16.66%}.dtpicker-comp7{width:14.285%}.dtpicker-components .dtpicker-comp{margin:2%;text-align:center}.dtpicker-components .dtpicker-comp>*{display:block;height:30px;color:#2980B9;text-align:center;line-height:30px}.dtpicker-components .dtpicker-comp>:hover{color:#2980B9}.dtpicker-components .dtpicker-compButtonEnable{opacity:1}.dtpicker-components .dtpicker-compButtonDisable{opacity:.5}.dtpicker-components .dtpicker-compButton{background:#FFF;font-size:140%;cursor:pointer}.dtpicker-components .dtpicker-compValue{margin:.4em 0;width:100%;border:0;background:#FFF;font-size:100%;-webkit-appearance:none;-moz-appearance:none}.dtpicker-overlay .dtpicker-compValue:focus{outline:0;background:#F2FCFF}.dtpicker-buttonCont{overflow:hidden;margin:.2em 1em}.dtpicker-buttonCont .dtpicker-button{display:block;padding:.6em 0;width:47%;background:#FF3B30;color:#FFF;text-align:center;font-size:1.3em;cursor:pointer}.dtpicker-buttonCont .dtpicker-button:hover{color:#FFF}.dtpicker-singleButton .dtpicker-button{margin:.2em auto}.dtpicker-twoButtons .dtpicker-buttonSet{float:left}.dtpicker-twoButtons .dtpicker-buttonClear{float:right}/*
.dtpicker-overlay{z-index:2000;display:none;min-width:300px;background:rgba(0,0,0,.2);font-size:12px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dtpicker-mobile{position:fixed;top:0;left:0;width:100%;height:100%}.dtpicker-overlay *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-ms-box-sizing:border-box;-webkit-tap-highlight-color:transparent}.dtpicker-bg{width:100%;height:100%;font-family:Arial}.dtpicker-cont{border:1px solid #ecf0f1}.dtpicker-mobile .dtpicker-cont{position:relative;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-o-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);border:none}.dtpicker-content{margin:0 auto;padding:1em 0;max-width:500px;background:#fff}.dtpicker-mobile .dtpicker-content{width:97%}.dtpicker-subcontent{position:relative}.dtpicker-header{margin:.2em 1em}.dtpicker-header .dtpicker-title{color:#2980b9;text-align:center;font-size:1.1em}.dtpicker-header .dtpicker-close{position:absolute;top:-.7em;right:.3em;padding:.5em .5em 1em 1em;color:#ff3b30;font-size:1.5em;cursor:pointer}.dtpicker-header .dtpicker-close:hover{color:#ff3b30}.dtpicker-header .dtpicker-value{padding:.8em .2em .2em .2em;color:#ff3b30;text-align:center;font-size:1.4em}.dtpicker-components{overflow:hidden;margin:1em 1em;font-size:1.3em}.dtpicker-components *{margin:0;padding:0}.dtpicker-components .dtpicker-compOutline{display:inline-block;float:left}.dtpicker-comp2{width:50%}.dtpicker-comp3{width:33.3%}.dtpicker-comp4{width:25%}.dtpicker-comp5{width:20%}.dtpicker-comp6{width:16.66%}.dtpicker-comp7{width:14.285%}.dtpicker-components .dtpicker-comp{margin:2%;text-align:center}.dtpicker-components .dtpicker-comp>*{display:block;height:30px;color:#2980b9;text-align:center;line-height:30px}.dtpicker-components .dtpicker-comp>:hover{color:#2980b9}.dtpicker-components .dtpicker-compButtonEnable{opacity:1}.dtpicker-components .dtpicker-compButtonDisable{opacity:.5}.dtpicker-components .dtpicker-compButton{background:#fff;font-size:140%;cursor:pointer}.dtpicker-components .dtpicker-compValue{margin:.4em 0;width:100%;border:none;background:#fff;font-size:100%;-webkit-appearance:none;-moz-appearance:none}.dtpicker-overlay .dtpicker-compValue:focus{outline:0;background:#f2fcff}.dtpicker-buttonCont{overflow:hidden;margin:.2em 1em}.dtpicker-buttonCont .dtpicker-button{display:block;padding:.6em 0;width:47%;background:#ff3b30;color:#fff;text-align:center;font-size:1.3em;cursor:pointer}.dtpicker-buttonCont .dtpicker-button:hover{color:#fff}.dtpicker-singleButton .dtpicker-button{margin:.2em auto}.dtpicker-twoButtons .dtpicker-buttonSet{float:left}.dtpicker-twoButtons .dtpicker-buttonClear{float:right}/*
* Bootstrap TouchSpin - v3.0.1
* A mobile and touch friendly input spinner component for Bootstrap 3.
* http://www.virtuosoft.eu/code/bootstrap-touchspin/

View File

@ -25,6 +25,8 @@ return array (
'events' => 'Events',
'google_analytics_code' => 'Google Analytics Code',
'google_analytics_code_placeholder' => 'UA-XXXXX-X',
'google_tag_manager_code' => 'Google Tag Manager Code',
'google_tag_manager_code_placeholder' => 'GTM-XXXXX',
'header_background_color' => 'Header Background Color',
'hide_additional_organiser_options' => 'Hide Additional Organiser Options',
'make_organiser_hidden' => 'Hide organiser page from the public.',

View File

@ -190,6 +190,18 @@
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
{!! Form::label('google_tag_manager_code', trans("Organiser.google_tag_manager_code"), ['class'=>'control-label']) !!}
{!! Form::text('google_tag_manager_code', Input::old('google_tag_manager_code'), [
'class'=>'form-control',
'placeholder' => trans("Organiser.google_tag_manager_code_placeholder"),
])
!!}
</div>
</div>
</div>
</div>
<div class="col-md-12">

View File

@ -137,6 +137,14 @@
))
!!}
</div>
<div class="form-group">
{!! Form::label('google_tag_manager_code', trans("Organiser.google_tag_manager_code"), ['class'=>'control-label']) !!}
{!! Form::text('google_tag_manager_code', Input::old('google_tag_manager_code'), [
'class'=>'form-control',
'placeholder' => trans("Organiser.google_tag_manager_code_placeholder"),
])
!!}
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">

View File

@ -1,5 +1,9 @@
@extends('Public.ViewEvent.Layouts.EventPage')
@section('head')
@include('Public.ViewEvent.Partials.GoogleTagManager')
@endsection
@section('content')
@include('Public.ViewEvent.Partials.EventHeaderSection')
@include('Public.ViewEvent.Partials.EventTicketsSection')

View File

@ -0,0 +1,18 @@
<?php
$gtm_code = '';
if (empty($event->google_tag_manager_code) === false) {
$gtm_code = $event->google_tag_manager_code;
} elseif (empty($event->organiser->google_tag_manager_code) === false) {
$gtm_code = $event->organiser->google_tag_manager_code;
}
?>
@if(empty($gtm_code) === false)
<!-- Google Tag Manager -->
<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=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','{{ $gtm_code }}');</script>
<!-- End Google Tag Manager -->
@endif