예제 #1
0
 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();
     }
 }
예제 #2
0
<?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");