/** * Lee el archivo de plantilla y mapea las variables indicadas * en la configuración de la plantilla y los definidas en la plantilla * * @return type */ public function MapearAction() { $this->idCircular = $this->request['idCircular']; $this->filePlantilla = $this->pathPlantillas . "/" . $this->request['plantilla']; $formato = $this->circulares[$this->idCircular]; $mapeo = array(); foreach ($this->circulares[$this->idCircular]['columnsMaster'] as $columna) { $mapeo[$columna['title']] = $columna['field']; } foreach ($this->circulares[$this->idCircular]['columnsDetail'] as $columna) { $mapeo[$columna['title']] = $columna['field']; } $variablesDocumento = $this->getVariablesDocumento($this->filePlantilla); $variables = array_merge($variablesDocumento, $mapeo); foreach ($variables as $variable => $valor) { if ($valor == '') { $libres[$variable] = null; } } // guardar en el yml el archivo de plantilla seleccionado asociándolo al tipo de circular $this->circulares[$this->idCircular]['plantilla'] = $this->request['plantilla']; $yml = sfYaml::dump(array('circulares' => $this->circulares), 5); $carpeta = "docs/docs{$_SESSION['emp']}/circulares"; Archivo::creaCarpeta($carpeta); $file = $carpeta . "/circulares.yml"; $archivo = new Archivo($file); $archivo->write($yml); unset($archivo); $this->values['variables'] = array('disponibles' => $mapeo, 'libres' => $libres); return $this->SelectAction($this->idCircular); }