diff options
author | n-peugnet <n.peugnet@free.fr> | 2019-11-04 23:31:31 +0100 |
---|---|---|
committer | n-peugnet <n.peugnet@free.fr> | 2019-11-05 19:06:40 +0100 |
commit | e802d5204b96d645ec3d40b81b4a8bdc6e0ee675 (patch) | |
tree | 8e6db5e36ad8f247b442583e1e9e5da2934f4b52 /app/class/Flywheel | |
parent | f1f63f556c41c99d45cd610186b0982383eff375 (diff) | |
download | wcms-e802d5204b96d645ec3d40b81b4a8bdc6e0ee675.tar.gz wcms-e802d5204b96d645ec3d40b81b4a8bdc6e0ee675.zip |
refactor: switch to psr-4 autoloading
Diffstat (limited to 'app/class/Flywheel')
-rw-r--r-- | app/class/Flywheel/Formatter/JSON.php | 21 | ||||
-rw-r--r-- | app/class/Flywheel/Predicate.php | 11 | ||||
-rw-r--r-- | app/class/Flywheel/Query.php | 16 | ||||
-rw-r--r-- | app/class/Flywheel/Repository.php | 30 |
4 files changed, 78 insertions, 0 deletions
diff --git a/app/class/Flywheel/Formatter/JSON.php b/app/class/Flywheel/Formatter/JSON.php new file mode 100644 index 0000000..9659fcb --- /dev/null +++ b/app/class/Flywheel/Formatter/JSON.php @@ -0,0 +1,21 @@ +<?php +namespace Wcms\Flywheel\Formatter; + +class JSON implements \JamesMoss\Flywheel\Formatter\FormatInterface +{ + public function getFileExtension() + { + return 'json'; + } + public function encode(array $data) + { + $options = defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : null; + $options .= JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE; + return json_encode($data, $options); + } + public function decode($data) + { + $options = defined('JSON_OBJECT_AS_ARRAY') ? JSON_OBJECT_AS_ARRAY : null; + return json_decode($data, $options); + } +}
\ No newline at end of file diff --git a/app/class/Flywheel/Predicate.php b/app/class/Flywheel/Predicate.php new file mode 100644 index 0000000..2922c8d --- /dev/null +++ b/app/class/Flywheel/Predicate.php @@ -0,0 +1,11 @@ +<?php +namespace Wcms\Flywheel; + +class Predicate extends \JamesMoss\Flywheel\Predicate +{ + public function __construct() { + $this->operators = array( + '>', '>=', '<', '<=', '==', '===', '!=', '!==', 'IN' + ); + } +} diff --git a/app/class/Flywheel/Query.php b/app/class/Flywheel/Query.php new file mode 100644 index 0000000..f002080 --- /dev/null +++ b/app/class/Flywheel/Query.php @@ -0,0 +1,16 @@ +<?php +namespace Wcms\Flywheel; + +class Query extends \JamesMoss\Flywheel\Query +{ + /** + * Constructor + * + * @param Repository $repository The repo this query will run against. + */ + public function __construct(Repository $repository) + { + parent::__construct($repository); + $this->predicate = new Predicate(); + } +} diff --git a/app/class/Flywheel/Repository.php b/app/class/Flywheel/Repository.php new file mode 100644 index 0000000..d0b68eb --- /dev/null +++ b/app/class/Flywheel/Repository.php @@ -0,0 +1,30 @@ +<?php +namespace Wcms\Flywheel; + +class Repository extends \JamesMoss\Flywheel\Repository +{ + /** + * Get an array containing the path of all files in this repository + * + * @return array An array, item is a file + */ + public function getAllFiles() + { + $ext = $this->formatter->getFileExtension(); + $files = glob($this->path . DIRECTORY_SEPARATOR . '*.' . $ext); + return $files; + } + + /** + * Get an array containing the id of all files in this repository + * + * @return array An array, item is a id + */ + public function getAllIds() + { + $ext = $this->formatter->getFileExtension(); + return array_map(function($path) use ($ext) { + return $this->getIdFromPath($path, $ext); + }, $this->getAllFiles()); + } +} |