Simple Calendar – Google Calendar Plugin - Version 3.1.15

Version Description

  • May 22, 2018 =
  • Fix: Issue with jQuery $.ajax call parameter compatibility with older versions of jQuery.
  • Fix: Issue with Google API feed sorting not showing correct events in list view.
  • Fix: Issue with duplicate default calendar JSON data being output.
Download this release

Release Info

Developer simplecalendar
Plugin Icon 128x128 Simple Calendar – Google Calendar Plugin
Version 3.1.15
Comparing to
See all releases

Code changes from version 3.1.14 to 3.1.15

assets/css/admin-add-calendar.min.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! Simple Calendar - 3.1.14
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
1
+ /*! Simple Calendar - 3.1.15
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
assets/css/admin.min.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! Simple Calendar - 3.1.14
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
1
+ /*! Simple Calendar - 3.1.15
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
assets/css/default-calendar-grid.min.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! Simple Calendar - 3.1.14
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
1
+ /*! Simple Calendar - 3.1.15
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
assets/css/default-calendar-list.min.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! Simple Calendar - 3.1.14
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
1
+ /*! Simple Calendar - 3.1.15
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
assets/js/admin-add-calendar.min.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Simple Calendar - 3.1.14
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
1
+ /*! Simple Calendar - 3.1.15
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
assets/js/admin.min.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Simple Calendar - 3.1.14
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
1
+ /*! Simple Calendar - 3.1.15
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
assets/js/default-calendar.js CHANGED
@@ -64,7 +64,7 @@
64
 
65
  $.ajax({
66
  url : simcal_default_calendar.ajax_url,
67
- method : 'POST',
68
  dataType : 'json',
69
  cache : false,
70
  data : {
@@ -109,7 +109,7 @@
109
 
110
  $.ajax( {
111
  url : simcal_default_calendar.ajax_url,
112
- method : 'POST',
113
  dataType : 'json',
114
  cache : false,
115
  data : {
64
 
65
  $.ajax({
66
  url : simcal_default_calendar.ajax_url,
67
+ type : 'POST',
68
  dataType : 'json',
69
  cache : false,
70
  data : {
109
 
110
  $.ajax( {
111
  url : simcal_default_calendar.ajax_url,
112
+ type : 'POST',
113
  dataType : 'json',
114
  cache : false,
115
  data : {
assets/js/default-calendar.min.js CHANGED
@@ -1,6 +1,6 @@
1
- /*! Simple Calendar - 3.1.14
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
5
 
6
- !function(a,b){"use strict";jQuery(function(b){function c(a,c,d,e){a.each(function(a,f){var g=b(f),h=new Date(1e3*c);g.hasClass("simcal-prev")?(h=new Date(h.setMonth(h.getMonth(),1)),h.setDate(0),h.getTime()/1e3<=d?g.attr("disabled","disabled"):g.removeAttr("disabled")):(h=new Date(h.setMonth(h.getMonth()+1,1)),h.setDate(0),h.setHours(23),h.setMinutes(59),h.setSeconds(59),h.getTime()/1e3>=e?g.attr("disabled","disabled"):g.removeAttr("disabled"))})}function d(a,c,d,e,f,g){var h=c.find(".simcal-events-list-container"),i=h.data("prev"),j=h.data("next"),k=h.find("li.simcal-event:last").data("start");a.each(function(a,c){var h=b(c);f?h.hasClass("simcal-prev")?"prev"==f?i<=d&&g<=d&&h.attr("disabled","disabled"):h.removeAttr("disabled"):h.hasClass("simcal-next")&&("next"==f?(j>=e&&g>=e||k>=e)&&h.attr("disabled","disabled"):h.removeAttr("disabled")):h.hasClass("simcal-prev")?i<=d&&g<=d&&h.attr("disabled","disabled"):h.hasClass("simcal-next")&&(j>=e&&g>=e||k>=e)&&h.attr("disabled","disabled")})}function e(a){var c=b(a).find(".simcal-current"),d=b(a).find(".simcal-events-list-container"),e=d.data("heading-small"),f=d.data("heading-large"),g=b("<h3 />");a.width()<400?g.text(e):g.text(f),c.html(g)}function f(c){var d=b(c).find("> table"),e=d.find("thead"),f=e.find("th.simcal-week-day"),g=d.find("td.simcal-day > div"),h=d.find("ul.simcal-events"),i=h.find("> li > .simcal-event-title"),j=d.find(".simcal-events-toggle"),k=d.find("span.simcal-events-dots"),l=d.find(".simcal-tooltip-content"),m=d.find(".simcal-event-toggled"),n=d.data("event-bubble-trigger"),o=g.first().width();if(o<60){f.each(function(a,c){b(c).text(b(c).data("screen-small"))}),h.hide(),i.hide(),"undefined"!=j&&(j.hide(),"undefined"!=m&&m.show()),k.show(),n="click";var p=o-10+"px";g.css("min-height",p),d.find("span.simcal-events-dots:not(:empty)").css("min-height",p)}else o<=240?f.each(function(a,c){b(c).text(b(c).data("screen-medium"))}):f.each(function(a,c){b(c).text(b(c).data("screen-large"))}),h.show(),i.show(),"undefined"!=j&&(j.show(),"undefined"!=m&&m.hide()),k.hide(),g.css("min-height",o+"px");g.each(function(c,d){var e,f,g=b(d).find("span.simcal-events-dots"),h=b(d).find(".simcal-tooltip");o<60?(l.show(),e=g):(l.hide(),e=h),e.each(function(c,e){b(e).qtip({content:o<60?b(d).find("ul.simcal-events"):b(e).find("> .simcal-tooltip-content"),position:{my:"top center",at:"bottom center",target:b(e),viewport:!(o<60)||b(a),adjust:{method:"shift",scroll:!1}},style:{def:!1,classes:"simcal-default-calendar simcal-event-bubble"},show:{solo:!0,effect:!1,event:"hover"==n?"mouseenter":"click"},hide:{fixed:!0,effect:!1,event:"click"==n?"unfocus":"mouseleave",delay:100},events:{show:function(a,b){f&&f.id&&f.id!=b.id&&f.hide(),f=b}},overwrite:!1})})})}function g(){b(".simcal-events-toggle").each(function(a,c){var d=b(c).prev(".simcal-events"),e=d.find(".simcal-event-toggled"),f=b(c).find("i");b(c).on("click",function(){f.toggleClass("simcal-icon-rotate-180"),e.slideToggle()})})}b(".simcal-default-calendar").each(function(a,h){var i,j,k=b(h),l=k.data("calendar-id"),m=k.data("offset"),n=k.data("events-first"),o=k.data("calendar-end"),p=k.find(".simcal-calendar-head"),q=p.find(".simcal-nav-button"),r=k.find(".simcal-ajax-loader"),s=p.find(".simcal-current"),t=s.data("calendar-current"),u=s.find("span.simcal-current-month"),v=s.find("span.simcal-current-year"),w=moment.tz(1e3*t,k.data("timezone"));k.hasClass("simcal-default-calendar-grid")?(j="simcal_default_calendar_draw_grid",i=new Date(w.year(),w.month()),c(q,i.getTime()/1e3,n,o)):(j="simcal_default_calendar_draw_list",d(q,k,n,o,!1,t),e(k)),q.on("click",function(){var a=b(this).hasClass("simcal-next")?"next":"prev";if("simcal_default_calendar_draw_grid"==j){var h,p,t,w=k.find(".simcal-month");"prev"==a?h=new Date(i.setMonth(i.getMonth()-1,1)):(h=new Date(i.setMonth(i.getMonth()+2,1)),h.setDate(0),h.setHours(23),h.setMinutes(59),h.setSeconds(59)),p=h.getMonth(),t=h.getFullYear(),b.ajax({url:simcal_default_calendar.ajax_url,method:"POST",dataType:"json",cache:!1,data:{action:j,month:p+1,year:t,id:l},beforeSend:function(){r.fadeToggle()},success:function(a){u.text(simcal_default_calendar.months.full[p]),v.text(t),s.attr("data-calendar-current",h.getTime()/1e3+m+1),c(q,h.getTime()/1e3,n,o),r.fadeToggle(),i=h,w.replaceWith(a.data),f(k,x),g()},error:function(a){console.log(a)}})}else{var x=k.find(".simcal-events-list-container"),y=x.data("prev"),z=x.data("next"),A="prev"==a?y:z;b.ajax({url:simcal_default_calendar.ajax_url,method:"POST",dataType:"json",cache:!1,data:{action:j,ts:A,id:l},beforeSend:function(){r.fadeToggle()},success:function(b){x.replaceWith(b.data),s.attr("data-calendar-current",A),e(k),d(q,k,n,o,a,A),r.fadeToggle(),g()},error:function(a){console.log(a)}})}})});var h=b(".simcal-default-calendar-grid");h.each(function(a,c){f(c),b(c).on("change",function(){f(this)})}),a.onresize=function(){h.each(function(a,b){f(b)})},g()})}(this);
1
+ /*! Simple Calendar - 3.1.15
2
  * https://simplecalendar.io
3
  * Copyright (c) Moonstone Media 2018
4
  * Licensed GPLv2+ */
