YAML syntax fixes

This commit is contained in:
Matias Griese
2016-12-08 12:57:40 +02:00
parent 625f3d3a34
commit 833cd497bb
10 changed files with 57 additions and 51 deletions

View File

@@ -5,6 +5,7 @@
* Better error handling in cache clear
1. [](#bugfix)
* Added new parameter `remove` for `onBeforeCacheClear` event
* YAML syntax fixes
# v1.1.9-rc.3
## 12/07/2016

View File

@@ -2,7 +2,7 @@ title: PLUGIN_ADMIN.DEFAULT
rules:
slug:
pattern: "[a-zа-я][a-zа-я0-9_\-]+"
pattern: '[a-zа-я][a-zа-я0-9_\-]+'
min: 2
max: 80

View File

@@ -5,7 +5,7 @@ title: PLUGIN_ADMIN:EXTERNAL
rules:
slug:
pattern: "[a-zа-я][a-zа-я0-9_\-]+"
pattern: '[a-zа-я][a-zа-я0-9_\-]+'
min: 2
max: 80

View File

@@ -1,6 +1,6 @@
rules:
slug:
pattern: "[a-z][a-z0-9_\-]+"
pattern: '[a-z][a-z0-9_\-]+'
min: 2
max: 80

View File

@@ -1,6 +1,6 @@
rules:
slug:
pattern: "[a-z][a-z0-9_\-]+"
pattern: '[a-z][a-z0-9_\-]+'
min: 2
max: 80

View File

@@ -1,6 +1,6 @@
rules:
slug:
pattern: "[a-z][a-z0-9_\-]+"
pattern: '[a-z][a-z0-9_\-]+'
min: 2
max: 80

View File

@@ -1,6 +1,6 @@
rules:
slug:
pattern: "[a-z][a-z0-9_\-]+"
pattern: '[a-z][a-z0-9_\-]+'
min: 2
max: 80

View File

@@ -1,6 +1,6 @@
rules:
slug:
pattern: "[a-z][a-z0-9_\-]+"
pattern: '[a-z][a-z0-9_\-]+'
min: 2
max: 80

View File

@@ -1,6 +1,6 @@
rules:
slug:
pattern: "[a-z][a-z0-9_\-]+"
pattern: '[a-z][a-z0-9_\-]+'
min: 2
max: 80

View File

@@ -23,58 +23,63 @@ trait CompiledFile
// Set some options
$this->settings(['native' => true, 'compat' => true]);
// If nothing has been loaded, attempt to get pre-compiled version of the file first.
if ($var === null && $this->raw === null && $this->content === null) {
$key = md5($this->filename);
$file = PhpFile::instance(CACHE_DIR . DS . "compiled/files/{$key}{$this->extension}.php");
try {
// If nothing has been loaded, attempt to get pre-compiled version of the file first.
if ($var === null && $this->raw === null && $this->content === null) {
$key = md5($this->filename);
$file = PhpFile::instance(CACHE_DIR . DS . "compiled/files/{$key}{$this->extension}.php");
$modified = $this->modified();
$modified = $this->modified();
if (!$modified) {
return $this->decode($this->raw());
}
$class = get_class($this);
$cache = $file->exists() ? $file->content() : null;
// Load real file if cache isn't up to date (or is invalid).
if (
!isset($cache['@class'])
|| $cache['@class'] != $class
|| $cache['modified'] != $modified
|| $cache['filename'] != $this->filename
) {
// Attempt to lock the file for writing.
try {
$file->lock(false);
} catch (\Exception $e) {
// Another process has locked the file; we will check this in a bit.
if (!$modified) {
return $this->decode($this->raw());
}
// Decode RAW file into compiled array.
$data = (array) $this->decode($this->raw());
$cache = [
'@class' => $class,
'filename' => $this->filename,
'modified' => $modified,
'data' => $data
];
$class = get_class($this);
// If compiled file wasn't already locked by another process, save it.
if ($file->locked() !== false) {
$file->save($cache);
$file->unlock();
$cache = $file->exists() ? $file->content() : null;
// Compile cached file into bytecode cache
if (function_exists('opcache_invalidate')) {
opcache_invalidate($file->filename(), true);
// Load real file if cache isn't up to date (or is invalid).
if (
!isset($cache['@class'])
|| $cache['@class'] != $class
|| $cache['modified'] != $modified
|| $cache['filename'] != $this->filename
) {
// Attempt to lock the file for writing.
try {
$file->lock(false);
} catch (\Exception $e) {
// Another process has locked the file; we will check this in a bit.
}
// Decode RAW file into compiled array.
$data = (array)$this->decode($this->raw());
$cache = [
'@class' => $class,
'filename' => $this->filename,
'modified' => $modified,
'data' => $data
];
// If compiled file wasn't already locked by another process, save it.
if ($file->locked() !== false) {
$file->save($cache);
$file->unlock();
// Compile cached file into bytecode cache
if (function_exists('opcache_invalidate')) {
opcache_invalidate($file->filename(), true);
}
}
}
}
$file->free();
$file->free();
$this->content = $cache['data'];
$this->content = $cache['data'];
}
} catch (\Exception $e) {
throw new \RuntimeException(sprintf('Failed to read %s: %s', basename($this->filename), $e->getMessage()), 500, $e);
}
return parent::content($var);