From f4ad4578dd2721962513839cb52bf67a78775cf0 Mon Sep 17 00:00:00 2001 From: Pierre-Jean Grenier Date: Wed, 2 Oct 2019 15:29:06 +0200 Subject: [PATCH 1/2] fix: undefined variable when no feed was enable --- app/Controller/FeedsController.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/Controller/FeedsController.php b/app/Controller/FeedsController.php index 01a78f66c..03a21abb8 100644 --- a/app/Controller/FeedsController.php +++ b/app/Controller/FeedsController.php @@ -505,6 +505,9 @@ class FeedsController extends AppController } } } + if (!isset($message)) { + $message = __('No feed enabled.'); + } $this->Flash->success($message); $this->redirect(array('action' => 'index')); } From 6627191507e64d76bf45197a22bb89571e6f3453 Mon Sep 17 00:00:00 2001 From: Jakub Onderka Date: Wed, 2 Oct 2019 16:14:27 +0200 Subject: [PATCH 2/2] fix: [internal] Correct error handling for invalid taxonomies --- app/Model/Taxonomy.php | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/app/Model/Taxonomy.php b/app/Model/Taxonomy.php index d5742883c..5bc21a528 100644 --- a/app/Model/Taxonomy.php +++ b/app/Model/Taxonomy.php @@ -38,21 +38,24 @@ class Taxonomy extends AppModel public function update() { $directories = glob(APP . 'files' . DS . 'taxonomies' . DS . '*', GLOB_ONLYDIR); - foreach ($directories as $k => $dir) { - $dir = str_replace(APP . 'files' . DS . 'taxonomies' . DS, '', $dir); - if ($dir === 'tools') { - unset($directories[$k]); - } else { - $directories[$k] = $dir; - } - } $updated = array(); foreach ($directories as $dir) { - if (!file_exists(APP . 'files' . DS . 'taxonomies' . DS . $dir . DS . 'machinetag.json')) { + $dir = basename($dir); + if ($dir === 'tools') { continue; } + $file = new File(APP . 'files' . DS . 'taxonomies' . DS . $dir . DS . 'machinetag.json'); + if (!$file->exists()) { + continue; + } $vocab = json_decode($file->read(), true); + $file->close(); + if ($vocab === null) { + $updated['fails'][] = array('namespace' => $dir, 'fail' => "File machinetag.json is not valid JSON."); + continue; + } + if (isset($vocab['type'])) { if (is_array($vocab['type'])) { if (!in_array('event', $vocab['type'])) { @@ -64,7 +67,7 @@ class Taxonomy extends AppModel } } } - $file->close(); + if (!isset($vocab['version'])) { $vocab['version'] = 1; }