5
 
6
+ !function(a,b){"use strict";jQuery(function(b){function c(a,c,d,e){a.each(function(a,f){var g=b(f),h=new Date(1e3*c);g.hasClass("simcal-prev")?(h=new Date(h.setMonth(h.getMonth(),1)),h.setDate(0),h.getTime()/1e3<=d?g.attr("disabled","disabled"):g.removeAttr("disabled")):(h=new Date(h.setMonth(h.getMonth()+1,1)),h.setDate(0),h.setHours(23),h.setMinutes(59),h.setSeconds(59),h.getTime()/1e3>=e?g.attr("disabled","disabled"):g.removeAttr("disabled"))})}function d(a,c,d,e,f,g){var h=c.find(".simcal-events-list-container"),i=h.data("prev"),j=h.data("next"),k=h.find("li.simcal-event:last").data("start");a.each(function(a,c){var h=b(c);f?h.hasClass("simcal-prev")?"prev"==f?i<=d&&g<=d&&h.attr("disabled","disabled"):h.removeAttr("disabled"):h.hasClass("simcal-next")&&("next"==f?(j>=e&&g>=e||k>=e)&&h.attr("disabled","disabled"):h.removeAttr("disabled")):h.hasClass("simcal-prev")?i<=d&&g<=d&&h.attr("disabled","disabled"):h.hasClass("simcal-next")&&(j>=e&&g>=e||k>=e)&&h.attr("disabled","disabled")})}function e(a){var c=b(a).find(".simcal-current"),d=b(a).find(".simcal-events-list-container"),e=d.data("heading-small"),f=d.data("heading-large"),g=b("<h3 />");a.width()<400?g.text(e):g.text(f),c.html(g)}function f(c){var d=b(c).find("> table"),e=d.find("thead"),f=e.find("th.simcal-week-day"),g=d.find("td.simcal-day > div"),h=d.find("ul.simcal-events"),i=h.find("> li > .simcal-event-title"),j=d.find(".simcal-events-toggle"),k=d.find("span.simcal-events-dots"),l=d.find(".simcal-tooltip-content"),m=d.find(".simcal-event-toggled"),n=d.data("event-bubble-trigger"),o=g.first().width();if(o<60){f.each(function(a,c){b(c).text(b(c).data("screen-small"))}),h.hide(),i.hide(),"undefined"!=j&&(j.hide(),"undefined"!=m&&m.show()),k.show(),n="click";var p=o-10+"px";g.css("min-height",p),d.find("span.simcal-events-dots:not(:empty)").css("min-height",p)}else o<=240?f.each(function(a,c){b(c).text(b(c).data("screen-medium"))}):f.each(function(a,c){b(c).text(b(c).data("screen-large"))}),h.show(),i.show(),"undefined"!=j&&(j.show(),"undefined"!=m&&m.hide()),k.hide(),g.css("min-height",o+"px");g.each(function(c,d){var e,f,g=b(d).find("span.simcal-events-dots"),h=b(d).find(".simcal-tooltip");o<60?(l.show(),e=g):(l.hide(),e=h),e.each(function(c,e){b(e).qtip({content:o<60?b(d).find("ul.simcal-events"):b(e).find("> .simcal-tooltip-content"),position:{my:"top center",at:"bottom center",target:b(e),viewport:!(o<60)||b(a),adjust:{method:"shift",scroll:!1}},style:{def:!1,classes:"simcal-default-calendar simcal-event-bubble"},show:{solo:!0,effect:!1,event:"hover"==n?"mouseenter":"click"},hide:{fixed:!0,effect:!1,event:"click"==n?"unfocus":"mouseleave",delay:100},events:{show:function(a,b){f&&f.id&&f.id!=b.id&&f.hide(),f=b}},overwrite:!1})})})}function g(){b(".simcal-events-toggle").each(function(a,c){var d=b(c).prev(".simcal-events"),e=d.find(".simcal-event-toggled"),f=b(c).find("i");b(c).on("click",function(){f.toggleClass("simcal-icon-rotate-180"),e.slideToggle()})})}b(".simcal-default-calendar").each(function(a,h){var i,j,k=b(h),l=k.data("calendar-id"),m=k.data("offset"),n=k.data("events-first"),o=k.data("calendar-end"),p=k.find(".simcal-calendar-head"),q=p.find(".simcal-nav-button"),r=k.find(".simcal-ajax-loader"),s=p.find(".simcal-current"),t=s.data("calendar-current"),u=s.find("span.simcal-current-month"),v=s.find("span.simcal-current-year"),w=moment.tz(1e3*t,k.data("timezone"));k.hasClass("simcal-default-calendar-grid")?(j="simcal_default_calendar_draw_grid",i=new Date(w.year(),w.month()),c(q,i.getTime()/1e3,n,o)):(j="simcal_default_calendar_draw_list",d(q,k,n,o,!1,t),e(k)),q.on("click",function(){var a=b(this).hasClass("simcal-next")?"next":"prev";if("simcal_default_calendar_draw_grid"==j){var h,p,t,w=k.find(".simcal-month");"prev"==a?h=new Date(i.setMonth(i.getMonth()-1,1)):(h=new Date(i.setMonth(i.getMonth()+2,1)),h.setDate(0),h.setHours(23),h.setMinutes(59),h.setSeconds(59)),p=h.getMonth(),t=h.getFullYear(),b.ajax({url:simcal_default_calendar.ajax_url,type:"POST",dataType:"json",cache:!1,data:{action:j,month:p+1,year:t,id:l},beforeSend:function(){r.fadeToggle()},success:function(a){u.text(simcal_default_calendar.months.full[p]),v.text(t),s.attr("data-calendar-current",h.getTime()/1e3+m+1),c(q,h.getTime()/1e3,n,o),r.fadeToggle(),i=h,w.replaceWith(a.data),f(k,x),g()},error:function(a){console.log(a)}})}else{var x=k.find(".simcal-events-list-container"),y=x.data("prev"),z=x.data("next"),A="prev"==a?y:z;b.ajax({url:simcal_default_calendar.ajax_url,type:"POST",dataType:"json",cache:!1,data:{action:j,ts:A,id:l},beforeSend:function(){r.fadeToggle()},success:function(b){x.replaceWith(b.data),s.attr("data-calendar-current",A),e(k),d(q,k,n,o,a,A),r.fadeToggle(),g()},error:function(a){console.log(a)}})}})});var h=b(".simcal-default-calendar-grid");h.each(function(a,c){f(c),b(c).on("change",function(){f(this)})}),a.onresize=function(){h.each(function(a,b){f(b)})},g()})}(this);
google-calendar-events.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: Add Google Calendar events to your WordPress site in minutes. Beautiful calendar displays. Fully responsive.
6
  * Author: Simple Calendar
7
  * Author URI: https://simplecalendar.io
8
- * Version: 3.1.14
9
  * Text Domain: google-calendar-events
10
  * Domain Path: /i18n
11
  *
