Example #1
0
 /**
  * Servicio que guarda la configuración de la plataforma
  * @POST
  * @route /admin/config
  * @visible false
  * @return string
  * @throws \HttpException
  */
 public function saveConfig()
 {
     Logger::getInstance()->infoLog(_("Guardando configuración"));
     /* @var $form \PSFS\base\config\ConfigForm */
     $form = new ConfigForm(Router::getInstance()->getRoute('admin-config'), Config::$required, Config::$optional, Config::getInstance()->dumpConfig());
     $form->build();
     $form->hydrate();
     if ($form->isValid()) {
         $debug = Config::getInstance()->getDebugMode();
         $newDebug = $form->getFieldValue("debug");
         if (Config::save($form->getData(), $form->getExtraData())) {
             Logger::log(_('Configuración guardada correctamente'));
             //Verificamos si tenemos que limpiar la cache del DocumentRoot
             if (boolval($debug) !== boolval($newDebug)) {
                 Config::clearDocumentRoot();
             }
             Security::getInstance()->setFlash("callback_message", _("Configuración actualizada correctamente"));
             Security::getInstance()->setFlash("callback_route", $this->getRoute("admin-config", true));
         } else {
             throw new \HttpException(_('Error al guardar la configuración, prueba a cambiar los permisos'), 403);
         }
     }
     return $this->render('welcome.html.twig', array('text' => _("Bienvenido a PSFS"), 'config' => $form, 'typeahead_data' => array_merge(Config::$required, Config::$optional)));
 }