- Started work on customizable ticket design (issue #18)

This commit is contained in:
Dave 2016-03-10 00:41:34 +00:00
parent 84d32e177b
commit 2a84357bec
8 changed files with 612 additions and 49 deletions

View File

@ -9,15 +9,16 @@ use Input;
use Response;
use Validator;
use View;
use Illuminate\Http\Request;
class EventCustomizeController extends MyBaseController
{
public function showCustomize($event_id = '', $tab = '')
{
$data = $this->getEventViewData($event_id, [
'available_bg_images' => $this->getAvailableBackgroundImages(),
'available_bg_images' => $this->getAvailableBackgroundImages(),
'available_bg_images_thumbs' => $this->getAvailableBackgroundImagesThumbs(),
'tab' => $tab,
'tab' => $tab,
]);
return View::make('ManageEvent.Customize', $data);
@ -27,7 +28,7 @@ class EventCustomizeController extends MyBaseController
{
$images = [];
$files = File::files(public_path().'/'.config('attendize.event_bg_images'));
$files = File::files(public_path() . '/' . config('attendize.event_bg_images'));
foreach ($files as $image) {
$images[] = str_replace(public_path(), '', $image);
@ -40,7 +41,7 @@ class EventCustomizeController extends MyBaseController
{
$images = [];
$files = File::files(public_path().'/'.config('attendize.event_bg_images').'/thumbs');
$files = File::files(public_path() . '/' . config('attendize.event_bg_images') . '/thumbs');
foreach ($files as $image) {
$images[] = str_replace(public_path(), '', $image);
@ -49,28 +50,30 @@ class EventCustomizeController extends MyBaseController
return $images;
}
public function postEditEventSocial($event_id)
public function postEditEventTicketSocial($event_id)
{
$event = Event::scope()->findOrFail($event_id);
$rules = [
'social_share_text' => ['max:3000'],
'social_show_facebook' => ['boolean'],
'social_show_twitter' => ['boolean'],
'social_show_linkedin' => ['boolean'],
'social_show_email' => ['boolean'],
'social_share_text' => ['max:3000'],
'social_show_facebook' => ['boolean'],
'social_show_twitter' => ['boolean'],
'social_show_linkedin' => ['boolean'],
'social_show_email' => ['boolean'],
'social_show_googleplus' => ['boolean'],
];
$messages = [
'social_share_text.max' => 'Please keep the shate text under 3000 characters.',
'social_share_text.max' => 'Please keep the shate text under 3000 characters.',
];
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) {
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray(),
'status' => 'error',
'messages' => $validator->messages()->toArray(),
]);
}
@ -83,8 +86,54 @@ class EventCustomizeController extends MyBaseController
$event->save();
return Response::json([
'status' => 'success',
'message' => 'Social Settings Succesfully Upated',
'status' => 'success',
'message' => 'Social Settings Succesfully Upated',
]);
}
/**
* Update ticket details
*
* @param Request $request
* @param $event_id
* @return mixed
*/
public function postEditEventTicketDesign(Request $request, $event_id)
{
$event = Event::scope()->findOrFail($event_id);
$rules = [
//'barcode_type' => ['required'],
'ticket_border_color' => ['required'],
'ticket_bg_color' => ['required'],
'ticket_text_color' => ['required'],
'ticket_sub_text_color' => ['required'],
];
$messages = [
'ticket_bg_color.required' => 'Please enter a background color.',
];
$validator = Validator::make($request->all(), $rules, $messages);
if ($validator->fails()) {
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray(),
]);
}
$event->barcode_type = $request->get('barcode_type');
$event->ticket_border_color = $request->get('ticket_border_color');
$event->ticket_bg_color = $request->get('ticket_bg_color');
$event->ticket_text_color = $request->get('ticket_text_color');
$event->ticket_sub_text_color = $request->get('ticket_sub_text_color');
$event->save();
return response()->json([
'status' => 'success',
'message' => 'Ticket Settings Updated',
]);
}
@ -94,20 +143,20 @@ class EventCustomizeController extends MyBaseController
$rules = [
'organiser_fee_percentage' => ['numeric', 'between:0,100'],
'organiser_fee_fixed' => ['numeric', 'between:0,100'],
'organiser_fee_fixed' => ['numeric', 'between:0,100'],
];
$messages = [
'organiser_fee_percentage.numeric' => 'Please enter a value between 0 and 100',
'organiser_fee_fixed.numeric' => 'Please check the format. It shoud be in the format 0.00.',
'organiser_fee_fixed.between' => 'Please enter a value between 0 and 100.',
'organiser_fee_percentage.numeric' => 'Please enter a value between 0 and 100',
'organiser_fee_fixed.numeric' => 'Please check the format. It shoud be in the format 0.00.',
'organiser_fee_fixed.between' => 'Please enter a value between 0 and 100.',
];
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) {
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray(),
'status' => 'error',
'messages' => $validator->messages()->toArray(),
]);
}
@ -116,8 +165,8 @@ class EventCustomizeController extends MyBaseController
$event->save();
return Response::json([
'status' => 'success',
'message' => 'Order Page Succesfully Upated',
'status' => 'success',
'message' => 'Order Page Succesfully Upated',
]);
}
@ -133,8 +182,8 @@ class EventCustomizeController extends MyBaseController
if ($validator->fails()) {
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray(),
'status' => 'error',
'messages' => $validator->messages()->toArray(),
]);
}
@ -144,8 +193,8 @@ class EventCustomizeController extends MyBaseController
$event->save();
return Response::json([
'status' => 'success',
'message' => 'Order Page Succesfully Upated',
'status' => 'success',
'message' => 'Order Page Successfully Upated',
]);
}
@ -158,15 +207,15 @@ class EventCustomizeController extends MyBaseController
];
$messages = [
'bg_image_path.mimes' => 'Please ensure you are uploading an image (JPG, PNG, JPEG)',
'bg_image_path.max' => 'Pleae ensure the image is not larger than 2.5MB',
'bg_image_path.max' => 'Please ensure the image is not larger than 2.5MB',
];
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) {
return Response::json([
'status' => 'error',
'messages' => $validator->messages()->toArray(),
'status' => 'error',
'messages' => $validator->messages()->toArray(),
]);
}
@ -184,10 +233,10 @@ class EventCustomizeController extends MyBaseController
* Not in use for now.
*/
if (Input::hasFile('bg_image_path') && Input::get('bg_type') == 'custom_image') {
$path = public_path().'/'.config('attendize.event_images_path');
$filename = 'event_bg-'.md5($event->id).'.'.strtolower(Input::file('bg_image_path')->getClientOriginalExtension());
$path = public_path() . '/' . config('attendize.event_images_path');
$filename = 'event_bg-' . md5($event->id) . '.' . strtolower(Input::file('bg_image_path')->getClientOriginalExtension());
$file_full_path = $path.'/'.$filename;
$file_full_path = $path . '/' . $filename;
Input::file('bg_image_path')->move($path, $filename);
@ -200,18 +249,18 @@ class EventCustomizeController extends MyBaseController
$img->save($file_full_path, 75);
$event->bg_image_path = config('attendize.event_images_path').'/'.$filename;
$event->bg_image_path = config('attendize.event_images_path') . '/' . $filename;
$event->bg_type = 'custom_image';
\Storage::put(config('attendize.event_images_path').'/'.$filename, file_get_contents($file_full_path));
\Storage::put(config('attendize.event_images_path') . '/' . $filename, file_get_contents($file_full_path));
}
$event->save();
return Response::json([
'status' => 'success',
'message' => 'Event Page Succesfully Upated',
'runThis' => 'document.getElementById(\'previewIframe\').contentWindow.location.reload(true);',
'status' => 'success',
'message' => 'Event Page Succesfully Upated',
'runThis' => 'document.getElementById(\'previewIframe\').contentWindow.location.reload(true);',
]);
}
}