@@ -21,7 +21,7 @@ if ( ! defined( 'ABSPATH' ) ) {
21
  $this_plugin_path = trailingslashit( dirname( __FILE__ ) );
22
  $this_plugin_dir = plugin_dir_url( __FILE__ );
23
  $this_plugin_constants = array(
24
- 'SIMPLE_CALENDAR_VERSION' => '3.1.14',
25
  'SIMPLE_CALENDAR_MAIN_FILE' => __FILE__,
26
  'SIMPLE_CALENDAR_URL' => $this_plugin_dir,
27
  'SIMPLE_CALENDAR_ASSETS' => $this_plugin_dir . 'assets/',
5
  * Description: Add Google Calendar events to your WordPress site in minutes. Beautiful calendar displays. Fully responsive.
6
  * Author: Simple Calendar
7
  * Author URI: https://simplecalendar.io
8
+ * Version: 3.1.15
9
  * Text Domain: google-calendar-events
10
  * Domain Path: /i18n
11
  *
21
  $this_plugin_path = trailingslashit( dirname( __FILE__ ) );
22
  $this_plugin_dir = plugin_dir_url( __FILE__ );
23
  $this_plugin_constants = array(
24
+ 'SIMPLE_CALENDAR_VERSION' => '3.1.15',
25
  'SIMPLE_CALENDAR_MAIN_FILE' => __FILE__,
26
  'SIMPLE_CALENDAR_URL' => $this_plugin_dir,
27
  'SIMPLE_CALENDAR_ASSETS' => $this_plugin_dir . 'assets/',
includes/assets.php CHANGED
@@ -128,6 +128,11 @@ class Assets {
128
  }
129
  }
130
 
 
 
 
 
 
131
  $this->get_widgets_assets();
132
  $this->scripts = apply_filters( 'simcal_front_end_scripts', $scripts, $this->min );
133
  // First check if there is a multi-dimensional array of scripts
128
  }
129
  }
130
 
131
+ // Prevent duplicate localization variables for default calendar.
132
+ if ( isset( $scripts[1]['simcal-default-calendar']['localize'] ) ) {
133
+ unset( $scripts[1]['simcal-default-calendar']['localize'] );
134
+ }
135
+
136
  $this->get_widgets_assets();
137
  $this->scripts = apply_filters( 'simcal_front_end_scripts', $scripts, $this->min );
138
  // First check if there is a multi-dimensional array of scripts
includes/feeds/google.php CHANGED
@@ -394,7 +394,7 @@ class Google extends Feed {
394
  $args = array();
395
 
396
  // Expand recurring events.
397
- if ( $this->google_events_recurring == 'show' ) {
398
  $args['singleEvents'] = true;
399
  }
400
 
@@ -434,6 +434,13 @@ class Google extends Feed {
434
  $args['timeMax'] = $timeMax->toRfc3339String();
435
  }
436
 
 
 
 
 
 
 
 
437
  // Query events in calendar.
438
  $response = $google->events->listEvents( $id, $args );
439
 
394
  $args = array();
395
 
396
  // Expand recurring events.
397
+ if ( 'show' === $this->google_events_recurring ) {
398
  $args['singleEvents'] = true;
399
  }
400
 
434
  $args['timeMax'] = $timeMax->toRfc3339String();
435
  }
436
 
437
+ // Trying to order by startTime for non-single events throws
438
+ // Google v3 API 400 error - "The requested ordering is not available for the particular query.".
439
+ // Only set this conditionally.
440
+ if ( true === $args['singleEvents'] ) {
441
+ $args['orderBy'] = 'startTime';
442
+ }
443
+
444
  // Query events in calendar.
445
  $response = $google->events->listEvents( $id, $args );
446
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: google calendar, calendar, calendars, google, event calendar, custom calen
4
  Requires at least: 4.2
5
  Requires PHP: 5.3+
6
  Tested up to: 4.9
7
- Stable tag: 3.1.14
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -97,6 +97,11 @@ We'd love your help! Here's a few things you can do:
97
 
98
  == Changelog ==
99
 
 
 
 
 
 
100
  = 3.1.14 - February 15, 2018 =
101
  * Fix: Issue where navigation to next month would be disabled when multi-day events extended to future months.
102
 
4
  Requires at least: 4.2
5
  Requires PHP: 5.3+
6
  Tested up to: 4.9
7
+ Stable tag: 3.1.15
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
97
 
98
  == Changelog ==
99
 
100
+ = 3.1.15 - May 22, 2018 =
101
+ * Fix: Issue with jQuery $.ajax call parameter compatibility with older versions of jQuery.
102
+ * Fix: Issue with Google API feed sorting not showing correct events in list view.
103
+ * Fix: Issue with duplicate default calendar JSON data being output.
104
+
105
  = 3.1.14 - February 15, 2018 =
106
  * Fix: Issue where navigation to next month would be disabled when multi-day events extended to future months.
107
 
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit4013cb7d1b1a392c5fcc301b662b7103::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitbda17c8d5de6827116ab2866064b2793::getLoader();
vendor/composer/ClassLoader.php CHANGED
@@ -374,10 +374,14 @@ class ClassLoader
374
 
375
  $first = $class[0];
376
  if (isset($this->prefixLengthsPsr4[$first])) {
377
- foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
378
- if (0 === strpos($class, $prefix)) {
379
- foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
380
- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
 
 
 
 
381
  return $file;
382
  }
383
  }
374
 
375
  $first = $class[0];
376
  if (isset($this->prefixLengthsPsr4[$first])) {
377
+ $subPath = $class;
378
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
379
+ $subPath = substr($subPath, 0, $lastPos);
380
+ $search = $subPath.'\\';
381
+ if (isset($this->prefixDirsPsr4[$search])) {
382
+ $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
383
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
384
+ if (file_exists($file = $dir . $pathEnd)) {
385
  return $file;
386
  }
387
  }
vendor/composer/LICENSE CHANGED
@@ -1,5 +1,5 @@
1
 
2
- Copyright (c) 2016 Nils Adermann, Jordi Boggiano
3
 
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
5
  of this software and associated documentation files (the "Software"), to deal
1
 
2
+ Copyright (c) Nils Adermann, Jordi Boggiano
3
 
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
5
  of this software and associated documentation files (the "Software"), to deal
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit4013cb7d1b1a392c5fcc301b662b7103
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit4013cb7d1b1a392c5fcc301b662b7103
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit4013cb7d1b1a392c5fcc301b662b7103', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit4013cb7d1b1a392c5fcc301b662b7103', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
- call_user_func(\Composer\Autoload\ComposerStaticInit4013cb7d1b1a392c5fcc301b662b7103::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
@@ -48,19 +48,19 @@ class ComposerAutoloaderInit4013cb7d1b1a392c5fcc301b662b7103
48
  $loader->register(true);
49
 
50
  if ($useStaticLoader) {
51
- $includeFiles = Composer\Autoload\ComposerStaticInit4013cb7d1b1a392c5fcc301b662b7103::$files;
52
  } else {
53
  $includeFiles = require __DIR__ . '/autoload_files.php';
54
  }
55
  foreach ($includeFiles as $fileIdentifier => $file) {
56
- composerRequire4013cb7d1b1a392c5fcc301b662b7103($fileIdentifier, $file);
57
  }
58
 
59
  return $loader;
60
  }
61
  }
62
 
63
- function composerRequire4013cb7d1b1a392c5fcc301b662b7103($fileIdentifier, $file)
64
  {
65
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
66
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitbda17c8d5de6827116ab2866064b2793
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInitbda17c8d5de6827116ab2866064b2793', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInitbda17c8d5de6827116ab2866064b2793', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
+ call_user_func(\Composer\Autoload\ComposerStaticInitbda17c8d5de6827116ab2866064b2793::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
48
  $loader->register(true);
49
 
50
  if ($useStaticLoader) {
51
+ $includeFiles = Composer\Autoload\ComposerStaticInitbda17c8d5de6827116ab2866064b2793::$files;
52
  } else {
53
  $includeFiles = require __DIR__ . '/autoload_files.php';
54
  }
55
  foreach ($includeFiles as $fileIdentifier => $file) {
56
+ composerRequirebda17c8d5de6827116ab2866064b2793($fileIdentifier, $file);
57
  }
58
 
59
  return $loader;
60
  }
61
  }
62
 
