From e9a602476558d2e75e7c633a2d5b9385ff4f489e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Anne?= Date: Mon, 26 Nov 2018 16:58:13 +0100 Subject: [PATCH 1/2] GLPI 9.4 compatibility - Handle renaming of "sla_ttr_id" field of "glpi_tickets" - Use array conditions instead of string in CommonDBTM::find() - Use array conditions instead of string in Dropdown::show() --- inc/common.class.php | 19 +++++++++++++------ inc/dashboard.class.php | 4 ++-- inc/helpdeskplus.class.php | 16 ++++++++-------- inc/notification.class.php | 6 +++--- mreporting.xml | 4 ++++ setup.php | 13 +++++++++---- 6 files changed, 39 insertions(+), 23 deletions(-) diff --git a/inc/common.class.php b/inc/common.class.php index 39a95bc6..75b21915 100644 --- a/inc/common.class.php +++ b/inc/common.class.php @@ -1306,7 +1306,7 @@ static function selectorForMultipleGroups($field, $condition = [], $label = '') Dropdown::showFromArray($field, $datas, $param); } - static function selectorForSingleGroup($field, $condition = '', $label = '') { + static function selectorForSingleGroup($field, $condition = [], $label = '') { echo "
".$label." :
"; $value = isset($_SESSION['mreporting_values'][$field]) ? $_SESSION['mreporting_values'][$field] : 0; @@ -1319,12 +1319,19 @@ static function selectorForSingleGroup($field, $condition = '', $label = '') { static function selectorGrouprequest() { - self::selectorForSingleGroup('groups_request_id', 'is_requester = 1', __("Requester group")); + self::selectorForSingleGroup( + 'groups_request_id', + ['is_requester' => 1], + __("Requester group") + ); } static function selectorGroupassign() { - self::selectorForSingleGroup('groups_assign_id', 'is_assign = 1', - __("Group in charge of the ticket")); + self::selectorForSingleGroup( + 'groups_assign_id', + ['is_assign' => 1], + __("Group in charge of the ticket") + ); } static function selectorMultipleGrouprequest() { @@ -1364,7 +1371,7 @@ static function selectorAllSlasWithTicket() { $query = "SELECT DISTINCT s.id, s.name FROM glpi_slas s - INNER JOIN glpi_tickets t ON s.id = t.slas_ttr_id + INNER JOIN glpi_tickets t ON s.id = t.slas_id_ttr WHERE t.status IN (" . implode( ',', array_merge(Ticket::getSolvedStatusArray(), Ticket::getClosedStatusArray()) @@ -1422,7 +1429,7 @@ static function selectorCategory($type = true) { $params = ['type' => '__VALUE__', 'currenttype' => Ticket::INCIDENT_TYPE, 'entity_restrict' => -1, - 'condition' => "`is_incident`='1'", + 'condition' => ['is_incident' => 1], 'value' => isset($_SESSION['mreporting_values']['itilcategories_id']) ? $_SESSION['mreporting_values']['itilcategories_id'] : 0]; diff --git a/inc/dashboard.class.php b/inc/dashboard.class.php index 510b9dfb..71401fae 100644 --- a/inc/dashboard.class.php +++ b/inc/dashboard.class.php @@ -75,7 +75,7 @@ function showDashBoard($show_reports_dropdown = true) { //retrieve dashboard widgets; $dashboard = new PluginMreportingDashboard(); - $widgets = $dashboard->find("users_id = ".$_SESSION['glpiID'], 'id'); + $widgets = $dashboard->find(['users_id' => $_SESSION['glpiID']], 'id'); //show dashboard echo "
"; @@ -268,7 +268,7 @@ function showDashBoard($show_reports_dropdown = true) { public static function CurrentUserHaveDashboard() { $dashboard = new PluginMreportingDashboard(); - return (count($dashboard->find("users_id = ".$_SESSION['glpiID'])) > 0); + return (count($dashboard->find(['users_id' => $_SESSION['glpiID']])) > 0); } function getFormForColumn() { diff --git a/inc/helpdeskplus.class.php b/inc/helpdeskplus.class.php index b26900e7..f3a5b9ee 100644 --- a/inc/helpdeskplus.class.php +++ b/inc/helpdeskplus.class.php @@ -637,7 +637,7 @@ function reportGlineNbTicketBySla($config = []) { DATE_FORMAT(`glpi_tickets`.`date`, '{$this->period_label}') AS period_name FROM `glpi_tickets` INNER JOIN `glpi_slas` - ON `glpi_tickets`.slas_ttr_id = `glpi_slas`.id + ON `glpi_tickets`.slas_id_ttr = `glpi_slas`.id WHERE {$this->sql_date_create} AND `glpi_tickets`.status IN (" . implode( ',', @@ -667,7 +667,7 @@ function reportGlineNbTicketBySla($config = []) { {$this->sql_select_sla} FROM `glpi_tickets` INNER JOIN `glpi_slas` - ON `glpi_tickets`.slas_ttr_id = `glpi_slas`.id + ON `glpi_tickets`.slas_id_ttr = `glpi_slas`.id WHERE {$this->sql_date_create} AND `glpi_tickets`.status IN (" . implode( ',', @@ -729,7 +729,7 @@ public function reportHgbarRespectedSlasByTopCategory($config = []) { `glpi_itilcategories`.id FROM `glpi_tickets` INNER JOIN `glpi_slas` - ON `glpi_tickets`.slas_ttr_id = `glpi_slas`.id + ON `glpi_tickets`.slas_id_ttr = `glpi_slas`.id INNER JOIN `glpi_itilcategories` ON `glpi_tickets`.itilcategories_id = `glpi_itilcategories`.id WHERE " . $this->sql_date_create . " @@ -751,7 +751,7 @@ public function reportHgbarRespectedSlasByTopCategory($config = []) { `glpi_itilcategories`.name FROM `glpi_tickets` INNER JOIN `glpi_slas` - ON `glpi_tickets`.slas_ttr_id = `glpi_slas`.id + ON `glpi_tickets`.slas_id_ttr = `glpi_slas`.id INNER JOIN `glpi_itilcategories` ON `glpi_tickets`.itilcategories_id = `glpi_itilcategories`.id WHERE " . $this->sql_date_create . " @@ -798,7 +798,7 @@ public function reportHgbarRespectedSlasByTechnician($config = []) { {$this->sql_select_sla} FROM `glpi_tickets` INNER JOIN `glpi_slas` - ON `glpi_tickets`.slas_ttr_id = `glpi_slas`.id + ON `glpi_tickets`.slas_id_ttr = `glpi_slas`.id INNER JOIN `glpi_tickets_users` ON `glpi_tickets_users`.tickets_id = `glpi_tickets`.id AND `glpi_tickets_users`.type = " . Ticket_User::ASSIGN . " @@ -928,7 +928,7 @@ function reportVstackbarRespectedSlasByGroup($config = []) { ON `glpi_groups_tickets`.tickets_id = `glpi_tickets`.id AND `glpi_groups_tickets`.type = ".CommonITILActor::ASSIGN." INNER JOIN `glpi_slas` - ON `glpi_tickets`.slas_ttr_id = `glpi_slas`.id + ON `glpi_tickets`.slas_id_ttr = `glpi_slas`.id WHERE {$this->sql_date_create} AND `glpi_tickets`.status IN (" . implode( ',', @@ -956,7 +956,7 @@ function reportVstackbarRespectedSlasByGroup($config = []) { // Ajout des '0' manquants : $gp = new Group(); - $gp_found = $gp->find("", "name"); //Tri précose qui n'est pas utile + $gp_found = $gp->find([], "name"); //Tri précose qui n'est pas utile foreach ($gp_found as $group) { $group_name = $group['name']; @@ -1007,7 +1007,7 @@ function reportVstackbarNbTicketBySla($config = []) { {$this->sql_select_sla} FROM `glpi_tickets` INNER JOIN `glpi_slas` - ON `glpi_tickets`.slas_ttr_id = `glpi_slas`.id + ON `glpi_tickets`.slas_id_ttr = `glpi_slas`.id WHERE {$this->sql_date_create} AND `glpi_tickets`.status IN (" . implode(',', array_merge(Ticket::getSolvedStatusArray(), Ticket::getClosedStatusArray()) diff --git a/inc/notification.class.php b/inc/notification.class.php index 450696ab..72d96ef7 100644 --- a/inc/notification.class.php +++ b/inc/notification.class.php @@ -28,7 +28,7 @@ static function install($migration) { // Création du template de la notification $template = new NotificationTemplate(); - $found_template = $template->find("itemtype = 'PluginMreportingNotification'"); + $found_template = $template->find(['itemtype' => 'PluginMreportingNotification']); if (empty($found_template)) { $template_id = $template->add([ 'name' => __('Notification for "More Reporting"', 'mreporting'), @@ -90,7 +90,7 @@ static function uninstall() { // Remove NotificationTargets and Notifications $notification = new Notification(); - $result = $notification->find("itemtype = 'PluginMreportingNotification'"); + $result = $notification->find(['itemtype' => 'PluginMreportingNotification']); foreach ($result as $row) { $notification_id = $row['id']; $queries[] = "DELETE FROM glpi_notificationtargets WHERE notifications_id = " . $notification_id; @@ -99,7 +99,7 @@ static function uninstall() { // Remove NotificationTemplateTranslations and NotificationTemplates $template = new NotificationTemplate(); - $result = $template->find("itemtype = 'PluginMreportingNotification'"); + $result = $template->find(['itemtype' => 'PluginMreportingNotification']); foreach ($result as $row) { $template_id = $row['id']; $queries[] = "DELETE FROM glpi_notificationtemplatetranslations diff --git a/mreporting.xml b/mreporting.xml index 0dbddf60..96ab9fd4 100644 --- a/mreporting.xml +++ b/mreporting.xml @@ -98,6 +98,10 @@ Voir documentation : https://github.com/PluginsGLPI/mreporting/wiki Infotel + + 1.6.0 + 9.4 + 1.5.3 9.3 diff --git a/setup.php b/setup.php index 14c82171..f8cf64ef 100644 --- a/setup.php +++ b/setup.php @@ -26,12 +26,12 @@ -------------------------------------------------------------------------- */ -define ('PLUGIN_MREPORTING_VERSION', '1.5.3'); +define ('PLUGIN_MREPORTING_VERSION', '1.6.0'); // Minimal GLPI version, inclusive -define("PLUGIN_MREPORTING_MIN_GLPI", "9.3"); +define("PLUGIN_MREPORTING_MIN_GLPI", "9.4"); // Maximum GLPI version, exclusive -define("PLUGIN_MREPORTING_MAX_GLPI", "9.4"); +define("PLUGIN_MREPORTING_MAX_GLPI", "9.5"); if (!defined('PLUGIN_MREPORTING_TEMPLATE_DIR')) { define("PLUGIN_MREPORTING_TEMPLATE_DIR", GLPI_ROOT."/plugins/mreporting/templates/"); @@ -96,7 +96,12 @@ function plugin_init_mreporting() { ['addtabon' => 'Preference']); $mreporting_profile = new PluginMreportingProfile; - $reports_profiles = $mreporting_profile->find("`profiles_id` = '".$_SESSION['glpiactiveprofile']['id']."' AND `right` = ".READ); + $reports_profiles = $mreporting_profile->find( + [ + 'profiles_id' => $_SESSION['glpiactiveprofile']['id'], + 'right' => READ, + ] + ); /* Menu */ $PLUGIN_HOOKS['config_page']['mreporting'] = 'front/config.php'; From 41353c1630dc17afee345785b4b223a1b483611a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Anne?= Date: Mon, 10 Dec 2018 13:33:38 +0100 Subject: [PATCH 2/2] Update PHP dependencies --- composer.lock | 248 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 165 insertions(+), 83 deletions(-) diff --git a/composer.lock b/composer.lock index 9ec70a09..54e94ae5 100644 --- a/composer.lock +++ b/composer.lock @@ -68,20 +68,20 @@ "packages-dev": [ { "name": "consolidation/annotated-command", - "version": "2.8.4", + "version": "2.10.0", "source": { "type": "git", "url": "https://github.com/consolidation/annotated-command.git", - "reference": "651541a0b68318a2a202bda558a676e5ad92223c" + "reference": "8e7d1a05230dc1159c751809e98b74f2b7f71873" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/651541a0b68318a2a202bda558a676e5ad92223c", - "reference": "651541a0b68318a2a202bda558a676e5ad92223c", + "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/8e7d1a05230dc1159c751809e98b74f2b7f71873", + "reference": "8e7d1a05230dc1159c751809e98b74f2b7f71873", "shasum": "" }, "require": { - "consolidation/output-formatters": "^3.1.12", + "consolidation/output-formatters": "^3.4", "php": ">=5.4.0", "psr/log": "^1", "symfony/console": "^2.8|^3|^4", @@ -116,20 +116,20 @@ } ], "description": "Initialize Symfony Console commands from annotated command class methods.", - "time": "2018-05-25T18:04:25+00:00" + "time": "2018-11-15T01:46:18+00:00" }, { "name": "consolidation/config", - "version": "1.0.11", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/consolidation/config.git", - "reference": "ede41d946078e97e7a9513aadc3352f1c26817af" + "reference": "925231dfff32f05b787e1fddb265e789b939cf4c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/config/zipball/ede41d946078e97e7a9513aadc3352f1c26817af", - "reference": "ede41d946078e97e7a9513aadc3352f1c26817af", + "url": "https://api.github.com/repos/consolidation/config/zipball/925231dfff32f05b787e1fddb265e789b939cf4c", + "reference": "925231dfff32f05b787e1fddb265e789b939cf4c", "shasum": "" }, "require": { @@ -139,7 +139,7 @@ }, "require-dev": { "g1a/composer-test-scenarios": "^1", - "phpunit/phpunit": "^4", + "phpunit/phpunit": "^5", "satooshi/php-coveralls": "^1.0", "squizlabs/php_codesniffer": "2.*", "symfony/console": "^2.5|^3|^4", @@ -170,7 +170,7 @@ } ], "description": "Provide configuration services for a commandline tool.", - "time": "2018-05-27T01:17:02+00:00" + "time": "2018-10-24T17:55:35+00:00" }, { "name": "consolidation/log", @@ -223,19 +223,20 @@ }, { "name": "consolidation/output-formatters", - "version": "3.2.1", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/consolidation/output-formatters.git", - "reference": "d78ef59aea19d3e2e5a23f90a055155ee78a0ad5" + "reference": "a942680232094c4a5b21c0b7e54c20cce623ae19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/d78ef59aea19d3e2e5a23f90a055155ee78a0ad5", - "reference": "d78ef59aea19d3e2e5a23f90a055155ee78a0ad5", + "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/a942680232094c4a5b21c0b7e54c20cce623ae19", + "reference": "a942680232094c4a5b21c0b7e54c20cce623ae19", "shasum": "" }, "require": { + "dflydev/dot-access-data": "^1.1.0", "php": ">=5.4.0", "symfony/console": "^2.8|^3|^4", "symfony/finder": "^2.5|^3|^4" @@ -274,20 +275,20 @@ } ], "description": "Format text by applying transformations provided by plug-in formatters.", - "time": "2018-05-25T18:02:34+00:00" + "time": "2018-10-19T22:35:38+00:00" }, { "name": "consolidation/robo", - "version": "1.3.0", + "version": "1.3.2", "source": { "type": "git", "url": "https://github.com/consolidation/Robo.git", - "reference": "ac563abfadf7cb7314b4e152f2b5033a6c255f6f" + "reference": "a9bd9ecf00751aa92754903c0d17612c4e840ce8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/Robo/zipball/ac563abfadf7cb7314b4e152f2b5033a6c255f6f", - "reference": "ac563abfadf7cb7314b4e152f2b5033a6c255f6f", + "url": "https://api.github.com/repos/consolidation/Robo/zipball/a9bd9ecf00751aa92754903c0d17612c4e840ce8", + "reference": "a9bd9ecf00751aa92754903c0d17612c4e840ce8", "shasum": "" }, "require": { @@ -295,6 +296,7 @@ "consolidation/config": "^1.0.10", "consolidation/log": "~1", "consolidation/output-formatters": "^3.1.13", + "consolidation/self-update": "^1", "grasmash/yaml-expander": "^1.3", "league/container": "^2.2", "php": ">=5.5.0", @@ -311,15 +313,15 @@ "codeception/aspect-mock": "^1|^2.1.1", "codeception/base": "^2.3.7", "codeception/verify": "^0.3.2", - "g1a/composer-test-scenarios": "^2", + "g1a/composer-test-scenarios": "^3", "goaop/framework": "~2.1.2", "goaop/parser-reflection": "^1.1.0", "natxet/cssmin": "3.0.4", "nikic/php-parser": "^3.1.5", "patchwork/jsqueeze": "~2", "pear/archive_tar": "^1.4.2", + "php-coveralls/php-coveralls": "^1", "phpunit/php-code-coverage": "~2|~4", - "satooshi/php-coveralls": "^2", "squizlabs/php_codesniffer": "^2.8" }, "suggest": { @@ -333,9 +335,36 @@ ], "type": "library", "extra": { + "scenarios": { + "symfony4": { + "require": { + "symfony/console": "^4" + }, + "config": { + "platform": { + "php": "7.1.3" + } + } + }, + "symfony2": { + "require": { + "symfony/console": "^2.8" + }, + "remove": [ + "goaop/framework" + ], + "config": { + "platform": { + "php": "5.5.9" + } + }, + "scenario-options": { + "create-lockfile": "false" + } + } + }, "branch-alias": { - "dev-master": "1.x-dev", - "dev-state": "1.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -354,7 +383,57 @@ } ], "description": "Modern task runner", - "time": "2018-05-27T01:42:53+00:00" + "time": "2018-11-22T05:43:44+00:00" + }, + { + "name": "consolidation/self-update", + "version": "1.1.5", + "source": { + "type": "git", + "url": "https://github.com/consolidation/self-update.git", + "reference": "a1c273b14ce334789825a09d06d4c87c0a02ad54" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/consolidation/self-update/zipball/a1c273b14ce334789825a09d06d4c87c0a02ad54", + "reference": "a1c273b14ce334789825a09d06d4c87c0a02ad54", + "shasum": "" + }, + "require": { + "php": ">=5.5.0", + "symfony/console": "^2.8|^3|^4", + "symfony/filesystem": "^2.5|^3|^4" + }, + "bin": [ + "scripts/release" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "SelfUpdate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Greg Anderson", + "email": "greg.1.anderson@greenknowe.org" + }, + { + "name": "Alexander Menk", + "email": "menk@mestrona.net" + } + ], + "description": "Provides a self:update command for Symfony Console applications.", + "time": "2018-10-28T01:52:03+00:00" }, { "name": "container-interop/container-interop", @@ -833,16 +912,16 @@ }, { "name": "psr/log", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", "shasum": "" }, "require": { @@ -876,20 +955,20 @@ "psr", "psr-3" ], - "time": "2016-10-10T12:19:37+00:00" + "time": "2018-11-20T15:27:04+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.3.0", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "d86873af43b4aa9d1f39a3601cc0cfcf02b25266" + "reference": "6ad28354c04b364c3c71a34e4a18b629cc3b231e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/d86873af43b4aa9d1f39a3601cc0cfcf02b25266", - "reference": "d86873af43b4aa9d1f39a3601cc0cfcf02b25266", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/6ad28354c04b364c3c71a34e4a18b629cc3b231e", + "reference": "6ad28354c04b364c3c71a34e4a18b629cc3b231e", "shasum": "" }, "require": { @@ -927,20 +1006,20 @@ "phpcs", "standards" ], - "time": "2018-06-06T23:58:19+00:00" + "time": "2018-09-23T23:08:17+00:00" }, { "name": "symfony/console", - "version": "v3.4.12", + "version": "v3.4.20", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "1b97071a26d028c9bd4588264e101e14f6e7cd00" + "reference": "8f80fc39bbc3b7c47ee54ba7aa2653521ace94bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/1b97071a26d028c9bd4588264e101e14f6e7cd00", - "reference": "1b97071a26d028c9bd4588264e101e14f6e7cd00", + "url": "https://api.github.com/repos/symfony/console/zipball/8f80fc39bbc3b7c47ee54ba7aa2653521ace94bb", + "reference": "8f80fc39bbc3b7c47ee54ba7aa2653521ace94bb", "shasum": "" }, "require": { @@ -996,20 +1075,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-05-23T05:02:55+00:00" + "time": "2018-11-26T12:48:07+00:00" }, { "name": "symfony/debug", - "version": "v3.4.12", + "version": "v3.4.20", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "47e6788c5b151cf0cfdf3329116bf33800632d75" + "reference": "a2233f555ddf55e5600f386fba7781cea1cb82d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/47e6788c5b151cf0cfdf3329116bf33800632d75", - "reference": "47e6788c5b151cf0cfdf3329116bf33800632d75", + "url": "https://api.github.com/repos/symfony/debug/zipball/a2233f555ddf55e5600f386fba7781cea1cb82d3", + "reference": "a2233f555ddf55e5600f386fba7781cea1cb82d3", "shasum": "" }, "require": { @@ -1052,20 +1131,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2018-06-25T11:10:40+00:00" + "time": "2018-11-27T12:43:10+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v3.4.12", + "version": "v3.4.20", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "fdd5abcebd1061ec647089c6c41a07ed60af09f8" + "reference": "cc35e84adbb15c26ae6868e1efbf705a917be6b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/fdd5abcebd1061ec647089c6c41a07ed60af09f8", - "reference": "fdd5abcebd1061ec647089c6c41a07ed60af09f8", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/cc35e84adbb15c26ae6868e1efbf705a917be6b5", + "reference": "cc35e84adbb15c26ae6868e1efbf705a917be6b5", "shasum": "" }, "require": { @@ -1115,20 +1194,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2018-04-06T07:35:25+00:00" + "time": "2018-11-30T18:07:24+00:00" }, { "name": "symfony/filesystem", - "version": "v3.4.12", + "version": "v3.4.20", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "8a721a5f2553c6c3482b1c5b22ed60fe94dd63ed" + "reference": "b49b1ca166bd109900e6a1683d9bb1115727ef2d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/8a721a5f2553c6c3482b1c5b22ed60fe94dd63ed", - "reference": "8a721a5f2553c6c3482b1c5b22ed60fe94dd63ed", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/b49b1ca166bd109900e6a1683d9bb1115727ef2d", + "reference": "b49b1ca166bd109900e6a1683d9bb1115727ef2d", "shasum": "" }, "require": { @@ -1165,20 +1244,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2018-06-21T11:10:19+00:00" + "time": "2018-11-11T19:48:54+00:00" }, { "name": "symfony/finder", - "version": "v3.4.12", + "version": "v3.4.20", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "3a8c3de91d2b2c68cd2d665cf9d00f7ef9eaa394" + "reference": "6cf2be5cbd0e87aa35c01f80ae0bf40b6798e442" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/3a8c3de91d2b2c68cd2d665cf9d00f7ef9eaa394", - "reference": "3a8c3de91d2b2c68cd2d665cf9d00f7ef9eaa394", + "url": "https://api.github.com/repos/symfony/finder/zipball/6cf2be5cbd0e87aa35c01f80ae0bf40b6798e442", + "reference": "6cf2be5cbd0e87aa35c01f80ae0bf40b6798e442", "shasum": "" }, "require": { @@ -1214,29 +1293,32 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-06-19T20:52:10+00:00" + "time": "2018-11-11T19:48:54+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.8.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae" + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae", - "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "suggest": { + "ext-ctype": "For best performance" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -1269,20 +1351,20 @@ "polyfill", "portable" ], - "time": "2018-04-30T19:57:29+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.8.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "3296adf6a6454a050679cde90f95350ad604b171" + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", - "reference": "3296adf6a6454a050679cde90f95350ad604b171", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", "shasum": "" }, "require": { @@ -1294,7 +1376,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -1328,20 +1410,20 @@ "portable", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2018-09-21T13:07:52+00:00" }, { "name": "symfony/process", - "version": "v3.4.12", + "version": "v3.4.20", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "acc5a37c706ace827962851b69705b24e71ca17c" + "reference": "abb46b909dd6ba0b50e10d4c10ffe6ee96dd70f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/acc5a37c706ace827962851b69705b24e71ca17c", - "reference": "acc5a37c706ace827962851b69705b24e71ca17c", + "url": "https://api.github.com/repos/symfony/process/zipball/abb46b909dd6ba0b50e10d4c10ffe6ee96dd70f2", + "reference": "abb46b909dd6ba0b50e10d4c10ffe6ee96dd70f2", "shasum": "" }, "require": { @@ -1377,20 +1459,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2018-05-30T04:24:30+00:00" + "time": "2018-11-20T16:10:26+00:00" }, { "name": "symfony/yaml", - "version": "v3.4.12", + "version": "v3.4.20", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "c5010cc1692ce1fa328b1fb666961eb3d4a85bb0" + "reference": "291e13d808bec481eab83f301f7bff3e699ef603" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/c5010cc1692ce1fa328b1fb666961eb3d4a85bb0", - "reference": "c5010cc1692ce1fa328b1fb666961eb3d4a85bb0", + "url": "https://api.github.com/repos/symfony/yaml/zipball/291e13d808bec481eab83f301f7bff3e699ef603", + "reference": "291e13d808bec481eab83f301f7bff3e699ef603", "shasum": "" }, "require": { @@ -1436,7 +1518,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-05-03T23:18:14+00:00" + "time": "2018-11-11T19:48:54+00:00" } ], "aliases": [],