68 \Psr\Log\LoggerInterface
$logger,
70 \
Magento\MediaStorage\Helper\
File\Media $mediaHelper,
73 $this->_fileUtility = $fileUtility;
74 $this->_storageHelper = $storageHelper;
76 $this->_mediaHelper = $mediaHelper;
96 return __(
'File system');
106 return $this->_fileUtility->getStorageData();
116 return !empty($this->_errors);
126 $this->_fileUtility->clear();
141 if (!in_array(
$type, [
'files',
'directories'])) {
145 $offset = (int)$offset >= 0 ? (
int)$offset : 0;
148 if (empty($this->_data)) {
152 if (!array_key_exists(
$type, $this->_data)) {
155 $slice = array_slice($this->_data[
$type], $offset,
$count);
156 return $slice ?:
false;
210 }
catch (\Exception $e) {
211 $this->_logger->critical($e);
228 public function import(
$data, $callback)
230 if (!is_array(
$data) || !method_exists($this, $callback)) {
234 foreach (
$data as $part) {
236 $this->{$callback}($part);
237 }
catch (\Exception $e) {
238 $this->_errors[] = $e->getMessage();
239 $this->_logger->critical($e);
254 return $this->
import($dirs,
'saveDir');
265 return $this->
import(
$files,
'saveFile');
276 return $this->_fileUtility->saveDir($dir);
289 if (isset($file[
'filename'])
290 && !empty($file[
'filename'])
291 && isset($file[
'content'])
292 && !empty($file[
'content'])
297 ) && !empty($file[
'directory']) ? $file[
'directory'] .
'/' . $file[
'filename'] : $file[
'filename'];
299 return $this->_fileUtility->saveFile($filename, $file[
'content'], $overwrite);
300 }
catch (\Exception $e) {
301 $this->_logger->critical($e);
302 throw new \Magento\Framework\Exception\LocalizedException(
303 __(
'Unable to save file "%1" at "%2"', $file[
'filename'], $file[
'directory'])
307 throw new \Magento\Framework\Exception\LocalizedException(
__(
'Wrong file info format'));
318 if ($this->_mediaBaseDirectory ===
null) {
319 $this->_mediaBaseDirectory = $this->_storageHelper->getMediaBaseDir();
foreach($appDirs as $dir) $files