Example #1
0
 public function executeUpdate($request)
 {
     $source = $request->getParameter('transUnit');
     $unitvars = $request->getParameter('unitvars');
     foreach ($unitvars as $lang => $val) {
         // 1. check that $lang catalogue exists
         $catalogue = Doctrine::getTable('Catalogue')->findOneByTargetLangAndName($lang, 'messages.' . $lang);
         if (!$catalogue) {
             //1.1 if not then add it
             $catalogue = new Catalogue();
             $catalogue->fromArray(array('name' => 'messages.' . $lang, 'source_lang' => 'en', 'target_lang' => $lang));
             $catalogue->save();
         }
         $transUnit = Doctrine::getTable('TransUnit')->findOneByLangAndCategory($source, $catalogue->cat_id);
         if (!$transUnit) {
             $transUnit = new TransUnit();
             $transUnit->fromArray(array('source' => $source));
             $transUnit->setCatalogue($catalogue);
         }
         $transUnit->setTarget($val);
         $transUnit->translated = empty($val) ? 0 : 1;
         $transUnit->save();
     }
     $this->clearCache();
     $this->redirect('@admin_page?module=translation&action=edit&source=' . $source);
 }
 public function getCatalogueID($lang)
 {
     $cat = Doctrine::getTable('Catalogue')->findOneByNameAndTargetLang($this->getCatalogueBaseName() . '.' . $lang, $lang);
     if ($cat) {
         return $cat['cat_id'];
     } else {
         $cat = new Catalogue();
         $cat->fromArray(array('name' => $this->getCatalogueBaseName() . '.' . $lang, 'source_lang' => 'en', 'target_lang' => $lang));
         $cat->save();
         return $cat['cat_id'];
     }
 }