public function saveAction() { $values = Zend_Json::decode($this->getParam("data")); // convert all special characters to their entities so the xml writer can put it into the file $values = array_htmlspecialchars($values); try { $sphinx_config = new SphinxSearch_Config(); $sphinx_config->writeSphinxConfig(); $plugin_config = new SphinxSearch_Config_Plugin(); $config_data = $plugin_config->getData(); $config_data["path"]["pid"] = $values["sphinxsearch.path_pid"]; $config_data["path"]["querylog"] = $values["sphinxsearch.path_querylog"]; $config_data["path"]["log"] = $values["sphinxsearch.path_logfile"]; $config_data["path"]["indexer"] = $values["sphinxsearch.path_indexer"]; $config_data["path"]["phpcli"] = $values["sphinxsearch.path_phpcli"]; $config_data["path"]["searchd"] = $values["sphinxsearch.path_searchd"]; $config_data["indexer"]["period"] = $values["sphinxsearch.indexer_period"]; $config_data["indexer"]["runwithmaintenance"] = $values["sphinxsearch.indexer_maintenance"] == "true" ? "true" : "false"; $config_data["indexer"]["onchange"] = $values["sphinxsearch.indexer_onchange"]; $config_data["documents"]["use_i18n"] = $values["sphinxsearch.documents_i18n"] == "true" ? "true" : "false"; $config_data["searchd"]["port"] = $values["sphinxsearch.searchd_port"]; $plugin_config->setData($config_data); $plugin_config->save(); $this->_helper->json(array("success" => true)); } catch (Exception $e) { $this->_helper->json(false); } }