Easing Slider - Version 3.0.4

Version Description

  • June 6th, 2016 =
  • Fixed issue that caused template function not to display unless echoed.
  • Fixed Fatal error: Can't inherit abstract function related issues (known PHP bug https://bugs.php.net/bug.php?id=66818).
  • Added additional legacy functionality for users upgrading from v2.1.*.
  • Fixed issue that would cause widget not to display.
Download this release

Release Info

Developer MatthewRuddy
Plugin Icon 128x128 Easing Slider
Version 3.0.4
Comparing to
See all releases

Code changes from version 3.0.3 to 3.0.4

bower.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "Easing Slider",
3
- "version": "3.0.3",
4
  "homepage": "https://github.com/easingslider/easing-slider",
5
  "authors": [
6
  "MatthewRuddy <info@matthewruddy.com>"
1
  {
2
  "name": "Easing Slider",
3
+ "version": "3.0.4",
4
  "homepage": "https://github.com/easingslider/easing-slider",
5
  "authors": [
6
  "MatthewRuddy <info@matthewruddy.com>"
easing-slider.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Easing Slider
4
  * Plugin URI: http://easingslider.com/
5
  * Description: A simple WordPress plugin for creating beautiful sliders.
6
- * Version: 3.0.3
7
  * Author: Matthew Ruddy
8
  * Author URI: http://matthewruddy.com
9
  * License: GPL2
@@ -25,7 +25,7 @@ if ( ! defined('ABSPATH')) {
25
  /**
26
  * Define constants
27
  */
28
- define('EASINGSLIDER_VERSION', '3.0.3');
29
  define('EASINGSLIDER_NAME', 'Easing Slider');
30
  define('EASINGSLIDER_API_URL', 'http://easingslider.com/');
31
  define('EASINGSLIDER_PLUGIN_DIR', plugin_dir_path(__FILE__));
3
  * Plugin Name: Easing Slider
4
  * Plugin URI: http://easingslider.com/
5
  * Description: A simple WordPress plugin for creating beautiful sliders.
6
+ * Version: 3.0.4
7
  * Author: Matthew Ruddy
8
  * Author URI: http://matthewruddy.com
9
  * License: GPL2
25
  /**
26
  * Define constants
27
  */
28
+ define('EASINGSLIDER_VERSION', '3.0.4');
29
  define('EASINGSLIDER_NAME', 'Easing Slider');
30
  define('EASINGSLIDER_API_URL', 'http://easingslider.com/');
31
  define('EASINGSLIDER_PLUGIN_DIR', plugin_dir_path(__FILE__));
languages/easingslider.pot CHANGED
@@ -2,7 +2,7 @@
2
  # This file is distributed under the GPL2.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Easing Slider 3.0.3\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/easing-slider\n"
7
  "POT-Creation-Date: 2016-06-04 08:24:35+00:00\n"
8
  "MIME-Version: 1.0\n"
2
  # This file is distributed under the GPL2.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Easing Slider 3.0.4\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/easing-slider\n"
7
  "POT-Creation-Date: 2016-06-04 08:24:35+00:00\n"
8
  "MIME-Version: 1.0\n"
package.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "name": "easing-slider",
3
  "title": "Easing Slider",
4
- "version": "3.0.3",
5
  "devDependencies": {
6
  "grunt": "0.4.5",
7
  "grunt-contrib-concat": "^0.5.1",
1
  {
2
  "name": "easing-slider",
3
  "title": "Easing Slider",
4
+ "version": "3.0.4",
5
  "devDependencies": {
6
  "grunt": "0.4.5",
7
  "grunt-contrib-concat": "^0.5.1",
readme.txt CHANGED
@@ -4,7 +4,7 @@ Contributors: MatthewRuddy
4
  Tags: slider, wordpress slider, carousel, image slider, responsive slider, slide, slider, slideshow, wordpress slideshow, youtube slider, photo slider, banner rotator, best slider, content slider, fullwidth slider, gallery, hardware accelerate, mobile slider,post slider, swipe, touch slider, page slider, slider plugin, slider shortcode
5
  Requires at least: 4.5
6
  Tested up to: 4.6
7
- Stable tag: 3.0.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -89,9 +89,11 @@ This is easy. When editing a slider in the "All Sliders" admin area, simply clic
89
 
90
  == Changelog ==
91
 
92
- = 3.0.3 - June 4th, 2016 =
93
  * Fixed issue that caused template function not to display unless echoed.
94
- * Fixed `Fatal error: Can't inherit abstract function` related issues (known PHP bug https://bugs.php.net/bug.php?id=66818)
 
 
95
 
96
  = 3.0.2 - June 3rd, 2016 =
97
  * Refactored boot sequence to prevent errors prior to completing PHP & WordPress version checks.
4
  Tags: slider, wordpress slider, carousel, image slider, responsive slider, slide, slider, slideshow, wordpress slideshow, youtube slider, photo slider, banner rotator, best slider, content slider, fullwidth slider, gallery, hardware accelerate, mobile slider,post slider, swipe, touch slider, page slider, slider plugin, slider shortcode
5
  Requires at least: 4.5
6
  Tested up to: 4.6
7
+ Stable tag: 3.0.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
89
 
90
  == Changelog ==
91
 
92
+ = 3.0.4 - June 6th, 2016 =
93
  * Fixed issue that caused template function not to display unless echoed.
94
+ * Fixed `Fatal error: Can't inherit abstract function` related issues (known PHP bug https://bugs.php.net/bug.php?id=66818).
95
+ * Added additional legacy functionality for users upgrading from v2.1.*.
96
+ * Fixed issue that would cause widget not to display.
97
 
98
  = 3.0.2 - June 3rd, 2016 =
99
  * Refactored boot sequence to prevent errors prior to completing PHP & WordPress version checks.
src/Foundation/Admin/Upgrades/Upgrade.php CHANGED
@@ -14,6 +14,13 @@ if ( ! defined('ABSPATH')) {
14
 
15
  abstract class Upgrade implements UpgradeContract
16
  {
 
 
 
 
 
 
 
17
  /**
18
  * The version we're upgrading from (or greater)
19
  *
@@ -46,6 +53,11 @@ abstract class Upgrade implements UpgradeContract
46
  */
47
  public function isEligible($version)
48
  {
 
 
 
 
 
49
  // Compare version against upgrade "to" and "from" values to ensure a strict bracket of eligible versions.
50
  if (version_compare($version, $this->upgradeFrom, '>=')) {
51
  if (version_compare($version, $this->upgradeTo, '<')) {
14
 
15
  abstract class Upgrade implements UpgradeContract
16
  {
17
+ /**
18
+ * Forces the upgrade, regardless of version
19
+ *
20
+ * @var boolean
21
+ */
22
+ protected $force = false;
23
+
24
  /**
25
  * The version we're upgrading from (or greater)
26
  *
53
  */
54
  public function isEligible($version)
55
  {
56
+ // Always eligible if forced
57
+ if (true === $this->force) {
58
+ return true;
59
+ }
60
+
61
  // Compare version against upgrade "to" and "from" values to ensure a strict bracket of eligible versions.
62
  if (version_compare($version, $this->upgradeFrom, '>=')) {
63
  if (version_compare($version, $this->upgradeTo, '<')) {
src/Foundation/Repositories/PostType.php CHANGED
@@ -106,6 +106,9 @@ abstract class PostType implements RepositoryContract
106
  */
107
  public function create($data = array())
108
  {
 
 
 
109
  // Create the post
110
  $id = wp_insert_post($this->purgeMetaData($data));
111
 
106
  */
107
  public function create($data = array())
108
  {
109
+ // Merge data with defaults
110
+ $data = array_merge($this->defaultPostData(), $data);
111
+
112
  // Create the post
113
  $id = wp_insert_post($this->purgeMetaData($data));
114
 
src/Plugin/Admin/Upgrades/ImportFromLite.php ADDED
@@ -0,0 +1,180 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace EasingSlider\Plugin\Admin\Upgrades;
4
+
5
+ use EasingSlider\Foundation\Admin\Upgrades\Upgrade;
6
+ use EasingSlider\Foundation\Contracts\Repositories\Repository;
7
+
8
+ /**
9
+ * Exit if accessed directly
10
+ */
11
+ if ( ! defined('ABSPATH')) {
12
+ exit;
13
+ }
14
+
15
+ class ImportFromLite extends Upgrade
16
+ {
17
+ /**
18
+ * Sliders
19
+ *
20
+ * @var \EasingSlider\Foundation\Contracts\Repositories\Repository
21
+ */
22
+ protected $sliders;
23
+
24
+ /**
25
+ * Force
26
+ *
27
+ * @var boolean
28
+ */
29
+ protected $force = true;
30
+
31
+ /**
32
+ * Constructor
33
+ *
34
+ * @param \EasingSlider\Foundation\Contracts\Repositories\Repository $sliders
35
+ * @return void
36
+ */
37
+ public function __construct(Repository $sliders)
38
+ {
39
+ $this->sliders = $sliders;
40
+ }
41
+
42
+ /**
43
+ * Sets a slider attribute, if the old slider value exists.
44
+ *
45
+ * @param array $slider
46
+ * @param string $key
47
+ * @param object $liteSlider
48
+ * @param string $oldSection
49
+ * @param string $oldKey
50
+ * @return array
51
+ */
52
+ protected function setSliderAttribute($slider, $key, $liteSlider, $oldSection, $oldValue)
53
+ {
54
+ if (isset($liteSlider->{$oldSection}->{$oldValue})) {
55
+ $slider[$key] = $liteSlider->{$oldSection}->{$oldValue};
56
+ }
57
+
58
+ return $slider;
59
+ }
60
+
61
+ /**
62
+ * Gets the "Easing Slider 'Lite'" slider
63
+ *
64
+ * @return object
65
+ */
66
+ protected function getLiteSlider()
67
+ {
68
+ $prefixes = array('easingsliderlite', 'rivasliderlite');
69
+
70
+ foreach ($prefixes as $prefix) {
71
+ $liteSlider = get_option("{$prefix}_slideshow", false);
72
+
73
+ if ($liteSlider) {
74
+ return $liteSlider;
75
+ }
76
+ }
77
+
78
+ return false;
79
+ }
80
+
81
+ /**
82
+ * Creates a new slider for our previous "Easing Slider 'Lite'" slider
83
+ *
84
+ * @return void
85
+ */
86
+ protected function createLiteSlider()
87
+ {
88
+ global $wpdb;
89
+
90
+ $data = array();
91
+
92
+ // Get the "Easing Slider 'Lite'" slider
93
+ $liteSlider = $this->getLiteSlider();
94
+
95
+ // Also get the 'Lite' slider reference ID
96
+ $liteSliderId = get_option('easingslider_lite_slider_id', false);
97
+
98
+ if ($liteSlider && ! $liteSliderId) {
99
+
100
+ // Map linear attributes
101
+ $data['post_title'] = __('Your Slider', 'easingslider');
102
+ $data['type'] = 'media';
103
+ $data['slides'] = array();
104
+ $data['image_resizing'] = true;
105
+ $data['auto_height'] = false;
106
+ $data['lazy_loading'] = true;
107
+
108
+ // Map dynamic attributes
109
+ $data = $this->setSliderAttribute($data, 'randomize', $liteSlider, 'general', 'randomize');
110
+ $data = $this->setSliderAttribute($data, 'width', $liteSlider, 'dimensions', 'width');
111
+ $data = $this->setSliderAttribute($data, 'height', $liteSlider, 'dimensions', 'height');
112
+ $data = $this->setSliderAttribute($data, 'full_width', $liteSlider, 'dimensions', 'full_width');
113
+ $data = $this->setSliderAttribute($data, 'background_images', $liteSlider, 'dimensions', 'background_images');
114
+ $data = $this->setSliderAttribute($data, 'transition_effect', $liteSlider, 'transitions', 'effect');
115
+ $data = $this->setSliderAttribute($data, 'transition_duration', $liteSlider, 'transitions', 'duration');
116
+ $data = $this->setSliderAttribute($data, 'arrows', $liteSlider, 'navigation', 'arrows');
117
+ $data = $this->setSliderAttribute($data, 'arrows_hover', $liteSlider, 'navigation', 'arrows_hover');
118
+ $data = $this->setSliderAttribute($data, 'arrows_position', $liteSlider, 'navigation', 'arrows_position');
119
+ $data = $this->setSliderAttribute($data, 'pagination', $liteSlider, 'navigation', 'pagination');
120
+ $data = $this->setSliderAttribute($data, 'pagination_hover', $liteSlider, 'navigation', 'pagination_hover');
121
+ $data = $this->setSliderAttribute($data, 'pagination_position', $liteSlider, 'navigation', 'pagination_position');
122
+ $data = $this->setSliderAttribute($data, 'pagination_location', $liteSlider, 'navigation', 'pagination_location');
123
+ $data = $this->setSliderAttribute($data, 'playback_enabled', $liteSlider, 'playback', 'enabled');
124
+ $data = $this->setSliderAttribute($data, 'playback_pause', $liteSlider, 'playback', 'pause');
125
+
126
+ // Add the slides
127
+ foreach ($liteSlider->slides as $liteSlide) {
128
+
129
+ // Query the guid
130
+ $attachmentQuery = $wpdb->prepare("SELECT ID FROM {$wpdb->posts} WHERE guid='%s'", $liteSlide->url);
131
+
132
+ // Attempt to get the attachment of this image
133
+ $attachmentId = $wpdb->get_var($attachmentQuery);
134
+
135
+ // Populate the slide
136
+ $slide = (object) array(
137
+ 'id' => absint($liteSlide->id),
138
+ 'attachment_id' => absint($attachmentId),
139
+ 'type' => 'image',
140
+ 'alt' => sanitize_text_field($liteSlide->alt),
141
+ 'aspectRatio' => null,
142
+ 'link' => ($liteSlide->link) ? 'custom' : 'none',
143
+ 'linkUrl' => sanitize_text_field($liteSlide->link),
144
+ 'linkTargetBlank' => ('_blank' == $liteSlide->linkTarget) ? '_blank': false,
145
+ 'title' => sanitize_text_field($liteSlide->title)
146
+ );
147
+
148
+ // Add an image URL if we aren't using an attachment
149
+ if ( ! $attachmentId) {
150
+ $slide->url = sanitize_text_field($liteSlider->url);
151
+ }
152
+
153
+ // Add the slide
154
+ $data['slides'][] = $slide;
155
+
156
+ }
157
+
158
+ // Create the slider
159
+ $slider = $this->sliders->create($data);
160
+
161
+ // Save the Easing Slider "Lite" slider ID
162
+ update_option('easingslider_lite_slider_id', $slider->ID);
163
+
164
+ // Delete the old slider
165
+ // delete_option('easingsliderlite_slideshow');
166
+ // delete_option('rivasliderlite_slideshow');
167
+
168
+ }
169
+ }
170
+
171
+ /**
172
+ * Executes the upgrade
173
+ *
174
+ * @return void
175
+ */
176
+ public function upgrade()
177
+ {
178
+ $this->createLiteSlider();
179
+ }
180
+ }
src/Plugin/Admin/Upgrades/UpgradeTo300.php CHANGED
@@ -5,9 +5,11 @@ namespace EasingSlider\Plugin\Admin\Upgrades;
5
  use WP_Roles;
6
  use WP_Query;
7
  use EasingSlider\Foundation\Admin\Upgrades\Upgrade;
 
8
  use EasingSlider\Plugin\Contracts\Options\License;
9
  use EasingSlider\Plugin\Contracts\Options\Settings;
10
 
 
11
  /**
12
  * Exit if accessed directly
13
  */
@@ -17,6 +19,13 @@ if ( ! defined('ABSPATH')) {
17
 
18
  class UpgradeTo300 extends Upgrade
19
  {
 
 
 
 
 
 
 
20
  /**
21
  * Settings
22
  *
@@ -48,12 +57,14 @@ class UpgradeTo300 extends Upgrade
48
  /**
49
  * Constructor
50
  *
51
- * @param \EasingSlider\Plugin\Contracts\Options\Settings $settings
52
- * @param \EasingSlider\Plugin\Contracts\Options\License $license
 
53
  * @return void
54
  */
55
- public function __construct(Settings $settings, License $license)
56
  {
 
57
  $this->settings = $settings;
58
  $this->license = $license;
59
  }
@@ -168,9 +179,6 @@ class UpgradeTo300 extends Upgrade
168
  */
169
  protected function upgradeSliders()
170
  {
171
- // Get sliders
172
- $sliders = Easing_Slider()->sliders();
173
-
174
  // Get old sliders
175
  $oldSliders = $this->getOldSliders();
176
 
@@ -187,7 +195,6 @@ class UpgradeTo300 extends Upgrade
187
  $data['post_title'] = get_the_title($oldSlider->ID);
188
  $data['type'] = 'media';
189
  $data['slides'] = $oldSlider->slides;
190
- $data['responsive'] = true;
191
  $data['image_resizing'] = true;
192
  $data['auto_height'] = false;
193
  $data['lazy_loading'] = true;
@@ -211,7 +218,7 @@ class UpgradeTo300 extends Upgrade
211
  $data = $this->setSliderAttribute($data, 'playback_pause', $oldSlider, 'playback', 'pause');
212
 
213
  // Update the slider with new data
214
- $sliders->update($oldSlider->ID, $data);
215
 
216
  // Delete old slider meta
217
  delete_post_meta($oldSlider->ID, '_easingslider_slides', true);
5
  use WP_Roles;
6
  use WP_Query;
7
  use EasingSlider\Foundation\Admin\Upgrades\Upgrade;
8
+ use EasingSlider\Foundation\Contracts\Repositories\Repository;
9
  use EasingSlider\Plugin\Contracts\Options\License;
10
  use EasingSlider\Plugin\Contracts\Options\Settings;
11
 
12
+
13
  /**
14
  * Exit if accessed directly
15
  */
19
 
20
  class UpgradeTo300 extends Upgrade
21
  {
22
+ /**
23
+ * Sliders
24
+ *
25
+ * @var \EasingSlider\Foundation\Contracts\Repositories\Repository
26
+ */
27
+ protected $sliders;
28
+
29
  /**
30
  * Settings
31
  *
57
  /**
58
  * Constructor
59
  *
60
+ * @param \EasingSlider\Foundation\Contracts\Repositories\Repository $sliders
61
+ * @param \EasingSlider\Plugin\Contracts\Options\Settings $settings
62
+ * @param \EasingSlider\Plugin\Contracts\Options\License $license
63
  * @return void
64
  */
65
+ public function __construct(Repository $sliders, Settings $settings, License $license)
66
  {
67
+ $this->sliders = $sliders;
68
  $this->settings = $settings;
69
  $this->license = $license;
70
  }
179
  */
180
  protected function upgradeSliders()
181
  {
 
 
 
182
  // Get old sliders
183
  $oldSliders = $this->getOldSliders();
184
 
195
  $data['post_title'] = get_the_title($oldSlider->ID);
196
  $data['type'] = 'media';
197
  $data['slides'] = $oldSlider->slides;
 
198
  $data['image_resizing'] = true;
199
  $data['auto_height'] = false;
200
  $data['lazy_loading'] = true;
218
  $data = $this->setSliderAttribute($data, 'playback_pause', $oldSlider, 'playback', 'pause');
219
 
220
  // Update the slider with new data
221
+ $this->sliders->update($oldSlider->ID, $data);
222
 
223
  // Delete old slider meta
224
  delete_post_meta($oldSlider->ID, '_easingslider_slides', true);
src/Plugin/Admin/Upgrades/Upgrader.php CHANGED
@@ -20,6 +20,7 @@ class Upgrader extends BaseUpgrader
20
  */
21
  protected function boot()
22
  {
 
23
  $this->upgrades[] = $this->plugin->make('\EasingSlider\Plugin\Admin\Upgrades\UpgradeTo300');
24
  }
25
  }
20
  */
21
  protected function boot()
22
  {
23
+ $this->upgrades[] = $this->plugin->make('\EasingSlider\Plugin\Admin\Upgrades\ImportFromLite');
24
  $this->upgrades[] = $this->plugin->make('\EasingSlider\Plugin\Admin\Upgrades\UpgradeTo300');
25
  }
26
  }
src/Plugin/Models/Slider.php CHANGED
@@ -26,7 +26,6 @@ class Slider extends Model
26
  'randomize' => false,
27
  'width' => 640,
28
  'height' => 400,
29
- 'responsive' => true,
30
  'full_width' => false,
31
  'image_resizing' => true,
32
  'auto_height' => false,
26
  'randomize' => false,
27
  'width' => 640,
28
  'height' => 400,
 
29
  'full_width' => false,
30
  'image_resizing' => true,
31
  'auto_height' => false,
src/Plugin/Widgets/Slider.php CHANGED
@@ -121,7 +121,7 @@ class Slider extends Widget
121
  public function display($instance)
122
  {
123
  if ( ! empty($instance['id'])) {
124
- $this->shortcode->render(array('id' => $instance['id']));
125
  }
126
  }
127
  }
121
  public function display($instance)
122
  {
123
  if ( ! empty($instance['id'])) {
124
+ echo $this->shortcode->render(array('id' => $instance['id']));
125
  }
126
  }
127
  }
src/Plugin/legacy.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Exit if accessed directly
5
+ */
6
+ if ( ! defined('ABSPATH')) {
7
+ exit;
8
+ }
9
+
10
+ if ( ! function_exists('easingsliderlite')) {
11
+ /**
12
+ * Displays the "Easing Slider 'Lite'" slider
13
+ *
14
+ * @return void
15
+ */
16
+ function easingsliderlite()
17
+ {
18
+ echo do_shortcode('[easingsliderlite]');
19
+ }
20
+ }
21
+
22
+ if ( ! function_exists('easingsliderlite_shortcode')) {
23
+ /**
24
+ * Displays the "Easing Slider 'Lite'" slider by shortcode
25
+ *
26
+ * @return void
27
+ */
28
+ function easingsliderlite_shortcode()
29
+ {
30
+ $liteSliderId = absint(get_option('easingslider_lite_slider_id'));
31
+
32
+ echo do_shortcode("[easingslider id=\"{$liteSliderId}\"]");
33
+ }
34
+ add_shortcode('easingsliderlite', 'easingsliderlite_shortcode');
35
+ }
vendor/composer/autoload_files.php CHANGED
@@ -8,4 +8,5 @@ $baseDir = dirname($vendorDir);
8
  return array(
9
  'aeb63d164f6cca31ad3c0b587e63813b' => $baseDir . '/src/Foundation/helpers.php',
10
  '8820040b8131984b49e14e759290eb43' => $baseDir . '/src/Plugin/helpers.php',
 
11
  );
8
  return array(
9
  'aeb63d164f6cca31ad3c0b587e63813b' => $baseDir . '/src/Foundation/helpers.php',
10
  '8820040b8131984b49e14e759290eb43' => $baseDir . '/src/Plugin/helpers.php',
11
+ 'd782bda2a4ad2f46f68d9f8f32084f2c' => $baseDir . '/src/Plugin/legacy.php',
12
  );