JsonWriterTrait.php in Content Synchronizer 8.2
File
src/Base/JsonWriterTrait.php
View source
<?php
namespace Drupal\content_synchronizer\Base;
trait JsonWriterTrait {
protected function writeJson($data, $destination) {
$dir = explode('/', $destination);
array_pop($dir);
$dir = implode('/', $dir);
$this
->createDirectory($dir);
file_save_data(json_encode($data), $destination, FILE_EXISTS_REPLACE);
}
protected function getDataFromFile($path) {
if (file_exists($path)) {
return json_decode(file_get_contents($path), TRUE);
}
return NULL;
}
protected function createDirectory($dir) {
if (!is_dir($dir)) {
file_prepare_directory($dir, FILE_CREATE_DIRECTORY);
}
}
protected function createDirTreeForFileDest($destination, $root = '/') {
$destinationItems = explode('/', $destination);
$fileName = array_pop($destinationItems);
foreach ($destinationItems as $dirItem) {
$root .= '/' . $dirItem;
$this
->createDirectory($root);
}
return $root . '/' . $fileName;
}
}