*/ class Carousel extends BaseModule { const DOMAIN_NAME = 'carousel'; public function preActivation(ConnectionInterface $con = null) { if (! $this->getConfigValue('is_initialized', false)) { $database = new Database($con); $database->insertSql(null, array(__DIR__ . '/Config/thelia.sql')); $this->setConfigValue('is_initialized', true); } return true; } public function destroy(ConnectionInterface $con = null, $deleteModuleData = false) { $database = new Database($con); $database->insertSql(null, array(__DIR__ . '/Config/sql/destroy.sql')); } public function getUploadDir() { $uploadDir = ConfigQuery::read('images_library_path'); if ($uploadDir === null) { $uploadDir = THELIA_LOCAL_DIR . 'media' . DS . 'images'; } else { $uploadDir = THELIA_ROOT . $uploadDir; } return $uploadDir . DS . Carousel::DOMAIN_NAME; } /** * @param string $currentVersion * @param string $newVersion * @param ConnectionInterface $con * @author Thomas Arnaud */ public function update($currentVersion, $newVersion, ConnectionInterface $con = null) { $uploadDir = $this->getUploadDir(); $fileSystem = new Filesystem(); if (!$fileSystem->exists($uploadDir) && $fileSystem->exists(__DIR__ . DS . 'media' . DS . 'carousel')) { $finder = new Finder(); $finder->files()->in(__DIR__ . DS . 'media' . DS . 'carousel'); $fileSystem->mkdir($uploadDir); /** @var SplFileInfo $file */ foreach ($finder as $file) { copy($file, $uploadDir . DS . $file->getRelativePathname()); } $fileSystem->remove(__DIR__ . DS . 'media'); } } }