Download Monitor - Version 4.0.3

Version Description

Download this release

Release Info

Developer barrykooij
Plugin Icon 128x128 Download Monitor
Version 4.0.3
Comparing to
See all releases

Code changes from version 4.0.2 to 4.0.3

composer.lock CHANGED
@@ -42,32 +42,32 @@
42
  "packages-dev": [
43
  {
44
  "name": "doctrine/instantiator",
45
- "version": "1.0.5",
46
  "source": {
47
  "type": "git",
48
  "url": "https://github.com/doctrine/instantiator.git",
49
- "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
50
  },
51
  "dist": {
52
  "type": "zip",
53
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
54
- "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
55
  "shasum": ""
56
  },
57
  "require": {
58
- "php": ">=5.3,<8.0-DEV"
59
  },
60
  "require-dev": {
61
  "athletic/athletic": "~0.1.8",
62
  "ext-pdo": "*",
63
  "ext-phar": "*",
64
- "phpunit/phpunit": "~4.0",
65
- "squizlabs/php_codesniffer": "~2.0"
66
  },
67
  "type": "library",
68
  "extra": {
69
  "branch-alias": {
70
- "dev-master": "1.0.x-dev"
71
  }
72
  },
73
  "autoload": {
@@ -92,7 +92,7 @@
92
  "constructor",
93
  "instantiate"
94
  ],
95
- "time": "2015-06-14 21:17:01"
96
  },
97
  {
98
  "name": "myclabs/deep-copy",
@@ -297,16 +297,16 @@
297
  },
298
  {
299
  "name": "phpdocumentor/reflection-docblock",
300
- "version": "4.2.0",
301
  "source": {
302
  "type": "git",
303
  "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
304
- "reference": "66465776cfc249844bde6d117abff1d22e06c2da"
305
  },
306
  "dist": {
307
  "type": "zip",
308
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/66465776cfc249844bde6d117abff1d22e06c2da",
309
- "reference": "66465776cfc249844bde6d117abff1d22e06c2da",
310
  "shasum": ""
311
  },
312
  "require": {
@@ -344,7 +344,7 @@
344
  }
345
  ],
346
  "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
347
- "time": "2017-11-27 17:38:31"
348
  },
349
  {
350
  "name": "phpdocumentor/type-resolver",
@@ -707,16 +707,16 @@
707
  },
708
  {
709
  "name": "phpunit/phpunit",
710
- "version": "6.5.5",
711
  "source": {
712
  "type": "git",
713
  "url": "https://github.com/sebastianbergmann/phpunit.git",
714
- "reference": "83d27937a310f2984fd575686138597147bdc7df"
715
  },
716
  "dist": {
717
  "type": "zip",
718
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/83d27937a310f2984fd575686138597147bdc7df",
719
- "reference": "83d27937a310f2984fd575686138597147bdc7df",
720
  "shasum": ""
721
  },
722
  "require": {
@@ -787,7 +787,7 @@
787
  "testing",
788
  "xunit"
789
  ],
790
- "time": "2017-12-17 06:31:19"
791
  },
792
  {
793
  "name": "phpunit/phpunit-mock-objects",
@@ -895,21 +895,21 @@
895
  },
896
  {
897
  "name": "sebastian/comparator",
898
- "version": "2.1.2",
899
  "source": {
900
  "type": "git",
901
  "url": "https://github.com/sebastianbergmann/comparator.git",
902
- "reference": "11c07feade1d65453e06df3b3b90171d6d982087"
903
  },
904
  "dist": {
905
  "type": "zip",
906
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/11c07feade1d65453e06df3b3b90171d6d982087",
907
- "reference": "11c07feade1d65453e06df3b3b90171d6d982087",
908
  "shasum": ""
909
  },
910
  "require": {
911
  "php": "^7.0",
912
- "sebastian/diff": "^2.0",
913
  "sebastian/exporter": "^3.1"
914
  },
915
  "require-dev": {
@@ -955,7 +955,7 @@
955
  "compare",
956
  "equality"
957
  ],
958
- "time": "2018-01-12 06:34:42"
959
  },
960
  {
961
  "name": "sebastian/diff",
@@ -1449,16 +1449,16 @@
1449
  },
1450
  {
1451
  "name": "webmozart/assert",
1452
- "version": "1.2.0",
1453
  "source": {
1454
  "type": "git",
1455
  "url": "https://github.com/webmozart/assert.git",
1456
- "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f"
1457
  },
1458
  "dist": {
1459
  "type": "zip",
1460
- "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f",
1461
- "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f",
1462
  "shasum": ""
1463
  },
1464
  "require": {
@@ -1495,7 +1495,7 @@
1495
  "check",
1496
  "validate"
1497
  ],
1498
- "time": "2016-11-23 20:04:58"
1499
  }
1500
  ],
1501
  "aliases": [],