View File

@ -54,7 +54,7 @@ class OrganiserCustomizeController extends MyBaseController
$file_name = str_slug($organiser->name).'-logo-'.$organiser->id.'.'.strtolower(Input::file('organiser_logo')->getClientOriginalExtension());
$relative_path_to_file = config('attendize.organiser_images_path').'/'.$file_name;
$full_path_to_file = public_path().'/'.$relative_path_to_file;
$full_path_to_file = public_path($relative_path_to_file);
$img = Image::make($the_file);

View File

@ -532,6 +532,10 @@ Route::group(['middleware' => ['auth', 'first.run']], function () {
'as' => 'postEditEventDesign',
'uses' => 'EventCustomizeController@postEditEventDesign',
]);
Route::post('{event_id}/customize/ticket_design', [
'as' => 'postEditEventTicketDesign',
'uses' => 'EventCustomizeController@postEditEventTicketDesign',
]);
Route::post('{event_id}/customize/social', [
'as' => 'postEditEventSocial',
'uses' => 'EventCustomizeController@postEditEventSocial',

View File

@ -26,9 +26,9 @@ return [
'app_name' => 'Attendize Event Ticketing',
'event_default_bg_color' => '#B23333',
'event_images_path' => 'user_content/event_images/',
'organiser_images_path' => 'user_content/organiser_images/',
'event_pdf_tickets_path' => 'user_content/pdf_tickets/',
'event_images_path' => 'user_content/event_images',
'organiser_images_path' => 'user_content/organiser_images',
'event_pdf_tickets_path' => 'user_content/pdf_tickets',
'event_bg_images' => 'assets/images/public/EventPage/backgrounds',
'fallback_organiser_logo_url' => '/assets/images/logo-100x100-lightBg.png',

View File

@ -0,0 +1,44 @@
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddTicketDesignOptions extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('events', function (Blueprint $table) {
/*
* @see https://github.com/milon/barcode
*/
$table->string('barcode_type', 10)->default('QRCODE');
$table->string('ticket_border_color', 10)->default('#000000');
$table->string('ticket_bg_color', 10)->default('#FFFFFF');
$table->string('ticket_text_color', 10)->default('#000000');
$table->string('ticket_sub_text_color', 10)->default('#999999');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('events', function (Blueprint $table) {
$table->dropColumn([
'barcode_type',
'ticket_border_color',
'ticket_bg_color',
'ticket_text_color',
'ticket_sub_text_color'
]);
});
}
}

View File

@ -179,6 +179,8 @@
data-toggle="tab">Affiliates</a></li>
<li data-route="{{route('showEventCustomizeTab', ['event_id' => $event->id, 'tab' => 'fees'])}}"
class="{{$tab == 'fees' ? 'active' : ''}}"><a href="#fees" data-toggle="tab">Service Fees</a></li>
<li data-route="{{route('showEventCustomizeTab', ['event_id' => $event->id, 'tab' => 'ticket_design'])}}"
class="{{$tab == 'ticket_design' ? 'active' : ''}}"><a href="#ticket_design" data-toggle="tab">Ticket Design</a></li>
<li data-route="{{route('showEventCustomizeTab', ['event_id' => $event->id, 'tab' => 'embed'])}}"
class="{{$tab == 'embed' ? 'active' : ''}}"><a href="#embed" data-toggle="tab">Website Embed
Code</a></li>
@ -572,6 +574,67 @@
</div>
<div class="tab-pane {{$tab == 'ticket_design' ? 'active' : ''}}" id="ticket_design">
{!! Form::model($event, array('url' => route('postEditEventTicketDesign', ['event_id' => $event->id]), 'class' => 'ajax ')) !!}
<div class="row">
<div class="col-md-6">
<h4>
Ticket Design
</h4>
<div class="form-group">
{!! Form::label('name', 'Ticket Border Color', ['class'=>'control-label required ']) !!}
{!! Form::input('color', 'ticket_border_color', Input::old('ticket_border_color'),
[
'class'=>'form-control',
'placeholder'=>'#000000'
]) !!}
</div>
<div class="form-group">
{!! Form::label('name', 'Ticket Background Color', ['class'=>'control-label required ']) !!}
{!! Form::input('color', 'ticket_bg_color', Input::old('ticket_bg_color'),
[
'class'=>'form-control',
'placeholder'=>'#FFFFFF'
]) !!}
</div>
<div class="form-group">
{!! Form::label('name', 'Ticket Text Color', ['class'=>'control-label required ']) !!}
{!! Form::input('color', 'ticket_text_color', Input::old('ticket_text_color'),
[
'class'=>'form-control',
'placeholder'=>'#000000'
]) !!}
</div>
<div class="form-group">
{!! Form::label('name', 'Ticket Sub Text Color', ['class'=>'control-label required ']) !!}
{!! Form::input('color', 'ticket_sub_text_color', Input::old('ticket_border_color'),
[
'class'=>'form-control',
'placeholder'=>'#000000'
]) !!}
</div>
</div>
<div class="col-md-6">
<h4>
Ticket Preview
</h4>
@include('ManageEvent.Partials.TicketDesignPreview')
</div>
</div>
<div class="panel-footer mt15 text-right">
{!! Form::submit('Save Changes', ['class'=>"btn btn-success"]) !!}
</div>
{!! Form::close() !!}
</div>
<div class="tab-pane {{$tab == 'embed' ? 'active' : ''}}" id="embed">
<div class="row">

View File

@ -0,0 +1,403 @@
<style>
.ticket {
/*page-break-after: always;*/
padding: 10px;
border: 1px solid {{$event->ticket_border_color}};
width: 700px;
margin: 0 auto;
margin-top: 20px;
background: {{$event->ticket_bg_color}};
position: relative;
height: 330px;
font-size: 12px;
color: {{$event->ticket_sub_text_color}};
border-left-width: 3px;
border-left-color: {{$event->ticket_border_color}};
overflow: hidden;
zoom: .6;
-moz-transform: scale(.6);
}
.ticket table {
width: 100%;
}
.ticket h1 {
margin-bottom: 5px;
margin-top: 0px;
}
.ticket hr {
border: none;
border-bottom: 1px solid #ccc;
margin: 5px 0;
}
.ticket .barcode {
width: 150px;
height: 150px;
position: absolute;
left: 1px;
bottom: 85px;
overflow: hidden;
padding: 10px;
border: 1px solid #000;
border-left: none;
background-color: #fdfdfd;
}
.ticket .barcode_vertical
{
position: absolute;
right: -40px;
-webkit-transform: rotate(90deg);
top: 171px;
}
.ticket .top_barcode {
margin-bottom: 15px;
}
.ticket h4 {
font-size: 17px;
margin: 6px auto;
text-transform: uppercase;
color: {{$event->ticket_text_color}};
}
.ticket .event_details, .ticket .attendee_details {
position: absolute;
top: 15px;
}
.ticket .event_details {
left: 175px;
overflow: hidden;
max-width: 210px;
white-space: nowrap;
text-overflow: ellipsis;
top: 50px;
}
.ticket .attendee_details {
left: 390px;
overflow: hidden;
max-width: 195px;
white-space: nowrap;
text-overflow: ellipsis;
top: 50px;
}
.ticket .logo {
position: absolute;
right: 1px;
top: 1px;
border: 1px solid {{$event->ticket_border_color}};
border-top: none;
border-right: none;
padding: 5px;
background-color: #fdfdfd;
text-align: center;
}
.ticket .logo img {
max-width: 110px;
}
</style>
<div class="ticket">
<div class="logo">
<!-- <img src="http://dev.attendize.com/assets/images/logo-100x100-lightBg.png" />-->
<img src="http://dev.attendize.com/user_content/organiser_images/billy-ray-eventd-logo-48.jpg">
</div>
<div class="event_details">
<div class="top_barcode hide">
<img src="data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAAoAQMAAAArNLbKAAAABlBMVEX///8AAABVwtN+AAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAACRJREFUOI1j+MDw4T8QAgEDkPyPoKHiDKMKRhWMKhhVMLIVAADLdiz9/f0dNQAAAABJRU5ErkJggg==" alt="barcode">
</div>
<h4>Event</h4>Demo Event<h4>Organiser</h4>Demo Organiser<h4>Venue</h4>Demo Location<h4>Start Date / Time</h4>
Mar 18th 4:08PM
<h4>End Date / Time</h4>
Mar 18th 5:08PM
</div>
<div class="attendee_details">
<h4>Name</h4>Bill Blogs<h4>Ticket Type</h4>
General Admission
<h4>Order Ref.</h4>
#YLY9U73
<h4>Attendee Ref.</h4>
#YLY9U73-1
<h4>Price</h4>
€XX.XX
</div>
<div class="barcode">
<!--?xml version="1.0" standalone="no"?-->
<svg width="126" height="126" version="1.1" xmlns="http://www.w3.org/2000/svg">
<desc>236434278</desc>
<g id="elements" fill="black" stroke="none">
<rect x="0" y="0" width="6" height="6"></rect>
<rect x="6" y="0" width="6" height="6"></rect>
<rect x="12" y="0" width="6" height="6"></rect>
<rect x="18" y="0" width="6" height="6"></rect>
<rect x="24" y="0" width="6" height="6"></rect>
<rect x="30" y="0" width="6" height="6"></rect>
<rect x="36" y="0" width="6" height="6"></rect>
<rect x="72" y="0" width="6" height="6"></rect>
<rect x="84" y="0" width="6" height="6"></rect>
<rect x="90" y="0" width="6" height="6"></rect>
<rect x="96" y="0" width="6" height="6"></rect>
<rect x="102" y="0" width="6" height="6"></rect>
<rect x="108" y="0" width="6" height="6"></rect>
<rect x="114" y="0" width="6" height="6"></rect>
<rect x="120" y="0" width="6" height="6"></rect>
<rect x="0" y="6" width="6" height="6"></rect>
<rect x="36" y="6" width="6" height="6"></rect>
<rect x="60" y="6" width="6" height="6"></rect>
<rect x="72" y="6" width="6" height="6"></rect>
<rect x="84" y="6" width="6" height="6"></rect>
<rect x="120" y="6" width="6" height="6"></rect>
<rect x="0" y="12" width="6" height="6"></rect>
<rect x="12" y="12" width="6" height="6"></rect>
<rect x="18" y="12" width="6" height="6"></rect>
<rect x="24" y="12" width="6" height="6"></rect>
<rect x="36" y="12" width="6" height="6"></rect>
<rect x="60" y="12" width="6" height="6"></rect>
<rect x="66" y="12" width="6" height="6"></rect>
<rect x="72" y="12" width="6" height="6"></rect>
<rect x="84" y="12" width="6" height="6"></rect>
<rect x="96" y="12" width="6" height="6"></rect>
<rect x="102" y="12" width="6" height="6"></rect>
<rect x="108" y="12" width="6" height="6"></rect>
<rect x="120" y="12" width="6" height="6"></rect>
<rect x="0" y="18" width="6" height="6"></rect>
<rect x="12" y="18" width="6" height="6"></rect>
<rect x="18" y="18" width="6" height="6"></rect>
<rect x="24" y="18" width="6" height="6"></rect>
<rect x="36" y="18" width="6" height="6"></rect>
<rect x="48" y="18" width="6" height="6"></rect>
<rect x="60" y="18" width="6" height="6"></rect>
<rect x="72" y="18" width="6" height="6"></rect>
<rect x="84" y="18" width="6" height="6"></rect>
<rect x="96" y="18" width="6" height="6"></rect>
<rect x="102" y="18" width="6" height="6"></rect>
<rect x="108" y="18" width="6" height="6"></rect>
<rect x="120" y="18" width="6" height="6"></rect>
<rect x="0" y="24" width="6" height="6"></rect>
<rect x="12" y="24" width="6" height="6"></rect>
<rect x="18" y="24" width="6" height="6"></rect>
<rect x="24" y="24" width="6" height="6"></rect>
<rect x="36" y="24" width="6" height="6"></rect>
<rect x="48" y="24" width="6" height="6"></rect>
<rect x="54" y="24" width="6" height="6"></rect>
<rect x="72" y="24" width="6" height="6"></rect>
<rect x="84" y="24" width="6" height="6"></rect>
<rect x="96" y="24" width="6" height="6"></rect>
<rect x="102" y="24" width="6" height="6"></rect>
<rect x="108" y="24" width="6" height="6"></rect>
<rect x="120" y="24" width="6" height="6"></rect>
<rect x="0" y="30" width="6" height="6"></rect>
<rect x="36" y="30" width="6" height="6"></rect>
<rect x="54" y="30" width="6" height="6"></rect>
<rect x="66" y="30" width="6" height="6"></rect>
<rect x="84" y="30" width="6" height="6"></rect>
<rect x="120" y="30" width="6" height="6"></rect>
<rect x="0" y="36" width="6" height="6"></rect>
<rect x="6" y="36" width="6" height="6"></rect>
<rect x="12" y="36" width="6" height="6"></rect>
<rect x="18" y="36" width="6" height="6"></rect>
<rect x="24" y="36" width="6" height="6"></rect>
<rect x="30" y="36" width="6" height="6"></rect>
<rect x="36" y="36" width="6" height="6"></rect>
<rect x="48" y="36" width="6" height="6"></rect>
<rect x="60" y="36" width="6" height="6"></rect>
<rect x="72" y="36" width="6" height="6"></rect>
<rect x="84" y="36" width="6" height="6"></rect>
<rect x="90" y="36" width="6" height="6"></rect>
<rect x="96" y="36" width="6" height="6"></rect>
<rect x="102" y="36" width="6" height="6"></rect>
<rect x="108" y="36" width="6" height="6"></rect>
<rect x="114" y="36" width="6" height="6"></rect>
<rect x="120" y="36" width="6" height="6"></rect>
<rect x="0" y="48" width="6" height="6"></rect>
<rect x="6" y="48" width="6" height="6"></rect>
<rect x="30" y="48" width="6" height="6"></rect>
<rect x="36" y="48" width="6" height="6"></rect>
<rect x="42" y="48" width="6" height="6"></rect>
<rect x="66" y="48" width="6" height="6"></rect>
<rect x="96" y="48" width="6" height="6"></rect>
<rect x="102" y="48" width="6" height="6"></rect>
<rect x="6" y="54" width="6" height="6"></rect>
<rect x="12" y="54" width="6" height="6"></rect>
<rect x="18" y="54" width="6" height="6"></rect>
<rect x="24" y="54" width="6" height="6"></rect>
<rect x="48" y="54" width="6" height="6"></rect>
<rect x="66" y="54" width="6" height="6"></rect>
<rect x="72" y="54" width="6" height="6"></rect>
<rect x="78" y="54" width="6" height="6"></rect>
<rect x="84" y="54" width="6" height="6"></rect>
<rect x="90" y="54" width="6" height="6"></rect>
<rect x="108" y="54" width="6" height="6"></rect>
<rect x="114" y="54" width="6" height="6"></rect>
<rect x="0" y="60" width="6" height="6"></rect>
<rect x="18" y="60" width="6" height="6"></rect>
<rect x="30" y="60" width="6" height="6"></rect>
<rect x="36" y="60" width="6" height="6"></rect>
<rect x="48" y="60" width="6" height="6"></rect>
<rect x="54" y="60" width="6" height="6"></rect>
<rect x="60" y="60" width="6" height="6"></rect>
<rect x="72" y="60" width="6" height="6"></rect>
<rect x="78" y="60" width="6" height="6"></rect>
<rect x="84" y="60" width="6" height="6"></rect>
<rect x="90" y="60" width="6" height="6"></rect>
<rect x="102" y="60" width="6" height="6"></rect>
<rect x="0" y="66" width="6" height="6"></rect>
<rect x="6" y="66" width="6" height="6"></rect>
<rect x="12" y="66" width="6" height="6"></rect>
<rect x="24" y="66" width="6" height="6"></rect>
<rect x="48" y="66" width="6" height="6"></rect>
<rect x="54" y="66" width="6" height="6"></rect>
<rect x="66" y="66" width="6" height="6"></rect>
<rect x="72" y="66" width="6" height="6"></rect>
<rect x="96" y="66" width="6" height="6"></rect>
<rect x="108" y="66" width="6" height="6"></rect>
<rect x="120" y="66" width="6" height="6"></rect>
<rect x="6" y="72" width="6" height="6"></rect>
<rect x="12" y="72" width="6" height="6"></rect>
<rect x="24" y="72" width="6" height="6"></rect>
<rect x="30" y="72" width="6" height="6"></rect>
<rect x="36" y="72" width="6" height="6"></rect>
<rect x="48" y="72" width="6" height="6"></rect>
<rect x="54" y="72" width="6" height="6"></rect>
<rect x="66" y="72" width="6" height="6"></rect>
<rect x="72" y="72" width="6" height="6"></rect>
<rect x="90" y="72" width="6" height="6"></rect>
<rect x="96" y="72" width="6" height="6"></rect>
<rect x="114" y="72" width="6" height="6"></rect>
<rect x="120" y="72" width="6" height="6"></rect>
<rect x="48" y="78" width="6" height="6"></rect>
<rect x="60" y="78" width="6" height="6"></rect>
<rect x="72" y="78" width="6" height="6"></rect>
<rect x="84" y="78" width="6" height="6"></rect>
<rect x="90" y="78" width="6" height="6"></rect>
<rect x="96" y="78" width="6" height="6"></rect>
<rect x="102" y="78" width="6" height="6"></rect>
<rect x="108" y="78" width="6" height="6"></rect>
<rect x="114" y="78" width="6" height="6"></rect>
<rect x="120" y="78" width="6" height="6"></rect>
<rect x="0" y="84" width="6" height="6"></rect>
<rect x="6" y="84" width="6" height="6"></rect>
<rect x="12" y="84" width="6" height="6"></rect>
<rect x="18" y="84" width="6" height="6"></rect>
<rect x="24" y="84" width="6" height="6"></rect>
<rect x="30" y="84" width="6" height="6"></rect>
<rect x="36" y="84" width="6" height="6"></rect>
<rect x="48" y="84" width="6" height="6"></rect>
<rect x="66" y="84" width="6" height="6"></rect>
<rect x="90" y="84" width="6" height="6"></rect>
<rect x="0" y="90" width="6" height="6"></rect>
<rect x="36" y="90" width="6" height="6"></rect>
<rect x="48" y="90" width="6" height="6"></rect>
<rect x="54" y="90" width="6" height="6"></rect>
<rect x="60" y="90" width="6" height="6"></rect>
<rect x="84" y="90" width="6" height="6"></rect>
<rect x="96" y="90" width="6" height="6"></rect>
<rect x="108" y="90" width="6" height="6"></rect>
<rect x="114" y="90" width="6" height="6"></rect>
<rect x="120" y="90" width="6" height="6"></rect>
<rect x="0" y="96" width="6" height="6"></rect>
<rect x="12" y="96" width="6" height="6"></rect>
<rect x="18" y="96" width="6" height="6"></rect>
<rect x="24" y="96" width="6" height="6"></rect>
<rect x="36" y="96" width="6" height="6"></rect>
<rect x="54" y="96" width="6" height="6"></rect>
<rect x="66" y="96" width="6" height="6"></rect>
<rect x="102" y="96" width="6" height="6"></rect>
<rect x="120" y="96" width="6" height="6"></rect>
<rect x="0" y="102" width="6" height="6"></rect>
<rect x="12" y="102" width="6" height="6"></rect>
<rect x="18" y="102" width="6" height="6"></rect>
<rect x="24" y="102" width="6" height="6"></rect>
<rect x="36" y="102" width="6" height="6"></rect>
<rect x="54" y="102" width="6" height="6"></rect>
<rect x="66" y="102" width="6" height="6"></rect>
<rect x="72" y="102" width="6" height="6"></rect>
<rect x="78" y="102" width="6" height="6"></rect>
<rect x="84" y="102" width="6" height="6"></rect>
<rect x="90" y="102" width="6" height="6"></rect>
<rect x="96" y="102" width="6" height="6"></rect>
<rect x="102" y="102" width="6" height="6"></rect>
<rect x="108" y="102" width="6" height="6"></rect>
<rect x="0" y="108" width="6" height="6"></rect>
<rect x="12" y="108" width="6" height="6"></rect>
<rect x="18" y="108" width="6" height="6"></rect>
<rect x="24" y="108" width="6" height="6"></rect>
<rect x="36" y="108" width="6" height="6"></rect>
<rect x="54" y="108" width="6" height="6"></rect>
<rect x="66" y="108" width="6" height="6"></rect>
<rect x="72" y="108" width="6" height="6"></rect>
<rect x="78" y="108" width="6" height="6"></rect>
<rect x="90" y="108" width="6" height="6"></rect>
<rect x="96" y="108" width="6" height="6"></rect>
<rect x="102" y="108" width="6" height="6"></rect>
<rect x="108" y="108" width="6" height="6"></rect>
<rect x="114" y="108" width="6" height="6"></rect>
<rect x="120" y="108" width="6" height="6"></rect>
<rect x="0" y="114" width="6" height="6"></rect>
<rect x="36" y="114" width="6" height="6"></rect>
<rect x="48" y="114" width="6" height="6"></rect>
<rect x="54" y="114" width="6" height="6"></rect>
<rect x="66" y="114" width="6" height="6"></rect>
<rect x="72" y="114" width="6" height="6"></rect>
<rect x="78" y="114" width="6" height="6"></rect>
<rect x="84" y="114" width="6" height="6"></rect>
<rect x="90" y="114" width="6" height="6"></rect>
<rect x="96" y="114" width="6" height="6"></rect>
<rect x="108" y="114" width="6" height="6"></rect>
<rect x="0" y="120" width="6" height="6"></rect>
<rect x="6" y="120" width="6" height="6"></rect>
<rect x="12" y="120" width="6" height="6"></rect>
<rect x="18" y="120" width="6" height="6"></rect>
<rect x="24" y="120" width="6" height="6"></rect>
<rect x="30" y="120" width="6" height="6"></rect>
<rect x="36" y="120" width="6" height="6"></rect>
<rect x="48" y="120" width="6" height="6"></rect>
<rect x="54" y="120" width="6" height="6"></rect>
<rect x="60" y="120" width="6" height="6"></rect>
<rect x="72" y="120" width="6" height="6"></rect>
<rect x="90" y="120" width="6" height="6"></rect>
<rect x="102" y="120" width="6" height="6"></rect>
<rect x="114" y="120" width="6" height="6"></rect>
</g>
</svg>
</div>
<div class="barcode_vertical">
<!--?xml version="1.0" standalone="no"?-->
<svg width="20" height="40" version="1.1" xmlns="http://www.w3.org/2000/svg">
<desc>236434278</desc>
<g id="bars" fill="black" stroke="none">
<rect x="0" y="0" width="1" height="40"></rect>
<rect x="2" y="0" width="2" height="40"></rect>
<rect x="6" y="0" width="2" height="40"></rect>
<rect x="9" y="0" width="2" height="40"></rect>
<rect x="12" y="0" width="1" height="40"></rect>
<rect x="14" y="0" width="4" height="40"></rect>
<rect x="19" y="0" width="1" height="40"></rect>
</g>
</svg>
</div>
</div>

View File

@ -2,7 +2,7 @@
<!-- Keep this page lean as possible.-->
<head>
<title>
Tickets
Ticket(s)
</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0">
@ -25,17 +25,17 @@
.ticket {
/*page-break-after: always;*/
padding: 10px;
border: 1px solid #000;
border: 1px solid {{$event->ticket_border_color}};
width: 700px;
margin: 0 auto;
margin-top: 20px;
background: #ffffff;
background: {{$event->ticket_bg_color}};
position: relative;
height: 330px;
font-size: 12px;
color: #999999;
color: {{$event->ticket_sub_text_color}};
border-left-width: 3px;
border-left-color: #000;
border-left-color: {{$event->ticket_border_color}};
overflow: hidden;
}
@ -84,7 +84,7 @@
font-size: 17px;
margin: 6px auto;
text-transform: uppercase;
color: #000000;
color: {{$event->ticket_text_color}};
}
@ -114,7 +114,7 @@
position: absolute;
right: 1px;
top: 1px;
border: 1px solid #000;
border: 1px solid {{$event->ticket_border_color}};
border-top: none;
border-right: none;
padding: 5px;