diff --git a/app/Controller/FeedsController.php b/app/Controller/FeedsController.php index 3c6419067..c9b214dc6 100644 --- a/app/Controller/FeedsController.php +++ b/app/Controller/FeedsController.php @@ -508,6 +508,9 @@ class FeedsController extends AppController } } } + if (!isset($message)) { + $message = __('No feed enabled.'); + } if ($this->_isRest()) { return $this->RestResponse->viewData(array('result' => $message), $this->response->type()); } else { 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; }