42
  "packages-dev": [
43
  {
44
  "name": "doctrine/instantiator",
45
+ "version": "1.1.0",
46
  "source": {
47
  "type": "git",
48
  "url": "https://github.com/doctrine/instantiator.git",
49
+ "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
50
  },
51
  "dist": {
52
  "type": "zip",
53
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
54
+ "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
55
  "shasum": ""
56
  },
57
  "require": {
58
+ "php": "^7.1"
59
  },
60
  "require-dev": {
61
  "athletic/athletic": "~0.1.8",
62
  "ext-pdo": "*",
63
  "ext-phar": "*",
64
+ "phpunit/phpunit": "^6.2.3",
65
+ "squizlabs/php_codesniffer": "^3.0.2"
66
  },
67
  "type": "library",
68
  "extra": {
69
  "branch-alias": {
70
+ "dev-master": "1.2.x-dev"
71
  }
72
  },
73
  "autoload": {
92
  "constructor",
93
  "instantiate"
94
  ],
95
+ "time": "2017-07-22 11:58:36"
96
  },
97
  {
98
  "name": "myclabs/deep-copy",
297
  },
298
  {
299
  "name": "phpdocumentor/reflection-docblock",
300
+ "version": "4.3.0",
301
  "source": {
302
  "type": "git",
303
  "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
304
+ "reference": "94fd0001232e47129dd3504189fa1c7225010d08"
305
  },
306
  "dist": {
307
  "type": "zip",
308
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08",
309
+ "reference": "94fd0001232e47129dd3504189fa1c7225010d08",
310
  "shasum": ""
311
  },
312
  "require": {
344
  }
345
  ],
346
  "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
347
+ "time": "2017-11-30 07:14:17"
348
  },
349
  {
350
  "name": "phpdocumentor/type-resolver",
707
  },
708
  {
709
  "name": "phpunit/phpunit",
710
+ "version": "6.5.6",
711
  "source": {
712
  "type": "git",
713
  "url": "https://github.com/sebastianbergmann/phpunit.git",
714
+ "reference": "3330ef26ade05359d006041316ed0fa9e8e3cefe"
715
  },
716
  "dist": {
717
  "type": "zip",
718
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3330ef26ade05359d006041316ed0fa9e8e3cefe",
719
+ "reference": "3330ef26ade05359d006041316ed0fa9e8e3cefe",
720
  "shasum": ""
721
  },
722
  "require": {
787
  "testing",
788
  "xunit"
789
  ],
790
+ "time": "2018-02-01 05:57:37"
791
  },
792
  {
793
  "name": "phpunit/phpunit-mock-objects",
895
  },
896
  {
897
  "name": "sebastian/comparator",
898
+ "version": "2.1.3",
899
  "source": {
900
  "type": "git",
901
  "url": "https://github.com/sebastianbergmann/comparator.git",
902
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9"
903
  },
904
  "dist": {
905
  "type": "zip",
906
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9",
907
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9",
908
  "shasum": ""
909
  },
910
  "require": {
911
  "php": "^7.0",
912
+ "sebastian/diff": "^2.0 || ^3.0",
913
  "sebastian/exporter": "^3.1"
914
  },
915
  "require-dev": {
955
  "compare",
956
  "equality"
957
  ],
958
+ "time": "2018-02-01 13:46:46"
959
  },
960
  {
961
  "name": "sebastian/diff",
1449
  },
1450
  {
1451
  "name": "webmozart/assert",
1452
+ "version": "1.3.0",
1453
  "source": {
1454
  "type": "git",
1455
  "url": "https://github.com/webmozart/assert.git",
1456
+ "reference": "0df1908962e7a3071564e857d86874dad1ef204a"
1457
  },
1458
  "dist": {
1459
  "type": "zip",
1460
+ "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a",
1461
+ "reference": "0df1908962e7a3071564e857d86874dad1ef204a",
1462
  "shasum": ""
1463
  },
1464
  "require": {
1495
  "check",
1496
  "validate"
1497
  ],
1498
+ "time": "2018-01-29 19:49:41"
1499
  }
1500
  ],
1501
  "aliases": [],
download-monitor.php CHANGED
@@ -3,11 +3,11 @@
3
  Plugin Name: Download Monitor
4
  Plugin URI: https://www.download-monitor.com
5
  Description: A full solution for managing downloadable files, monitoring downloads and outputting download links and file information on your WordPress powered site.
6
- Version: 4.0.2
7
  Author: Never5
8
  Author URI: https://www.never5.com
9
  Requires at least: 3.8
10
- Tested up to: 4.9.3
11
  Text Domain: download-monitor
12
 
13
  License: GPL v3
@@ -33,7 +33,7 @@ if ( ! defined( 'ABSPATH' ) ) {
33
  } // Exit if accessed directly
34
 
35
  // Define DLM Version
36
- define( 'DLM_VERSION', '4.0.2' );
37
 
38
  // Define DLM FILE
39
  define( 'DLM_PLUGIN_FILE', __FILE__ );
3
  Plugin Name: Download Monitor
4
  Plugin URI: https://www.download-monitor.com
