release; } /** * {@inheritdoc} */ public function require_all_upgrades() { return false; } /** * {@inheritdoc} */ public function concern() { return $this->concern; } /** * {@inheritdoc} */ public function apply(base $appbox, Application $app) { $xsendfilePath = $app['phraseanet.registry']->get('GV_X_Accel_Redirect'); $xsendfileMountPoint = $app['phraseanet.registry']->get('GV_X_Accel_Redirect_mount_point'); $config = $app['configuration'] ->setDefault('xsendfile') ->getConfig(); $config['xsendfile']['enabled'] = (Boolean) $app['phraseanet.registry']->get('GV_modxsendfile', false); $config['xsendfile']['type'] = $config['xsendfile']['enabled'] ? 'nginx' : ''; if (null !== $xsendfilePath && null !== $xsendfileMountPoint) { $config['xsendfile']['mapping'] = [[ 'directory' => $xsendfilePath, 'mount-point' => $xsendfileMountPoint, ]]; } $app['configuration']->setConfig($config); $toRemove = ['GV_X_Accel_Redirect', 'GV_X_Accel_Redirect_mount_point', 'GV_modxsendfile']; $sql = 'DELETE FROM registry WHERE `key` = :k'; $stmt = $appbox->get_connection()->prepare($sql); foreach ($toRemove as $registryKey) { $stmt->execute([ ':k' => $registryKey ]); } $stmt->closeCursor(); return true; } }