public function executeGEstructura(sfWebRequest $request) { $this->setLayout('gestio'); $this->IDS = $this->getUser()->getSessionPar('idS'); $this->IDN = $request->getParameter('idN', 0); $this->ERRORS = array(); $this->NOU = false; $this->EDICIO = false; $this->HTML = false; $accio = $request->getParameter('accio'); if ($request->hasParameter('SaveHTML')) { $accio = 'SAVE_HTML'; } elseif ($request->hasParameter('BSAVE')) { $accio = 'SAVE'; } elseif ($request->hasParameter('BDELETE')) { $accio = 'D'; } switch ($accio) { case 'N': $this->FNode = NodesPeer::initialize($this->IDN, $this->IDS); $this->NOU = true; break; case 'E': $this->FNode = NodesPeer::initialize($this->IDN, $this->IDS); $this->EDICIO = true; break; case 'H': $this->FHtml = NodesPeer::initialize($this->IDN, $this->IDS, true); $this->HTML = true; break; case 'D': $this->FNode = NodesPeer::initialize($this->IDN, $this->IDS); $this->NODE = $this->FNode->getObject(); $this->NODE->setActiu(false); $this->NODE->save(); $this->getUser()->addLogAction('delete', 'gEstructura', $this->NODE); break; case 'CC': $this->getUser()->addLogAction('inside', 'gEstructura'); break; case 'SAVE': $RP = $request->getParameter('nodes'); $this->IDN = $RP['idNodes']; $this->FNode = NodesPeer::initialize($this->IDN, $this->IDS); $this->FNode->bind($RP); if ($this->FNode->isValid()) { $this->FNode->save(); $this->getUser()->addLogAction('save', 'gEstructura', null, $this->FNode->getObject()); } $this->EDICIO = false; break; case 'SAVE_HTML': $RP = $request->getParameter('editor'); $this->IDN = $RP['idNodes']; $this->FHtml = NodesPeer::initialize($this->IDN, $this->IDS, true); $this->FHtml->bind($RP); if ($this->FHtml->isValid()) { $this->FHtml->save(); $this->getUser()->addLogAction('saveHTML', 'gEstructura', $this->FHtml->getObject()); } $this->HTML = true; break; } $this->NODES = NodesPeer::selectNodesPares($this->IDS, true); // $this->NODES = NodesPeer::retornaMenu($this->IDS,true); }