5
  Description: A full solution for managing downloadable files, monitoring downloads and outputting download links and file information on your WordPress powered site.
6
+ Version: 4.0.3
7
  Author: Never5
8
  Author URI: https://www.never5.com
9
  Requires at least: 3.8
10
+ Tested up to: 4.9.4
11
  Text Domain: download-monitor
12
 
13
  License: GPL v3
33
  } // Exit if accessed directly
34
 
35
  // Define DLM Version
36
+ define( 'DLM_VERSION', '4.0.3' );
37
 
38
  // Define DLM FILE
39
  define( 'DLM_PLUGIN_FILE', __FILE__ );
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: never5, barrykooij, mikejolley, hchouhan
3
  Donate link: http://www.barrykooij.com/donate/
4
  Tags: download, downloads, monitor, hits, download monitor, tracking, admin, count, counter, files, versions, download count, logging, AJAX, digital, documents, download category, download manager, download template, downloadmanager, file manager, file tree, grid, hits, ip-address, manager, media, monitor, password, protect downloads, tracker
5
  Requires at least: 3.8
6
- Tested up to: 4.9.3
7
- Stable tag: 4.0.2
8
  License: GPLv3
9
  Text Domain: -
10
 
@@ -114,6 +114,10 @@ More documentation can be found in our [Knowledge Base](https://www.download-mon
114
 
115
  == Changelog ==
116
 
 
 
 
 
117
  = 4.0.2: February 2, 2018 =
118
  * Tweak: Moved no cache headers up in download process, improving cache prevention.
119
  * Tweak: Added new log item meta data methods, making it easier to add meta data.
3
  Donate link: http://www.barrykooij.com/donate/
4
  Tags: download, downloads, monitor, hits, download monitor, tracking, admin, count, counter, files, versions, download count, logging, AJAX, digital, documents, download category, download manager, download template, downloadmanager, file manager, file tree, grid, hits, ip-address, manager, media, monitor, password, protect downloads, tracker
5
  Requires at least: 3.8
6
+ Tested up to: 4.9.4
7
+ Stable tag: 4.0.3
8
  License: GPLv3
9
  Text Domain: -
10
 
114
 
115
  == Changelog ==
116
 
117
+ = 4.0.3: February 9, 2018 =
118
+ * Tweak: We now cache if we need to upgrade legacy downloads. This prevents us from checking if we need to upgrade on every pageload, improving performance and preventing constant sql warning when legacy table doesn't exist.
119
+ * Tweak: Fixed SQL error in has_ip_downloaded_version() call ('type' does not exist).
120
+
121
  = 4.0.2: February 2, 2018 =
122
  * Tweak: Moved no cache headers up in download process, improving cache prevention.
123
  * Tweak: Added new log item meta data methods, making it easier to add meta data.
src/Constants.php CHANGED
@@ -8,6 +8,7 @@ class DLM_Constants {
8
 
9
  const OPTION_CURRENT_VERSION = 'dlm_current_version';
10
 
 
11
  const LU_OPTION_UPGRADED = "dlm_lu_upgraded";
12
  const LU_OPTION_DOWNLOAD_QUEUE_BUILD = "dlm_lu_download_queue_build";
13
  const LU_OPTION_CONTENT_QUEUE_BUILD = "dlm_lu_content_queue_build";
8
 
9
  const OPTION_CURRENT_VERSION = 'dlm_current_version';
10
 
11
+ const LU_OPTION_NEEDS_UPGRADING = "dlm_lu_needs_upgrading";
12
  const LU_OPTION_UPGRADED = "dlm_lu_upgraded";
13
  const LU_OPTION_DOWNLOAD_QUEUE_BUILD = "dlm_lu_download_queue_build";
14
  const LU_OPTION_CONTENT_QUEUE_BUILD = "dlm_lu_content_queue_build";
src/LegacyUpgrader/Checker.php CHANGED
@@ -49,6 +49,7 @@ class DLM_LU_Checker {
49
  */
50
  public function mark_upgraded() {
51
  update_option( DLM_Constants::LU_OPTION_UPGRADED, 1 );
 
52
  }
53
 
54
  /**
@@ -63,25 +64,45 @@ class DLM_LU_Checker {
63
  return false;
64
  }
65
 
66
- // check if we already upgraded
67
- if ( ! $this->has_been_upgraded() ) {
 
 
 
 
68
 
69
- // check if we have legacy tables
70
- if ( $this->has_legacy_tables() ) {
71
 
72
- /**
73
- * Check if there are already 'new' download
74
- * We're doing this because there are users that manually upgraded in the past
75
- * So they will have the legacy tables but don't need converting
76
- */
77
- if ( ! $this->has_modern_downloads() ) {
78
- return true;
79
- }
 
 
 
 
 
 
 
80
 
 
 
 
 
 
81
  }
 
 
 
82
  }
83
 
84
- return false;
 
85
  }
86
 
87
  }
49
  */
