public function executeEdit() { $this->trans_unit = $this->getTransUnitOrCreate(); $catalogues = CataloguePeer::getCatalogues(); foreach ($catalogues as $catalogue) { $trans_unit_string = 'trans_unit_' . $catalogue->getCatId(); $cat_id = $catalogue->getCatId(); ${$trans_unit_string} = $this->getRequestParameter("trans_unit_{$cat_id}"); if (isset(${$trans_unit_string}['msg_id'])) { $msg_id = ${$trans_unit_string}['msg_id']; $c = new Criteria(); $c->add(TransUnitPeer::MSG_ID, $msg_id); $c->add(TransUnitPeer::CAT_ID, $catalogue->getCatId()); $c->add(TransUnitPeer::SOURCE, $this->trans_unit->getSource()); $trans_unit_cat = TransUnitPeer::doSelectOne($c); } if (isset($trans_unit_cat) && is_object($trans_unit_cat)) { $this->{$trans_unit_string} = $this->getTransUnitByMsgIdOrCreate($trans_unit_cat->getMsgId()); } else { $this->{$trans_unit_string} = $this->getTransUnitOrCreate(); } } if ($this->getRequest()->getMethod() == sfRequest::POST) { foreach ($catalogues as $catalogue) { $this->updateTransUnitCatIdFromRequest($catalogue->getCatId()); $trans_unit_string = 'trans_unit_' . $catalogue->getCatId(); $this->saveTransUnit($this->{$trans_unit_string}); } $this->getUser()->setFlash('notice', 'Your modifications have been saved'); if ($this->getRequestParameter('save_and_add')) { return $this->redirect('sfTransUnit/create'); } else { if ($this->getRequestParameter('save_and_list')) { return $this->redirect('sfTransUnit/list'); } else { return $this->redirect('sfTransUnit/edit?msg_id=' . $this->{$trans_unit_string}->getMsgId()); } } } else { $this->labels = $this->getLabels(); } }
<?php $catalogues = CataloguePeer::getCatalogues(); echo input_hidden_tag("trans_unit[msg_id]", $trans_unit->getMsgId()); ?> <?php foreach ($catalogues as $catalogue) { $c = new Criteria(); $c->add(TransUnitPeer::CAT_ID, $catalogue->getCatId()); $c->add(TransUnitPeer::SOURCE, $trans_unit->getSource()); $trans_unit_string = 'trans_unit_' . $catalogue->getCatId(); $cat_id = $catalogue->getCatId(); ${$trans_unit_string} = TransUnitPeer::doSelectOne($c); if (${$trans_unit_string}) { $msg_id_string = 'msg_id_' . $catalogue->getCatId(); echo input_hidden_tag("{$trans_unit_string}[msg_id]", ${$trans_unit_string}->getMsgId()); } else { ${$trans_unit_string} = new TransUnit(); } echo '<h2><strong>' . $catalogue->getNvisible() . ' (' . $catalogue->getTargetLang() . ')</strong></h2>'; echo input_tag("{$trans_unit_string}[target]", ${$trans_unit_string}->getTarget(), array('style' => 'width: 480px')); echo checkbox_tag("{$trans_unit_string}[translated]", 1, ${$trans_unit_string}->getTranslated() == 1 ? 1 : 0); echo __("Translated"); echo '<br/>'; echo checkbox_tag("{$trans_unit_string}[default]", 1, ''); echo __("Set translation to source string"); /* Ana: 14-02-09 No se necesita. echo '<br/>'; echo '<br/>'; echo __("Comment");