コード例 #1
0
 /**
  * Guarda o borra las variables y sus valores en el proyecto
  *
  * Si se trata de variables web, también actualiza el control
  * de visibilidad de estas en las variables de entorno
  * del módulo correspondiente
  *
  * @return array Array template, values
  */
 public function EditAction()
 {
     if ($this->request['METHOD'] == 'POST') {
         $tipo = $this->request['tipo'];
         $ambito = $this->request['ambito'];
         $nombre = $this->request['nombre'];
         switch ($this->request['accion']) {
             case 'Guardar':
                 if ($this->values['permisos']['permisosModulo']['UP']) {
                     $this->ponValoresDefecto($ambito, $tipo, $nombre, $this->request['d']);
                     $variables = new Variables($ambito, $tipo, $nombre);
                     $variables->setDatosYml($this->request['d']);
                     $variables->save();
                     $this->values['errores'] = $variables->getErrores();
                     if (count($this->values['errores']) == 0) {
                         $_SESSION['VARIABLES'][$tipo . $ambito] = $this->request['d'];
                     }
                     unset($variables);
                     return $this->indexAction($ambito, $tipo, $nombre);
                 } else {
                     return array('template' => '_global/forbiden.html.twig', 'values' => $this->values);
                 }
                 break;
             case 'Borrar':
                 if ($this->values['permisos']['permisosModulo']['DE']) {
                     $variables = new Variables($ambito, $tipo, $nombre);
                     $variables->erase();
                     $this->values['errores'] = $variables->getErrores();
                     unset($variables);
                     return $this->indexAction($ambito, $tipo, $nombre);
                 } else {
                     return array('template' => '_global/forbiden.html.twig', 'values' => $this->values);
                 }
                 break;
         }
     } else {
         return array('template' => '_global/forbiden.html.twig', array());
     }
 }