50
  public function mark_upgraded() {
51
  update_option( DLM_Constants::LU_OPTION_UPGRADED, 1 );
52
+ update_option( DLM_Constants::LU_OPTION_NEEDS_UPGRADING, 0 );
53
  }
54
 
55
  /**
64
  return false;
65
  }
66
 
67
+ /**
68
+ * Check if we already checked if need to upgrade.
69
+ * If we already checked we stored the result in this option.
70
+ * This prevents us from checking on every admin load.
71
+ */
72
+ $needs_upgrading = get_option( DLM_Constants::LU_OPTION_NEEDS_UPGRADING, null );
73
 
74
+ // if the option is null, it's not set yet and we need to check.
75
+ if ( null === $needs_upgrading ) {
76
 
77
+ // set default to 0 (no)
78
+ $needs_upgrading = 0;
79
+
80
+ // check if we already upgraded
81
+ if ( ! $this->has_been_upgraded() ) {
82
+
83
+ // check if we have legacy tables
84
+ if ( $this->has_legacy_tables() ) {
85
+
86
+ /**
87
+ * Check if there are already 'new' download
88
+ * We're doing this because there are users that manually upgraded in the past
89
+ * So they will have the legacy tables but don't need converting
90
+ */
91
+ if ( ! $this->has_modern_downloads() ) {
92
 
93
+ // this site needs upgrading, set to 1 (yes)
94
+ $needs_upgrading = 1;
95
+ }
96
+
97
+ }
98
  }
99
+
100
+ // store the option so we don't have to check this everytime.
101
+ update_option( DLM_Constants::LU_OPTION_NEEDS_UPGRADING, $needs_upgrading );
102
  }
103
 
104
+ // now convert to int and return if it's 1.
105
+ return ( 1 === absint( $needs_upgrading ) );
106
  }
107
 
108
  }
src/Logs/Logging.php CHANGED
@@ -28,7 +28,7 @@ class DLM_Logging {
28
  }
29
 