63
+ function composerRequirebda17c8d5de6827116ab2866064b2793($fileIdentifier, $file)
64
  {
65
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
66
  require $file;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit4013cb7d1b1a392c5fcc301b662b7103
8
  {
9
  public static $files = array (
10
  '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
@@ -60,10 +60,10 @@ class ComposerStaticInit4013cb7d1b1a392c5fcc301b662b7103
60
  public static function getInitializer(ClassLoader $loader)
61
  {
62
  return \Closure::bind(function () use ($loader) {
63
- $loader->prefixLengthsPsr4 = ComposerStaticInit4013cb7d1b1a392c5fcc301b662b7103::$prefixLengthsPsr4;
64
- $loader->prefixDirsPsr4 = ComposerStaticInit4013cb7d1b1a392c5fcc301b662b7103::$prefixDirsPsr4;
65
- $loader->prefixesPsr0 = ComposerStaticInit4013cb7d1b1a392c5fcc301b662b7103::$prefixesPsr0;
66
- $loader->classMap = ComposerStaticInit4013cb7d1b1a392c5fcc301b662b7103::$classMap;
67
 
68
  }, null, ClassLoader::class);
69
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitbda17c8d5de6827116ab2866064b2793
8
  {
9
  public static $files = array (
10
  '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
60
  public static function getInitializer(ClassLoader $loader)
61
  {
62
  return \Closure::bind(function () use ($loader) {
63
+ $loader->prefixLengthsPsr4 = ComposerStaticInitbda17c8d5de6827116ab2866064b2793::$prefixLengthsPsr4;
64
+ $loader->prefixDirsPsr4 = ComposerStaticInitbda17c8d5de6827116ab2866064b2793::$prefixDirsPsr4;
65
+ $loader->prefixesPsr0 = ComposerStaticInitbda17c8d5de6827116ab2866064b2793::$prefixesPsr0;
66
+ $loader->classMap = ComposerStaticInitbda17c8d5de6827116ab2866064b2793::$classMap;
67
 
68
  }, null, ClassLoader::class);
69
  }
vendor/composer/installed.json CHANGED
@@ -1,49 +1,4 @@
1
  [
2
- {
3
- "name": "google/apiclient",
4
- "version": "v1.1.8",
5
- "version_normalized": "1.1.8.0",
6
- "source": {
7
- "type": "git",
8
- "url": "https://github.com/google/google-api-php-client.git",
9
- "reference": "85309a3520bb5f53368d43e35fd24f43c9556323"
10
- },
11
- "dist": {
12
- "type": "zip",
13
- "url": "https://api.github.com/repos/google/google-api-php-client/zipball/85309a3520bb5f53368d43e35fd24f43c9556323",
14
- "reference": "85309a3520bb5f53368d43e35fd24f43c9556323",
15
- "shasum": ""
16
- },
17
- "require": {
18
- "php": ">=5.2.1"
19
- },
20
- "require-dev": {
21
- "phpunit/phpunit": "3.7.*",
22
- "squizlabs/php_codesniffer": "~2.3"
23
- },
24
- "time": "2016-06-06T21:22:48+00:00",
25
- "type": "library",
26
- "extra": {
27
- "branch-alias": {
28
- "dev-v1-master": "1.1.x-dev"
29
- }
30
- },
31
- "installation-source": "dist",
32
- "autoload": {
33
- "files": [
34
- "src/Google/autoload.php"
35
- ]
36
- },
37
- "notification-url": "https://packagist.org/downloads/",
38
- "license": [
39
- "Apache-2.0"
40
- ],
41
- "description": "Client library for Google APIs",
42
- "homepage": "http://developers.google.com/api-client-library/php",
43
- "keywords": [
44
- "google"
45
- ]
46
- },
47
  {
48
  "name": "composer/installers",
49
  "version": "v1.5.0",
@@ -167,41 +122,33 @@
167
  ]
168
  },
169
  {
170
- "name": "symfony/polyfill-mbstring",
171
- "version": "v1.6.0",
172
- "version_normalized": "1.6.0.0",
173
  "source": {
174
  "type": "git",
175
- "url": "https://github.com/symfony/polyfill-mbstring.git",
176
- "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296"
177
  },
178
  "dist": {
179
  "type": "zip",
180
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
181
- "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
182
  "shasum": ""
183
  },
184
  "require": {
185
- "php": ">=5.3.3"
186
  },
187
- "suggest": {
188
- "ext-mbstring": "For best performance"
189
  },
190
- "time": "2017-10-11T12:05:26+00:00",
191
  "type": "library",
192
- "extra": {
193
- "branch-alias": {
194
- "dev-master": "1.6-dev"
195
- }
196
- },
197
  "installation-source": "dist",
198
  "autoload": {
199
- "psr-4": {
200
- "Symfony\\Polyfill\\Mbstring\\": ""
201
- },
202
- "files": [
203
- "bootstrap.php"
204
- ]
205
  },
206
  "notification-url": "https://packagist.org/downloads/",
207
  "license": [
@@ -209,75 +156,90 @@
209
  ],
210
  "authors": [
211
  {
212
- "name": "Nicolas Grekas",
213
- "email": "p@tchwork.com"
214
- },
215
- {
216
- "name": "Symfony Community",
217
- "homepage": "https://symfony.com/contributors"
218
  }
219
  ],
220
- "description": "Symfony polyfill for the Mbstring extension",
221
- "homepage": "https://symfony.com",
222
  "keywords": [
223
- "compatibility",
224
- "mbstring",
225
- "polyfill",
226
- "portable",
227
- "shim"
228
  ]
229
  },
230
  {
231
- "name": "symfony/translation",
232
- "version": "v3.4.2",
233
- "version_normalized": "3.4.2.0",
234
  "source": {
235
  "type": "git",
236
- "url": "https://github.com/symfony/translation.git",
237
- "reference": "4c5d5582baf2829751a5207659329c1f52eedeb6"
238
  },
239
  "dist": {
240
  "type": "zip",
241
- "url": "https://api.github.com/repos/symfony/translation/zipball/4c5d5582baf2829751a5207659329c1f52eedeb6",
242
- "reference": "4c5d5582baf2829751a5207659329c1f52eedeb6",
243
  "shasum": ""
244
  },
245
  "require": {
246
- "php": "^5.5.9|>=7.0.8",
247
- "symfony/polyfill-mbstring": "~1.0"
248
- },
249
- "conflict": {
250
- "symfony/config": "<2.8",
251
- "symfony/dependency-injection": "<3.4",
252
- "symfony/yaml": "<3.4"
253
  },
254
  "require-dev": {
255
- "psr/log": "~1.0",
256
- "symfony/config": "~2.8|~3.0|~4.0",
257
- "symfony/dependency-injection": "~3.4|~4.0",
258
- "symfony/finder": "~2.8|~3.0|~4.0",
259
- "symfony/intl": "^2.8.18|^3.2.5|~4.0",
260
- "symfony/yaml": "~3.4|~4.0"
261
- },
262
- "suggest": {
263
- "psr/log": "To use logging capability in translator",
264
- "symfony/config": "",
265
- "symfony/yaml": ""
266
  },
267
- "time": "2017-12-12T08:27:14+00:00",
268
  "type": "library",
269
  "extra": {
270
  "branch-alias": {
271
- "dev-master": "3.4-dev"
272
  }
273
  },
274
  "installation-source": "dist",
275
  "autoload": {
276
- "psr-4": {
277
- "Symfony\\Component\\Translation\\": ""
278
- },
279
- "exclude-from-classmap": [
280
- "/Tests/"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
281
  ]
282
  },
283
  "notification-url": "https://packagist.org/downloads/",
@@ -286,16 +248,20 @@
286
  ],
287
  "authors": [
288
  {
289
- "name": "Fabien Potencier",
290
- "email": "fabien@symfony.com"
291
- },
292
- {
293
- "name": "Symfony Community",
294
- "homepage": "https://symfony.com/contributors"
295
  }
296
  ],
297
- "description": "Symfony Translation Component",
298
- "homepage": "https://symfony.com"
 
 
 
 
 
 
 
299
  },
300
  {
301
  "name": "nesbot/carbon",
@@ -327,7 +293,7 @@
327
  "dev-master": "1.23-dev"
328
  }
329
  },
330
- "installation-source": "source",
331
  "autoload": {
332
  "psr-4": {
333
  "Carbon\\": "src/Carbon/"
@@ -353,33 +319,41 @@
353
  ]
354
  },
355
  {
356
- "name": "erusev/parsedown",
357
- "version": "1.6.4",
358
- "version_normalized": "1.6.4.0",
359
  "source": {
360
  "type": "git",
361
- "url": "https://github.com/erusev/parsedown.git",
362
- "reference": "fbe3fe878f4fe69048bb8a52783a09802004f548"
363
  },
364
  "dist": {
365
  "type": "zip",
366
- "url": "https://api.github.com/repos/erusev/parsedown/zipball/fbe3fe878f4fe69048bb8a52783a09802004f548",
367
- "reference": "fbe3fe878f4fe69048bb8a52783a09802004f548",
368
  "shasum": ""
369
  },
370
  "require": {
371
- "php": ">=5.3.0"
372
  },
373
- "require-dev": {
374
- "phpunit/phpunit": "^4.8.35"
375
  },
376
- "time": "2017-11-14T20:44:03+00:00",
377
  "type": "library",
 
 
 
 
 
378
  "installation-source": "dist",
379
  "autoload": {
380
- "psr-0": {
381
- "Parsedown": ""
382
- }
 
 
 
383
  },
384
  "notification-url": "https://packagist.org/downloads/",
385
  "license": [
@@ -387,45 +361,75 @@
387
  ],
388
  "authors": [
389
  {
390
- "name": "Emanuil Rusev",
391
- "email": "hello@erusev.com",
392
- "homepage": "http://erusev.com"
 
 
 
393
  }
394
  ],
395
- "description": "Parser for Markdown.",
396
- "homepage": "http://parsedown.org",
397
  "keywords": [
398
- "markdown",
399
- "parser"
 
 
 
400
  ]
401
  },
402
  {
403
- "name": "mexitek/phpcolors",
404
- "version": "dev-master",
405
- "version_normalized": "9999999-dev",
406
  "source": {
407
  "type": "git",
408
- "url": "https://github.com/mexitek/phpColors.git",
409
- "reference": "3d429c4dff3adf67118afde12eca344767fcd2fb"
410
  },
411
  "dist": {
412
  "type": "zip",
413
- "url": "https://api.github.com/repos/mexitek/phpColors/zipball/3d429c4dff3adf67118afde12eca344767fcd2fb",
414
- "reference": "3d429c4dff3adf67118afde12eca344767fcd2fb",
415
  "shasum": ""
416
  },
417
  "require": {
418
- "php": ">=5.3.0"
 
 
 
 
 
 
419
  },
420
  "require-dev": {
421
- "nette/tester": "~1.6"
 
 
 
 
 
422
  },
423
- "time": "2017-12-29T05:55:50+00:00",
 
 
 
 
 
424
  "type": "library",
425
- "installation-source": "source",
 
 
 
 
 
426
  "autoload": {
427
- "classmap": [
428
- "src"
 
 
 
429
  ]
430
  },
431
  "notification-url": "https://packagist.org/downloads/",
@@ -434,19 +438,15 @@
434
  ],
435
  "authors": [
436
  {
437
- "name": "Arlo Carreon",
438
- "homepage": "http://arlocarreon.com",
439
- "role": "creator"
 
 
 
440
  }
441
  ],
442
- "description": "A series of methods that let you manipulate colors. Just incase you ever need different shades of one color on the fly.",
443
- "homepage": "http://mexitek.github.com/phpColors/",
444
- "keywords": [
445
- "color",
446
- "css",
447
- "design",
448
- "frontend",
449
- "ui"
450
- ]
451
  }
452
  ]
1
  [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  {
3
  "name": "composer/installers",
4
  "version": "v1.5.0",
122
  ]
123
  },
124
  {
125
+ "name": "erusev/parsedown",
126
+ "version": "1.6.4",
127
+ "version_normalized": "1.6.4.0",
128
  "source": {
129
  "type": "git",
130
+ "url": "https://github.com/erusev/parsedown.git",
131
+ "reference": "fbe3fe878f4fe69048bb8a52783a09802004f548"
132
  },
133
  "dist": {
134
  "type": "zip",
135
+ "url": "https://api.github.com/repos/erusev/parsedown/zipball/fbe3fe878f4fe69048bb8a52783a09802004f548",
136
+ "reference": "fbe3fe878f4fe69048bb8a52783a09802004f548",
137
  "shasum": ""
138
  },
139
  "require": {
140
+ "php": ">=5.3.0"
141
  },
142
+ "require-dev": {
143
+ "phpunit/phpunit": "^4.8.35"
144
  },
145
+ "time": "2017-11-14T20:44:03+00:00",
146
  "type": "library",
 
 
 
 
 
147
  "installation-source": "dist",
148
  "autoload": {
149
+ "psr-0": {
150
+ "Parsedown": ""
151
+ }
 
 
 
152
  },
153
  "notification-url": "https://packagist.org/downloads/",
154
  "license": [
156
  ],
157
  "authors": [
158
  {
159
+ "name": "Emanuil Rusev",
160
+ "email": "hello@erusev.com",
161
+ "homepage": "http://erusev.com"
 
 
 
162
  }
163
  ],
164
+ "description": "Parser for Markdown.",
165
+ "homepage": "http://parsedown.org",
166
  "keywords": [
167
+ "markdown",
168
+ "parser"
 
 
 
169
  ]
170
  },
171
  {
172
+ "name": "google/apiclient",
173
+ "version": "v1.1.8",
174
+ "version_normalized": "1.1.8.0",
175
  "source": {
176
  "type": "git",
177
+ "url": "https://github.com/google/google-api-php-client.git",
178
+ "reference": "85309a3520bb5f53368d43e35fd24f43c9556323"
179
  },
180
  "dist": {
181
  "type": "zip",
182
+ "url": "https://api.github.com/repos/google/google-api-php-client/zipball/85309a3520bb5f53368d43e35fd24f43c9556323",
183
+ "reference": "85309a3520bb5f53368d43e35fd24f43c9556323",
184
  "shasum": ""
185
  },
186
  "require": {
187
+ "php": ">=5.2.1"
 
 
 
 
 
 
188
  },
189
  "require-dev": {
190
+ "phpunit/phpunit": "3.7.*",
191
+ "squizlabs/php_codesniffer": "~2.3"
 
 
 
 
 
 
 
 
 
192
  },
193
+ "time": "2016-06-06T21:22:48+00:00",
194
  "type": "library",
195
  "extra": {
196
  "branch-alias": {
197
+ "dev-v1-master": "1.1.x-dev"
198
  }
199
  },
200
  "installation-source": "dist",
201
  "autoload": {
202
+ "files": [
203
+ "src/Google/autoload.php"
204
+ ]
205
+ },
206
+ "notification-url": "https://packagist.org/downloads/",
207
+ "license": [
208
+ "Apache-2.0"
209
+ ],
210
+ "description": "Client library for Google APIs",
211
+ "homepage": "http://developers.google.com/api-client-library/php",
212
+ "keywords": [
213
+ "google"
214
+ ]
215
+ },
216
+ {
217
+ "name": "mexitek/phpcolors",
218
+ "version": "dev-master",
219
+ "version_normalized": "9999999-dev",
220
+ "source": {
221
+ "type": "git",
222
+ "url": "https://github.com/mexitek/phpColors.git",
223
+ "reference": "3d429c4dff3adf67118afde12eca344767fcd2fb"
224
+ },
225
+ "dist": {
226
+ "type": "zip",
227
+ "url": "https://api.github.com/repos/mexitek/phpColors/zipball/3d429c4dff3adf67118afde12eca344767fcd2fb",
228
+ "reference": "3d429c4dff3adf67118afde12eca344767fcd2fb",
229
+ "shasum": ""
230
+ },
231
+ "require": {
232
+ "php": ">=5.3.0"
233
+ },
234
+ "require-dev": {
235
+ "nette/tester": "~1.6"
236
+ },
237
+ "time": "2017-12-29T05:55:50+00:00",
238
+ "type": "library",
239
+ "installation-source": "source",
240
+ "autoload": {
241
+ "classmap": [
242
+ "src"
243
  ]
244
  },
245
  "notification-url": "https://packagist.org/downloads/",
248
  ],
249
  "authors": [
250
  {
251
+ "name": "Arlo Carreon",
252
+ "homepage": "http://arlocarreon.com",
253
+ "role": "creator"
 
 
 
254
  }
255
  ],
256
+ "description": "A series of methods that let you manipulate colors. Just incase you ever need different shades of one color on the fly.",
257
+ "homepage": "http://mexitek.github.com/phpColors/",
258
+ "keywords": [
259
+ "color",
260
+ "css",
261
+ "design",
262
+ "frontend",
263
+ "ui"
264
+ ]
265
  },
266
  {
267
  "name": "nesbot/carbon",
293
  "dev-master": "1.23-dev"
294
  }
295
  },
