/** * Preprocess import data. * Check size limit of CSV files and divide them on several small parts. * Returns true if file was divided * * @return boolean */ protected function preprocessImport() { $newFiles = array(); foreach ($this->getProcessors() as $processor) { $files = $processor->getFiles(true); foreach ($files as $file) { $fileSize = $file->getSize(); if ($fileSize > static::MAX_FILE_SIZE) { $newFiles[$file->getRealPath()] = $processor->divideCSVFile($file); } } } if ($newFiles) { $dir = \Includes\Utils\FileManager::getRealPath(LC_DIR_VAR . $this->getOptions()->dir); foreach ($newFiles as $srcFile => $dstFiles) { if (\Includes\Utils\FileManager::deleteFile($srcFile)) { foreach ($dstFiles as $fileData) { $moveTo = $dir . LC_DS . basename($fileData['file']); \Includes\Utils\FileManager::move($fileData['file'], $moveTo); $this->options->deltaFiles[basename($moveTo)] = array('delta' => $fileData['delta'], 'file' => basename($srcFile)); } } } } return !empty($newFiles); }
/** * Move/copy class file * * @param string $class New class name * * @return void */ protected function moveClassFile($class) { if (!$this->isRoot() && !$this->isRoot($class)) { if ($this->getClass()) { \Includes\Utils\FileManager::move($this->getFile(), $this->getFile($class)); } else { \Includes\Utils\FileManager::copy($this->getFile($class, LC_DIR_CLASSES), $this->getFile($class)); } } }