diff --git a/lib/Alchemy/Phrasea/SearchEngine/AbstractConfigurationPanel.php b/lib/Alchemy/Phrasea/SearchEngine/AbstractConfigurationPanel.php index 5fd6abfc30..79cc238c26 100644 --- a/lib/Alchemy/Phrasea/SearchEngine/AbstractConfigurationPanel.php +++ b/lib/Alchemy/Phrasea/SearchEngine/AbstractConfigurationPanel.php @@ -4,14 +4,12 @@ namespace Alchemy\Phrasea\SearchEngine; abstract class AbstractConfigurationPanel implements ConfigurationPanelInterface { - abstract public function getName(); - public function getConfigPathFile() { return __DIR__ . '/../../../../config/'.$this->getName().'.json'; } - public function getAvailableDateFields($databoxes) + public function getAvailableDateFields(array $databoxes) { $date_fields = array(); diff --git a/lib/Alchemy/Phrasea/SearchEngine/ConfigurationPanelInterface.php b/lib/Alchemy/Phrasea/SearchEngine/ConfigurationPanelInterface.php index 3e715583ed..4f2be0a709 100644 --- a/lib/Alchemy/Phrasea/SearchEngine/ConfigurationPanelInterface.php +++ b/lib/Alchemy/Phrasea/SearchEngine/ConfigurationPanelInterface.php @@ -10,4 +10,12 @@ interface ConfigurationPanelInterface public function get(Application $app, Request $request); public function post(Application $app, Request $request); + + public function getName(); + + public function getConfiguration(); + + public function saveConfiguration(array $configuration); + + public function getAvailableDateFields(array $databoxes); } diff --git a/lib/Alchemy/Phrasea/SearchEngine/Phrasea/ConfigurationPanel.php b/lib/Alchemy/Phrasea/SearchEngine/Phrasea/ConfigurationPanel.php index 970c95068a..acce80bfc6 100644 --- a/lib/Alchemy/Phrasea/SearchEngine/Phrasea/ConfigurationPanel.php +++ b/lib/Alchemy/Phrasea/SearchEngine/Phrasea/ConfigurationPanel.php @@ -52,7 +52,7 @@ class ConfigurationPanel extends AbstractConfigurationPanel public function getConfiguration() { - $configuration = @json_decode(file_get_contents(__DIR__ . '/../../../../../config/phrasea-engine.json'), true); + $configuration = @json_decode(file_get_contents($this->getConfigPathFile()), true); if (!is_array($configuration)) { $configuration = array(); @@ -69,4 +69,10 @@ class ConfigurationPanel extends AbstractConfigurationPanel return $configuration; } + public function saveConfiguration(array $configuration) + { + file_put_contents($this->getConfigPathFile(), json_encode($configuration)); + + return $this; + } } diff --git a/lib/Alchemy/Phrasea/SearchEngine/SphinxSearch/ConfigurationPanel.php b/lib/Alchemy/Phrasea/SearchEngine/SphinxSearch/ConfigurationPanel.php index 778198b6f2..9bbccd77b8 100644 --- a/lib/Alchemy/Phrasea/SearchEngine/SphinxSearch/ConfigurationPanel.php +++ b/lib/Alchemy/Phrasea/SearchEngine/SphinxSearch/ConfigurationPanel.php @@ -5,6 +5,7 @@ namespace Alchemy\Phrasea\SearchEngine\SphinxSearch; use Alchemy\Phrasea\SearchEngine\AbstractConfigurationPanel; use Alchemy\Phrasea\Application; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\Finder\Finder; class ConfigurationPanel extends AbstractConfigurationPanel { @@ -30,7 +31,7 @@ class ConfigurationPanel extends AbstractConfigurationPanel $params = array( 'configuration' => $configuration, 'configfile' => $this->generateSphinxConf($app['phraseanet.appbox']->get_databoxes(), $configuration), - 'charsets' => $this->get_available_charsets(), + 'charsets' => $this->getAvailableCharsets(), 'date_fields' => $this->getAvailableDateFields($app['phraseanet.appbox']->get_databoxes()), ); @@ -95,14 +96,14 @@ class ConfigurationPanel extends AbstractConfigurationPanel return $configuration; } - public function saveConfiguration($configuration) + public function saveConfiguration(array $configuration) { file_put_contents($this->getConfigPathFile(), json_encode($configuration)); return $this; } - public function get_available_charsets() + public function getAvailableCharsets() { if (null !== $this->charsets) { return $this->charsets; @@ -110,7 +111,7 @@ class ConfigurationPanel extends AbstractConfigurationPanel $this->charsets = array(); - $finder = new \Symfony\Component\Finder\Finder(); + $finder = new Finder(); $finder->in(__DIR__ . '/Charset/')->files()->name('*.php'); foreach ($finder as $file) { diff --git a/templates/web/admin/sphinx/configuration.html.twig b/templates/web/admin/sphinx/configuration.html.twig deleted file mode 100644 index fbc3bb94cc..0000000000 --- a/templates/web/admin/sphinx/configuration.html.twig +++ /dev/null @@ -1,26 +0,0 @@ -{% if app['request'].query.get('success') == '1' %} -