296
+ "installation-source": "dist",
297
  "autoload": {
298
  "psr-4": {
299
  "Carbon\\": "src/Carbon/"
319
  ]
320
  },
321
  {
322
+ "name": "symfony/polyfill-mbstring",
323
+ "version": "v1.7.0",
324
+ "version_normalized": "1.7.0.0",
325
  "source": {
326
  "type": "git",
327
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
328
+ "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
329
  },
330
  "dist": {
331
  "type": "zip",
332
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
333
+ "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
334
  "shasum": ""
335
  },
336
  "require": {
337
+ "php": ">=5.3.3"
338
  },
339
+ "suggest": {
340
+ "ext-mbstring": "For best performance"
341
  },
342
+ "time": "2018-01-30T19:27:44+00:00",
343
  "type": "library",
344
+ "extra": {
345
+ "branch-alias": {
346
+ "dev-master": "1.7-dev"
347
+ }
348
+ },
349
  "installation-source": "dist",
350
  "autoload": {
351
+ "psr-4": {
352
+ "Symfony\\Polyfill\\Mbstring\\": ""
353
+ },
354
+ "files": [
355
+ "bootstrap.php"
356
+ ]
357
  },
358
  "notification-url": "https://packagist.org/downloads/",
359
  "license": [
361
  ],
362
  "authors": [
363
  {
364
+ "name": "Nicolas Grekas",
365
+ "email": "p@tchwork.com"
366
+ },
367
+ {
368
+ "name": "Symfony Community",
369
+ "homepage": "https://symfony.com/contributors"
370
  }
371
  ],
372
+ "description": "Symfony polyfill for the Mbstring extension",
373
+ "homepage": "https://symfony.com",
374
  "keywords": [
375
+ "compatibility",
376
+ "mbstring",
377
+ "polyfill",
378
+ "portable",
379
+ "shim"
380
  ]
381
  },
