public function save() { if (null !== ($response = $this->checkAuth(array(AdminResources::MODULE), array('CmCIC'), AccessManager::UPDATE))) { return $response; } $error_message = ""; $conf = new Config(); $form = new ConfigureCmCIC($this->getRequest()); try { $vform = $this->validateForm($form); CmCIC::setConfigValue('debug', $vform->get('debug')->getData() === true ? 1 : 0); CmCIC::setConfigValue('allowed_ips', $vform->get('allowed_ips')->getData()); // After post checks (PREG_MATCH) & create json file if (preg_match("#^\\d{7}\$#", $vform->get('TPE')->getData()) && preg_match("#^[a-z\\d]{40}\$#i", $vform->get('com_key')->getData()) && preg_match("#^[a-z\\d]+\$#i", $vform->get('com_soc')->getData()) && preg_match("#^cic|cm|obc\$#", $vform->get('server')->getData())) { $serv = $vform->get('server')->getData(); $serv = ($serv === "cic" ? self::CIC_SERVER : ($serv === "cm" ? self::CM_SERVER : ($serv === "obc" ? self::OBC_SERVER : ""))) . ($vform->get('debug')->getData() === true ? "test/" : ""); $conf->setCMCICKEY($vform->get('com_key')->getData())->setCMCICVERSION(self::CMCIC_VERSION)->setCMCICCODESOCIETE($vform->get('com_soc')->getData())->setCMCICPAGE($vform->get('page')->getData())->setCMCICTPE($vform->get('TPE')->getData())->setCMCICSERVER($serv)->write(CmCIC::JSON_CONFIG_PATH); } else { throw new \Exception(Translator::getInstance()->trans("Error in form syntax, please check that your values are correct.")); } } catch (\Exception $e) { $error_message = $e->getMessage(); } $this->setupFormErrorContext('erreur sauvegarde configuration', $error_message, $form); $this->redirectToRoute("admin.module.configure", array(), array('module_code' => "CmCIC", '_controller' => 'Thelia\\Controller\\Admin\\ModuleController::configureAction')); }