30
  /**
31
- * Check if visitor has downloaded version in the past 24 hours
32
  *
33
  * @param DLM_Download_Version $version
34
  *
@@ -37,7 +37,7 @@ class DLM_Logging {
37
  public function has_ip_downloaded_version( $version ) {
38
  global $wpdb;
39
 
40
- return ( absint( $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(ID) FROM {$wpdb->download_log} WHERE type = 'download' AND `version_id` = %d AND `user_ip` = %s", $version->get_id(), DLM_Utils::get_visitor_ip() ) ) ) > 0 );
41
  }
42
 
43
  }
28
  }
29
 
30
  /**
31
+ * Check if visitor has downloaded version
32
  *
33
  * @param DLM_Download_Version $version
34
  *
37
  public function has_ip_downloaded_version( $version ) {
38
  global $wpdb;
39
 
40
+ return ( absint( $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(ID) FROM {$wpdb->download_log} WHERE `version_id` = %d AND `user_ip` = %s", $version->get_id(), DLM_Utils::get_visitor_ip() ) ) ) > 0 );
41
  }
42
 
43
  }
vendor/autoload_52.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
- return ComposerAutoloaderInit047fce5f5235af91d7748b109ff30b8b::getLoader();
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
+ return ComposerAutoloaderInita885b19b980b8b3cd484f08a7fdd1844::getLoader();
vendor/composer/autoload_real_52.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
- class ComposerAutoloaderInit047fce5f5235af91d7748b109ff30b8b {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit047fce5f5235af91d7748b109ff30b8b {
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit047fce5f5235af91d7748b109ff30b8b', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit047fce5f5235af91d7748b109ff30b8b', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
+ class ComposerAutoloaderInita885b19b980b8b3cd484f08a7fdd1844 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInita885b19b980b8b3cd484f08a7fdd1844', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInita885b19b980b8b3cd484f08a7fdd1844', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
vendor/composer/installed.json CHANGED
@@ -500,62 +500,6 @@
500
  "diff"
501
  ]
502
  },
503
- {
504
- "name": "doctrine/instantiator",
505
- "version": "1.0.5",
506
- "version_normalized": "1.0.5.0",
507
- "source": {
508
- "type": "git",
509
- "url": "https://github.com/doctrine/instantiator.git",
510
- "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
511
- },
512
- "dist": {
513
- "type": "zip",
514
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
515
- "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
516
- "shasum": ""
517
- },
518
- "require": {
519
- "php": ">=5.3,<8.0-DEV"
520
- },
521
- "require-dev": {
522
- "athletic/athletic": "~0.1.8",
523
- "ext-pdo": "*",
524
- "ext-phar": "*",
525
- "phpunit/phpunit": "~4.0",
526
- "squizlabs/php_codesniffer": "~2.0"
527
- },
528
- "time": "2015-06-14 21:17:01",
529
- "type": "library",
530
- "extra": {
531
- "branch-alias": {
532
- "dev-master": "1.0.x-dev"
533
- }
534
- },
535
- "installation-source": "dist",
536
- "autoload": {
537
- "psr-4": {
538
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
539
- }
540
- },
541
- "notification-url": "https://packagist.org/downloads/",
542
- "license": [
543
- "MIT"
544
- ],
545
- "authors": [
546
- {
547
- "name": "Marco Pivetta",
548
- "email": "ocramius@gmail.com",
549
- "homepage": "http://ocramius.github.com/"
550
- }
551
- ],
552
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
553
- "homepage": "https://github.com/doctrine/instantiator",
554
- "keywords": [
555
- "constructor",
556
- "instantiate"
557
- ]
558
- },
559
  {
560
  "name": "phpunit/php-text-template",
561
  "version": "1.2.1",
@@ -904,58 +848,6 @@
904
  "xunit"
905
  ]
906
  },
907
- {
908
- "name": "webmozart/assert",
909
- "version": "1.2.0",
910
- "version_normalized": "1.2.0.0",
911
- "source": {
912
- "type": "git",
913
- "url": "https://github.com/webmozart/assert.git",
914
- "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f"
915
- },
916
- "dist": {
917
- "type": "zip",
918
- "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f",
919
- "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f",
920
- "shasum": ""
921
- },
922
- "require": {
923
- "php": "^5.3.3 || ^7.0"
924
- },
925
- "require-dev": {
926
- "phpunit/phpunit": "^4.6",
927
- "sebastian/version": "^1.0.1"
928
- },
929
- "time": "2016-11-23 20:04:58",
930
- "type": "library",
931
- "extra": {
932
- "branch-alias": {
933
- "dev-master": "1.3-dev"
934
- }
935
- },
936
- "installation-source": "dist",
937
- "autoload": {
938
- "psr-4": {
939
- "Webmozart\\Assert\\": "src/"
940
- }
941
- },
942
- "notification-url": "https://packagist.org/downloads/",
943
- "license": [
944
- "MIT"
945
- ],
946
- "authors": [
947
- {
948
- "name": "Bernhard Schussek",
949
- "email": "bschussek@gmail.com"
950
- }
951
- ],
952
- "description": "Assertions to validate method input/output with nice error messages.",
953
- "keywords": [
954
- "assert",
955
- "check",
956
- "validate"
957
- ]
958
- },
959
  {
960
  "name": "phpdocumentor/reflection-common",
961
  "version": "1.0.1",
@@ -1061,59 +953,6 @@
1061
  }
1062
  ]
1063
  },
1064
- {
1065
- "name": "phpdocumentor/reflection-docblock",
1066
- "version": "4.2.0",
1067
- "version_normalized": "4.2.0.0",
1068
- "source": {
1069
- "type": "git",
1070
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
1071
- "reference": "66465776cfc249844bde6d117abff1d22e06c2da"
1072
- },
1073
- "dist": {
1074
- "type": "zip",
1075
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/66465776cfc249844bde6d117abff1d22e06c2da",
1076
- "reference": "66465776cfc249844bde6d117abff1d22e06c2da",
1077
- "shasum": ""
1078
- },
1079
- "require": {
1080
- "php": "^7.0",
1081
- "phpdocumentor/reflection-common": "^1.0.0",
1082
- "phpdocumentor/type-resolver": "^0.4.0",
1083
- "webmozart/assert": "^1.0"
1084
- },
1085
- "require-dev": {
1086
- "doctrine/instantiator": "~1.0.5",
1087
- "mockery/mockery": "^1.0",
1088
- "phpunit/phpunit": "^6.4"
1089
- },
1090
- "time": "2017-11-27 17:38:31",
1091
- "type": "library",
1092
- "extra": {
1093
- "branch-alias": {
1094
- "dev-master": "4.x-dev"
1095
- }
1096
- },
1097
- "installation-source": "dist",
1098
- "autoload": {
1099
- "psr-4": {
1100
- "phpDocumentor\\Reflection\\": [
1101
- "src/"
1102
- ]
1103
- }
1104
- },
1105
- "notification-url": "https://packagist.org/downloads/",
1106
- "license": [
1107
- "MIT"
1108
- ],
1109
- "authors": [
1110
- {
1111
- "name": "Mike van Riel",
1112
- "email": "me@mikevanriel.com"
1113
- }
1114
- ],
1115
- "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock."
1116
- },
1117
  {
1118
  "name": "phpspec/prophecy",
1119
  "version": "1.7.3",
@@ -1332,92 +1171,6 @@
1332
  "object graph"
1333
  ]
1334
  },
1335
- {
1336
- "name": "phpunit/phpunit",
1337
- "version": "6.5.5",
1338
- "version_normalized": "6.5.5.0",
1339
- "source": {
1340
- "type": "git",
1341
- "url": "https://github.com/sebastianbergmann/phpunit.git",
1342
- "reference": "83d27937a310f2984fd575686138597147bdc7df"
1343
- },
1344
- "dist": {
1345
- "type": "zip",
1346
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/83d27937a310f2984fd575686138597147bdc7df",
1347
- "reference": "83d27937a310f2984fd575686138597147bdc7df",
1348
- "shasum": ""
1349
- },
1350
- "require": {
1351
- "ext-dom": "*",
1352
- "ext-json": "*",
1353
- "ext-libxml": "*",
1354
- "ext-mbstring": "*",
1355
- "ext-xml": "*",
1356
- "myclabs/deep-copy": "^1.6.1",
1357
- "phar-io/manifest": "^1.0.1",
1358
- "phar-io/version": "^1.0",
1359
- "php": "^7.0",
1360
- "phpspec/prophecy": "^1.7",
1361
- "phpunit/php-code-coverage": "^5.3",
1362
- "phpunit/php-file-iterator": "^1.4.3",
1363
- "phpunit/php-text-template": "^1.2.1",
1364
- "phpunit/php-timer": "^1.0.9",
1365
- "phpunit/phpunit-mock-objects": "^5.0.5",
1366
- "sebastian/comparator": "^2.1",
1367
- "sebastian/diff": "^2.0",
1368
- "sebastian/environment": "^3.1",
1369
- "sebastian/exporter": "^3.1",
1370
- "sebastian/global-state": "^2.0",
1371
- "sebastian/object-enumerator": "^3.0.3",
1372
- "sebastian/resource-operations": "^1.0",
1373
- "sebastian/version": "^2.0.1"
1374
- },
1375
- "conflict": {
1376
- "phpdocumentor/reflection-docblock": "3.0.2",
1377
- "phpunit/dbunit": "<3.0"
1378
- },
1379
- "require-dev": {
1380
- "ext-pdo": "*"
1381
- },
1382
- "suggest": {
1383
- "ext-xdebug": "*",
1384
- "phpunit/php-invoker": "^1.1"
1385
- },
1386
- "time": "2017-12-17 06:31:19",
1387
- "bin": [
1388
- "phpunit"
1389
- ],
1390
- "type": "library",
1391
- "extra": {
1392
- "branch-alias": {
1393
- "dev-master": "6.5.x-dev"
1394
- }
1395
- },
1396
- "installation-source": "dist",
1397
- "autoload": {
1398
- "classmap": [
1399
- "src/"
1400
- ]
1401
- },
1402
- "notification-url": "https://packagist.org/downloads/",
1403
- "license": [
1404
- "BSD-3-Clause"
1405
- ],
1406
- "authors": [
1407
- {
1408
- "name": "Sebastian Bergmann",
1409
- "email": "sebastian@phpunit.de",
1410
- "role": "lead"
1411
- }
1412
- ],
1413
- "description": "The PHP Unit Testing framework.",
1414
- "homepage": "https://phpunit.de/",
1415
- "keywords": [
1416
- "phpunit",
1417
- "testing",
1418
- "xunit"
1419
- ]
1420
- },
1421
  {
1422
  "name": "phpunit/phpunit-mock-objects",
1423
  "version": "5.0.6",
@@ -1481,28 +1234,28 @@
1481
  },
1482
  {
1483
  "name": "sebastian/comparator",
1484
- "version": "2.1.2",
1485
- "version_normalized": "2.1.2.0",
1486
  "source": {
1487
  "type": "git",
1488
  "url": "https://github.com/sebastianbergmann/comparator.git",
1489
- "reference": "11c07feade1d65453e06df3b3b90171d6d982087"
1490
  },
1491
  "dist": {
1492
  "type": "zip",
1493
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/11c07feade1d65453e06df3b3b90171d6d982087",
1494
- "reference": "11c07feade1d65453e06df3b3b90171d6d982087",
1495
  "shasum": ""
1496
  },
1497
  "require": {
1498
  "php": "^7.0",
1499
- "sebastian/diff": "^2.0",
1500
  "sebastian/exporter": "^3.1"
1501
  },
1502
  "require-dev": {
1503
  "phpunit/phpunit": "^6.4"
1504
  },
1505
- "time": "2018-01-12 06:34:42",
1506
  "type": "library",
1507
  "extra": {
1508
  "branch-alias": {
@@ -1544,5 +1297,252 @@
1544
  "compare",
1545
  "equality"
1546
  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1547
  }
1548
  ]
500
  "diff"
501
  ]
502
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
503
  {
504
  "name": "phpunit/php-text-template",
505
  "version": "1.2.1",
848
  "xunit"
849
  ]
850
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
851
  {
852
  "name": "phpdocumentor/reflection-common",
853
  "version": "1.0.1",
953
  }
954
  ]
955
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
956
  {
957
  "name": "phpspec/prophecy",
958
  "version": "1.7.3",
1171
  "object graph"
1172
  ]
1173
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1174
  {
1175
  "name": "phpunit/phpunit-mock-objects",
1176
  "version": "5.0.6",
1234
  },
1235
  {
1236
  "name": "sebastian/comparator",
1237
+ "version": "2.1.3",
1238
+ "version_normalized": "2.1.3.0",
1239
  "source": {
1240
  "type": "git",
1241
  "url": "https://github.com/sebastianbergmann/comparator.git",
1242
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9"
1243
  },
1244
  "dist": {
1245
  "type": "zip",
1246
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9",
1247
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9",
1248
  "shasum": ""
1249
  },
1250
  "require": {
1251
  "php": "^7.0",
1252
+ "sebastian/diff": "^2.0 || ^3.0",
1253
  "sebastian/exporter": "^3.1"
1254
  },
1255
  "require-dev": {
1256
  "phpunit/phpunit": "^6.4"
1257
  },
1258
+ "time": "2018-02-01 13:46:46",
1259
  "type": "library",
1260
  "extra": {
1261
  "branch-alias": {
1297
  "compare",
1298
  "equality"
1299
  ]
1300
+ },
1301
+ {
1302
+ "name": "doctrine/instantiator",
1303
+ "version": "1.1.0",
1304
+ "version_normalized": "1.1.0.0",
1305
+ "source": {
1306
+ "type": "git",
1307
+ "url": "https://github.com/doctrine/instantiator.git",
1308
+ "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
1309
+ },
1310
+ "dist": {
1311
+ "type": "zip",
1312
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
1313
+ "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
1314
+ "shasum": ""
1315
+ },
1316
+ "require": {
1317
+ "php": "^7.1"
1318
+ },
1319
+ "require-dev": {
1320
+ "athletic/athletic": "~0.1.8",
1321
+ "ext-pdo": "*",
1322
+ "ext-phar": "*",
1323
+ "phpunit/phpunit": "^6.2.3",
1324
+ "squizlabs/php_codesniffer": "^3.0.2"
1325
+ },
1326
+ "time": "2017-07-22 11:58:36",
1327
+ "type": "library",
1328
+ "extra": {
1329
+ "branch-alias": {
1330
+ "dev-master": "1.2.x-dev"
1331
+ }
1332
+ },
1333
+ "installation-source": "dist",
1334
+ "autoload": {
1335
+ "psr-4": {
1336
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
1337
+ }
1338
+ },
1339
+ "notification-url": "https://packagist.org/downloads/",
1340
+ "license": [
1341
+ "MIT"
1342
+ ],
1343
+ "authors": [
1344
+ {
1345
+ "name": "Marco Pivetta",
1346
+ "email": "ocramius@gmail.com",
1347
+ "homepage": "http://ocramius.github.com/"
1348
+ }
1349
+ ],
1350
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
1351
+ "homepage": "https://github.com/doctrine/instantiator",
1352
+ "keywords": [
1353
+ "constructor",
1354
+ "instantiate"
1355
+ ]
1356
+ },
1357
+ {
1358
+ "name": "webmozart/assert",
1359
+ "version": "1.3.0",
1360
+ "version_normalized": "1.3.0.0",
1361
+ "source": {
1362
+ "type": "git",
1363
+ "url": "https://github.com/webmozart/assert.git",
1364
+ "reference": "0df1908962e7a3071564e857d86874dad1ef204a"
1365
+ },
1366
+ "dist": {
1367
+ "type": "zip",
1368
+ "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a",
1369
+ "reference": "0df1908962e7a3071564e857d86874dad1ef204a",
1370
+ "shasum": ""
1371
+ },
1372
+ "require": {
1373
+ "php": "^5.3.3 || ^7.0"
1374
+ },
1375
+ "require-dev": {
1376
+ "phpunit/phpunit": "^4.6",
1377
+ "sebastian/version": "^1.0.1"
1378
+ },
1379
+ "time": "2018-01-29 19:49:41",
1380
+ "type": "library",
1381
+ "extra": {
1382
+ "branch-alias": {
1383
+ "dev-master": "1.3-dev"
1384
+ }
1385
+ },
1386
+ "installation-source": "dist",
1387
+ "autoload": {
1388
+ "psr-4": {
1389
+ "Webmozart\\Assert\\": "src/"
1390
+ }
1391
+ },
1392
+ "notification-url": "https://packagist.org/downloads/",
1393
+ "license": [
1394
+ "MIT"
1395
+ ],
1396
+ "authors": [
1397
+ {
1398
+ "name": "Bernhard Schussek",
1399
+ "email": "bschussek@gmail.com"
1400
+ }
1401
+ ],
1402
+ "description": "Assertions to validate method input/output with nice error messages.",
1403
+ "keywords": [
1404
+ "assert",
1405
+ "check",
1406
+ "validate"
1407
+ ]
1408
+ },
1409
+ {
1410
+ "name": "phpdocumentor/reflection-docblock",
1411
+ "version": "4.3.0",
1412
+ "version_normalized": "4.3.0.0",
1413
+ "source": {
1414
+ "type": "git",
1415
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
1416
+ "reference": "94fd0001232e47129dd3504189fa1c7225010d08"
1417
+ },
1418
+ "dist": {
1419
+ "type": "zip",
1420
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08",
1421
+ "reference": "94fd0001232e47129dd3504189fa1c7225010d08",
1422
+ "shasum": ""
1423
+ },
1424
+ "require": {
1425
+ "php": "^7.0",
1426
+ "phpdocumentor/reflection-common": "^1.0.0",
1427
+ "phpdocumentor/type-resolver": "^0.4.0",
1428
+ "webmozart/assert": "^1.0"
1429
+ },
1430
+ "require-dev": {
1431
+ "doctrine/instantiator": "~1.0.5",
1432
+ "mockery/mockery": "^1.0",
1433
+ "phpunit/phpunit": "^6.4"
1434
+ },
1435
+ "time": "2017-11-30 07:14:17",
1436
+ "type": "library",
1437
+ "extra": {
1438
+ "branch-alias": {
1439
+ "dev-master": "4.x-dev"
1440
+ }
1441
+ },
1442
+ "installation-source": "dist",
1443
+ "autoload": {
1444
+ "psr-4": {
1445
+ "phpDocumentor\\Reflection\\": [
1446
+ "src/"
1447
+ ]
1448
+ }
1449
+ },
1450
+ "notification-url": "https://packagist.org/downloads/",
1451
+ "license": [
1452
+ "MIT"
1453
+ ],
1454
+ "authors": [
1455
+ {
1456
+ "name": "Mike van Riel",
1457
+ "email": "me@mikevanriel.com"
1458
+ }
1459
+ ],
1460
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock."
1461
+ },
1462
+ {
1463
+ "name": "phpunit/phpunit",
1464
+ "version": "6.5.6",
1465
+ "version_normalized": "6.5.6.0",
1466
+ "source": {
1467
+ "type": "git",
1468
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
1469
+ "reference": "3330ef26ade05359d006041316ed0fa9e8e3cefe"
1470
+ },
1471
+ "dist": {
1472
+ "type": "zip",
1473
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3330ef26ade05359d006041316ed0fa9e8e3cefe",
1474
+ "reference": "3330ef26ade05359d006041316ed0fa9e8e3cefe",
1475
+ "shasum": ""
1476
+ },
1477
+ "require": {
1478
+ "ext-dom": "*",
1479
+ "ext-json": "*",
1480
+ "ext-libxml": "*",
1481
+ "ext-mbstring": "*",
1482
+ "ext-xml": "*",
1483
+ "myclabs/deep-copy": "^1.6.1",
1484
+ "phar-io/manifest": "^1.0.1",
1485
+ "phar-io/version": "^1.0",
1486
+ "php": "^7.0",
1487
+ "phpspec/prophecy": "^1.7",
1488
+ "phpunit/php-code-coverage": "^5.3",
1489
+ "phpunit/php-file-iterator": "^1.4.3",
1490
+ "phpunit/php-text-template": "^1.2.1",
1491
+ "phpunit/php-timer": "^1.0.9",
1492
+ "phpunit/phpunit-mock-objects": "^5.0.5",
1493
+ "sebastian/comparator": "^2.1",
1494
+ "sebastian/diff": "^2.0",
1495
+ "sebastian/environment": "^3.1",
1496
+ "sebastian/exporter": "^3.1",
1497
+ "sebastian/global-state": "^2.0",
1498
+ "sebastian/object-enumerator": "^3.0.3",
1499
+ "sebastian/resource-operations": "^1.0",
1500
+ "sebastian/version": "^2.0.1"
1501
+ },
1502
+ "conflict": {
1503
+ "phpdocumentor/reflection-docblock": "3.0.2",
1504
+ "phpunit/dbunit": "<3.0"
1505
+ },
1506
+ "require-dev": {
1507
+ "ext-pdo": "*"
1508
+ },
1509
+ "suggest": {
1510
+ "ext-xdebug": "*",
1511
+ "phpunit/php-invoker": "^1.1"
1512
+ },
1513
+ "time": "2018-02-01 05:57:37",
1514
+ "bin": [
1515
+ "phpunit"
1516
+ ],
1517
+ "type": "library",
1518
+ "extra": {
1519
+ "branch-alias": {
1520
+ "dev-master": "6.5.x-dev"
1521
+ }
1522
+ },
1523
+ "installation-source": "dist",
1524
+ "autoload": {
1525
+ "classmap": [
1526
+ "src/"
1527
+ ]
1528
+ },
1529
+ "notification-url": "https://packagist.org/downloads/",
1530
+ "license": [
1531
+ "BSD-3-Clause"
1532
+ ],
1533
+ "authors": [
1534
+ {
1535
+ "name": "Sebastian Bergmann",
1536
+ "email": "sebastian@phpunit.de",
1537
+ "role": "lead"
1538
+ }
1539
+ ],
1540
+ "description": "The PHP Unit Testing framework.",
1541
+ "homepage": "https://phpunit.de/",
1542
+ "keywords": [
1543
+ "phpunit",
1544
+ "testing",
1545
+ "xunit"
1546
+ ]
1547
  }
1548
  ]