382
  {
383
+ "name": "symfony/translation",
384
+ "version": "v3.4.4",
385
+ "version_normalized": "3.4.4.0",
386
  "source": {
387
  "type": "git",
388
+ "url": "https://github.com/symfony/translation.git",
389
+ "reference": "10b32cf0eae28b9b39fe26c456c42b19854c4b84"
390
  },
391
  "dist": {
392
  "type": "zip",
393
+ "url": "https://api.github.com/repos/symfony/translation/zipball/10b32cf0eae28b9b39fe26c456c42b19854c4b84",
394
+ "reference": "10b32cf0eae28b9b39fe26c456c42b19854c4b84",
395
  "shasum": ""
396
  },
397
  "require": {
398
+ "php": "^5.5.9|>=7.0.8",
399
+ "symfony/polyfill-mbstring": "~1.0"
400
+ },
401
+ "conflict": {
402
+ "symfony/config": "<2.8",
403
+ "symfony/dependency-injection": "<3.4",
404
+ "symfony/yaml": "<3.4"
405
  },
406
  "require-dev": {
407
+ "psr/log": "~1.0",
408
+ "symfony/config": "~2.8|~3.0|~4.0",
409
+ "symfony/dependency-injection": "~3.4|~4.0",
410
+ "symfony/finder": "~2.8|~3.0|~4.0",
411
+ "symfony/intl": "^2.8.18|^3.2.5|~4.0",
412
+ "symfony/yaml": "~3.4|~4.0"
413
  },
414
+ "suggest": {
415
+ "psr/log": "To use logging capability in translator",
416
+ "symfony/config": "",
417
+ "symfony/yaml": ""
418
+ },
419
+ "time": "2018-01-18T22:16:57+00:00",
420
  "type": "library",
421
+ "extra": {
422
+ "branch-alias": {
423
+ "dev-master": "3.4-dev"
424
+ }
425
+ },
426
+ "installation-source": "dist",
427
  "autoload": {
428
+ "psr-4": {
429
+ "Symfony\\Component\\Translation\\": ""
430
+ },
431
+ "exclude-from-classmap": [
432
+ "/Tests/"
433
  ]
434
  },
435
  "notification-url": "https://packagist.org/downloads/",
438
  ],
439
  "authors": [
440
  {
441
+ "name": "Fabien Potencier",
442
+ "email": "fabien@symfony.com"
443
+ },
444
+ {
445
+ "name": "Symfony Community",
446
+ "homepage": "https://symfony.com/contributors"
447
  }
448
  ],
449
+ "description": "Symfony Translation Component",
450
+ "homepage": "https://symfony.com"
 
 
 
 
 
 
 
451
  }
452
  ]
vendor/symfony/polyfill-mbstring/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014-2016 Fabien Potencier
2
 
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
  of this software and associated documentation files (the "Software"), to deal
1
+ Copyright (c) 2015-2018 Fabien Potencier
2
 
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
  of this software and associated documentation files (the "Software"), to deal
vendor/symfony/polyfill-mbstring/Mbstring.php CHANGED
@@ -20,7 +20,10 @@ namespace Symfony\Polyfill\Mbstring;
20
  * - mb_convert_variables - Convert character code in variable(s)
21
  * - mb_decode_mimeheader - Decode string in MIME header field
22
  * - mb_encode_mimeheader - Encode string for MIME header XXX NATIVE IMPLEMENTATION IS REALLY BUGGED
 
 
23
  * - mb_convert_case - Perform case folding on a string
 
24
  * - mb_get_info - Get internal settings of mbstring
25
  * - mb_http_input - Detect HTTP input character encoding
26
  * - mb_http_output - Set/Get HTTP output character encoding
@@ -47,8 +50,6 @@ namespace Symfony\Polyfill\Mbstring;
47
  *
48
  * Not implemented:
49
  * - mb_convert_kana - Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
50
- * - mb_decode_numericentity - Decode HTML numeric string reference to character
51
- * - mb_encode_numericentity - Encode character to HTML numeric string reference
52
  * - mb_ereg_* - Regular expression with multibyte support
53
  * - mb_parse_str - Parse GET/POST/COOKIE data and set global variable
54
  * - mb_preferred_mime_name - Get MIME charset string
@@ -137,9 +138,134 @@ final class Mbstring
137
  trigger_error('mb_encode_mimeheader() is bugged. Please use iconv_mime_encode() instead', E_USER_WARNING);
138
  }
139
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  public static function mb_convert_case($s, $mode, $encoding = null)
141
  {
142
- if ('' === $s .= '') {
 
143
  return '';
144
  }
145
 
@@ -354,7 +480,8 @@ final class Mbstring
354
  return strpos($haystack, $needle, $offset);
355
  }
356
 
357
- if ('' === $needle .= '') {
 
358
  trigger_error(__METHOD__.': Empty delimiter', E_USER_WARNING);
359
 
360
  return false;
@@ -428,7 +555,7 @@ final class Mbstring
428
  }
429
  }
430
 
431
- return iconv_substr($s, $start, $length, $encoding).'';
432
  }
433
 
434
  public static function mb_stripos($haystack, $needle, $offset = 0, $encoding = null)
@@ -600,7 +727,7 @@ final class Mbstring
600
  return self::mb_substr($haystack, $pos, null, $encoding);
601
  }
602
 
603
- private static function html_encoding_callback($m)
604
  {
605
  $i = 1;
606
  $entities = '';
@@ -625,12 +752,12 @@ final class Mbstring
625
  return $entities;
626
  }
627
 
628
- private static function title_case_lower($s)
629
  {
630
  return self::mb_convert_case($s[0], MB_CASE_LOWER, 'UTF-8');
631
  }
632
 
633
- private static function title_case_upper($s)
634
  {
635
  return self::mb_convert_case($s[0], MB_CASE_UPPER, 'UTF-8');
636
  }
20
  * - mb_convert_variables - Convert character code in variable(s)
