示例#1
0
 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'));
 }