21
  * - mb_decode_mimeheader - Decode string in MIME header field
22
  * - mb_encode_mimeheader - Encode string for MIME header XXX NATIVE IMPLEMENTATION IS REALLY BUGGED
23
+ * - mb_decode_numericentity - Decode HTML numeric string reference to character
24
+ * - mb_encode_numericentity - Encode character to HTML numeric string reference
25
  * - mb_convert_case - Perform case folding on a string
26
+ * - mb_detect_encoding - Detect character encoding
27
  * - mb_get_info - Get internal settings of mbstring
28
  * - mb_http_input - Detect HTTP input character encoding
29
  * - mb_http_output - Set/Get HTTP output character encoding
50
  *
51
  * Not implemented:
52
  * - mb_convert_kana - Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
 
 
53
  * - mb_ereg_* - Regular expression with multibyte support
54
  * - mb_parse_str - Parse GET/POST/COOKIE data and set global variable
55
  * - mb_preferred_mime_name - Get MIME charset string
138
  trigger_error('mb_encode_mimeheader() is bugged. Please use iconv_mime_encode() instead', E_USER_WARNING);
139
  }
140
 
141
+ public static function mb_decode_numericentity($s, $convmap, $encoding = null)
142
+ {
143
+ if (null !== $s && !is_scalar($s) && !(is_object($s) && method_exists($s, '__toString'))) {
144
+ trigger_error('mb_decode_numericentity() expects parameter 1 to be string, '.gettype($s).' given', E_USER_WARNING);
145
+ return null;
146
+ }
147
+
148
+ if (!is_array($convmap) || !$convmap) {
149
+ return false;
150
+ }
151
+
152
+ if (null !== $encoding && !is_scalar($encoding)) {
153
+ trigger_error('mb_decode_numericentity() expects parameter 3 to be string, '.gettype($s).' given', E_USER_WARNING);
154
+ return ''; // Instead of null (cf. mb_encode_numericentity).
155
+ }
156
+
157
+ $s = (string) $s;
158
+ if ('' === $s) {
159
+ return '';
160
+ }
161
+
162
+ $encoding = self::getEncoding($encoding);
163
+
164
+ if ('UTF-8' === $encoding) {
165
+ $encoding = null;
166
+ if (!preg_match('//u', $s)) {
167
+ $s = @iconv('UTF-8', 'UTF-8//IGNORE', $s);
168
+ }
169
+ } else {
170
+ $s = iconv($encoding, 'UTF-8//IGNORE', $s);
171
+ }
172
+
173
+ $cnt = floor(count($convmap) / 4) * 4;
174
+
175
+ for ($i = 0; $i < $cnt; $i += 4) {
176
+ // collector_decode_htmlnumericentity ignores $convmap[$i + 3]
177
+ $convmap[$i] += $convmap[$i + 2];
178
+ $convmap[$i + 1] += $convmap[$i + 2];
179
+ }
180
+
181
+ $s = preg_replace_callback('/&#(?:0*([0-9]+)|x0*([0-9a-fA-F]+))(?!&);?/', function (array $m) use ($cnt, $convmap) {
182
+ $c = isset($m[2]) ? (int) hexdec($m[2]) : $m[1];
183
+ for ($i = 0; $i < $cnt; $i += 4) {
184
+ if ($c >= $convmap[$i] && $c <= $convmap[$i + 1]) {
185
+ return Mbstring::mb_chr($c - $convmap[$i + 2]);
186
+ }
187
+ }
188
+ return $m[0];
189
+ }, $s);
190
+
191
+ if (null === $encoding) {
192
+ return $s;
193
+ }
194
+
195
+ return iconv('UTF-8', $encoding.'//IGNORE', $s);
196
+ }
197
+
198
+ public static function mb_encode_numericentity($s, $convmap, $encoding = null, $is_hex = false)
199
+ {
200
+ if (null !== $s && !is_scalar($s) && !(is_object($s) && method_exists($s, '__toString'))) {
201
+ trigger_error('mb_encode_numericentity() expects parameter 1 to be string, '.gettype($s).' given', E_USER_WARNING);
202
+ return null;
203
+ }
204
+
205
+ if (!is_array($convmap) || !$convmap) {
206
+ return false;
207
+ }
208
+
209
+ if (null !== $encoding && !is_scalar($encoding)) {
210
+ trigger_error('mb_encode_numericentity() expects parameter 3 to be string, '.gettype($s).' given', E_USER_WARNING);
211
+ return null; // Instead of '' (cf. mb_decode_numericentity).
212
+ }
213
+
214
+ if (null !== $is_hex && !is_scalar($is_hex)) {
215
+ trigger_error('mb_encode_numericentity() expects parameter 4 to be boolean, '.gettype($s).' given', E_USER_WARNING);
216
+ return null;
217
+ }
218
+
219
+ $s = (string) $s;
220
+ if ('' === $s) {
221
+ return '';
222
+ }
223
+
224
+ $encoding = self::getEncoding($encoding);
225
+
226
+ if ('UTF-8' === $encoding) {
227
+ $encoding = null;
228
+ if (!preg_match('//u', $s)) {
229
+ $s = @iconv('UTF-8', 'UTF-8//IGNORE', $s);
230
+ }
231
+ } else {
232
+ $s = iconv($encoding, 'UTF-8//IGNORE', $s);
233
+ }
234
+
235
+ static $ulenMask = array("\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4);
236
+
237
+ $cnt = floor(count($convmap) / 4) * 4;
238
+ $i = 0;
239
+ $len = strlen($s);
240
+ $result = '';
241
+
242
+ while ($i < $len) {
243
+ $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xF0"];
244
+ $uchr = substr($s, $i, $ulen);
245
+ $i += $ulen;
246
+ $c = self::mb_ord($uchr);
247
+
248
+ for ($j = 0; $j < $cnt; $j += 4) {
249
+ if ($c >= $convmap[$j] && $c <= $convmap[$j + 1]) {
250
+ $cOffset = ($c + $convmap[$j + 2]) & $convmap[$j + 3];
251
+ $result .= $is_hex ? sprintf('&#x%X;', $cOffset) : '&#'.$cOffset.';';
252
+ continue 2;
253
+ }
254
+ }
255
+ $result .= $uchr;
256
+ }
257
+
258
+ if (null === $encoding) {
259
+ return $result;
260
+ }
261
+
262
+ return iconv('UTF-8', $encoding.'//IGNORE', $result);
263
+ }
264
+
265
  public static function mb_convert_case($s, $mode, $encoding = null)
266
  {
267
+ $s = (string) $s;
268
+ if ('' === $s) {
269
  return '';
270
  }
271
 
480
  return strpos($haystack, $needle, $offset);
481
  }
482
 
483
+ $needle = (string) $needle;
484
+ if ('' === $needle) {
485
  trigger_error(__METHOD__.': Empty delimiter', E_USER_WARNING);
486
 
487
  return false;
555
  }
556
  }
557
 
558
+ return (string) iconv_substr($s, $start, $length, $encoding);
559
  }
560
 
561
  public static function mb_stripos($haystack, $needle, $offset = 0, $encoding = null)
727
  return self::mb_substr($haystack, $pos, null, $encoding);
728
  }
729
 
730
+ private static function html_encoding_callback(array $m)
731
  {
732
  $i = 1;
733
  $entities = '';
752
  return $entities;
753
  }
754
 
755
+ private static function title_case_lower(array $s)
756
  {
757
  return self::mb_convert_case($s[0], MB_CASE_LOWER, 'UTF-8');
758
  }
759
 
760
+ private static function title_case_upper(array $s)
761
  {
762
  return self::mb_convert_case($s[0], MB_CASE_UPPER, 'UTF-8');
763
  }
vendor/symfony/polyfill-mbstring/bootstrap.php CHANGED
@@ -19,6 +19,8 @@ if (!function_exists('mb_strlen')) {
19
  function mb_convert_encoding($s, $to, $from = null) { return p\Mbstring::mb_convert_encoding($s, $to, $from); }
20
  function mb_decode_mimeheader($s) { return p\Mbstring::mb_decode_mimeheader($s); }
21
  function mb_encode_mimeheader($s, $charset = null, $transferEnc = null, $lf = null, $indent = null) { return p\Mbstring::mb_encode_mimeheader($s, $charset, $transferEnc, $lf, $indent); }
 
 
22
  function mb_convert_case($s, $mode, $enc = null) { return p\Mbstring::mb_convert_case($s, $mode, $enc); }
23
  function mb_internal_encoding($enc = null) { return p\Mbstring::mb_internal_encoding($enc); }
24
  function mb_language($lang = null) { return p\Mbstring::mb_language($lang); }
19
  function mb_convert_encoding($s, $to, $from = null) { return p\Mbstring::mb_convert_encoding($s, $to, $from); }
20
  function mb_decode_mimeheader($s) { return p\Mbstring::mb_decode_mimeheader($s); }
21
  function mb_encode_mimeheader($s, $charset = null, $transferEnc = null, $lf = null, $indent = null) { return p\Mbstring::mb_encode_mimeheader($s, $charset, $transferEnc, $lf, $indent); }
22
+ function mb_decode_numericentity($s, $convmap, $enc = null) { return p\Mbstring::mb_decode_numericentity($s, $convmap, $enc); }
23
+ function mb_encode_numericentity($s, $convmap, $enc = null, $is_hex = false) { return p\Mbstring::mb_encode_numericentity($s, $convmap, $enc, $is_hex); }
24
  function mb_convert_case($s, $mode, $enc = null) { return p\Mbstring::mb_convert_case($s, $mode, $enc); }
25
  function mb_internal_encoding($enc = null) { return p\Mbstring::mb_internal_encoding($enc); }
26
  function mb_language($lang = null) { return p\Mbstring::mb_language($lang); }
vendor/symfony/polyfill-mbstring/composer.json CHANGED
@@ -28,7 +28,7 @@
28
  "minimum-stability": "dev",
29
  "extra": {
30
  "branch-alias": {
31
- "dev-master": "1.6-dev"
32
  }
33
  }
34
  }
28
  "minimum-stability": "dev",
29
  "extra": {
30
  "branch-alias": {
31
+ "dev-master": "1.7-dev"
32
  }
33
  }
34
  }
vendor/symfony/translation/Dumper/FileDumper.php CHANGED
@@ -75,7 +75,7 @@ abstract class FileDumper implements DumperInterface
75
  $fullpath = $options['path'].'/'.$this->getRelativePath($domain, $messages->getLocale());
76
  if (file_exists($fullpath)) {
77
  if ($this->backup) {
78
- @trigger_error('Creating a backup while dumping a message catalogue is deprecated since version 3.1 and will be removed in 4.0. Use TranslationWriter::disableBackup() to disable the backup.', E_USER_DEPRECATED);
79
  copy($fullpath, $fullpath.'~');
80
  }
81
  } else {
75
  $fullpath = $options['path'].'/'.$this->getRelativePath($domain, $messages->getLocale());
76
  if (file_exists($fullpath)) {
77
  if ($this->backup) {
78
+ @trigger_error('Creating a backup while dumping a message catalogue is deprecated since Symfony 3.1 and will be removed in 4.0. Use TranslationWriter::disableBackup() to disable the backup.', E_USER_DEPRECATED);
79
  copy($fullpath, $fullpath.'~');
80
  }
81
  } else {
vendor/symfony/translation/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2004-2017 Fabien Potencier
2
 
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
  of this software and associated documentation files (the "Software"), to deal
1
+ Copyright (c) 2004-2018 Fabien Potencier
2
 
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
  of this software and associated documentation files (the "Software"), to deal
vendor/symfony/translation/Loader/XliffFileLoader.php CHANGED
@@ -234,16 +234,20 @@ class XliffFileLoader implements LoaderInterface
234
  {
235
  $newPath = str_replace('\\', '/', __DIR__).'/schema/dic/xliff-core/xml.xsd';
236
  $parts = explode('/', $newPath);
 
237
  if (0 === stripos($newPath, 'phar://')) {
238
  $tmpfile = tempnam(sys_get_temp_dir(), 'symfony');
239
  if ($tmpfile) {
240
  copy($newPath, $tmpfile);
241
  $parts = explode('/', str_replace('\\', '/', $tmpfile));
 
 
 
242
  }
243
  }
244
 
245
  $drive = '\\' === DIRECTORY_SEPARATOR ? array_shift($parts).'/' : '';
246
- $newPath = 'file:///'.$drive.implode('/', array_map('rawurlencode', $parts));
247
 
248
  return str_replace($xmlUri, $newPath, $schemaSource);
249
  }
234
  {
235
  $newPath = str_replace('\\', '/', __DIR__).'/schema/dic/xliff-core/xml.xsd';
236
  $parts = explode('/', $newPath);
237
+ $locationstart = 'file:///';
238
  if (0 === stripos($newPath, 'phar://')) {
239
  $tmpfile = tempnam(sys_get_temp_dir(), 'symfony');
240
  if ($tmpfile) {
241
  copy($newPath, $tmpfile);
242
  $parts = explode('/', str_replace('\\', '/', $tmpfile));
243
+ } else {
244
+ array_shift($parts);
245
+ $locationstart = 'phar:///';
246
  }
247
  }
248
 
249
  $drive = '\\' === DIRECTORY_SEPARATOR ? array_shift($parts).'/' : '';
250
+ $newPath = $locationstart.$drive.implode('/', array_map('rawurlencode', $parts));
251
 
252
  return str_replace($xmlUri, $newPath, $schemaSource);
253
  }
vendor/symfony/translation/Tests/Writer/TranslationWriterTest.php CHANGED
@@ -20,7 +20,7 @@ class TranslationWriterTest extends TestCase
20
  {
21
  /**
22
  * @group legacy
23
- * @expectedDeprecation Method Symfony\Component\Translation\Writer\TranslationWriter::writeTranslations() is deprecated since version 3.4 and will be removed in 4.0. Use write() instead.
24
  */
25
  public function testWriteTranslations()
26
  {
20
  {
21
  /**
22
  * @group legacy
23
+ * @expectedDeprecation Method Symfony\Component\Translation\Writer\TranslationWriter::writeTranslations() is deprecated since Symfony 3.4 and will be removed in 4.0. Use write() instead.
24
  */
25
  public function testWriteTranslations()
26
  {
vendor/symfony/translation/Translator.php CHANGED
@@ -87,7 +87,7 @@ class Translator implements TranslatorInterface, TranslatorBagInterface
87
 
88
  if ($formatter instanceof MessageSelector) {
89
  $formatter = new MessageFormatter($formatter);
90
- @trigger_error(sprintf('Passing a "%s" instance into the "%s" as a second argument is deprecated since version 3.4 and will be removed in 4.0. Inject a "%s" implementation instead.', MessageSelector::class, __METHOD__, MessageFormatterInterface::class), E_USER_DEPRECATED);
91
  } elseif (null === $formatter) {
92
  $formatter = new MessageFormatter();
93
  }
87
 
88
  if ($formatter instanceof MessageSelector) {
89
  $formatter = new MessageFormatter($formatter);
90
+ @trigger_error(sprintf('Passing a "%s" instance into the "%s" as a second argument is deprecated since Symfony 3.4 and will be removed in 4.0. Inject a "%s" implementation instead.', MessageSelector::class, __METHOD__, MessageFormatterInterface::class), E_USER_DEPRECATED);
91
  } elseif (null === $formatter) {
92
  $formatter = new MessageFormatter();
93
  }
vendor/symfony/translation/Writer/TranslationWriter.php CHANGED
@@ -97,7 +97,7 @@ class TranslationWriter implements TranslationWriterInterface
97
  */
98
  public function writeTranslations(MessageCatalogue $catalogue, $format, $options = array())
99
  {
100
- @trigger_error(sprintf('Method %s() is deprecated since version 3.4 and will be removed in 4.0. Use write() instead.', __METHOD__), E_USER_DEPRECATED);
101
  $this->write($catalogue, $format, $options);
102
  }
103
  }
97
  */
98
  public function writeTranslations(MessageCatalogue $catalogue, $format, $options = array())
99
  {
100
+ @trigger_error(sprintf('Method %s() is deprecated since Symfony 3.4 and will be removed in 4.0. Use write() instead.', __METHOD__), E_USER_DEPRECATED);
101
  $this->write($catalogue, $format, $options);
102
  }
103
  }