コード例 #1
0
 public function insertUpdateProcessing(EntityManager $em, $data, $blockid = null)
 {
     $update = !is_null($blockid);
     //If insert mode, creates new instance
     if ($update) {
         $block = $em->find('Model\\ContentBlock', $blockid);
     } else {
         $block = new ContentBlock();
     }
     //Update instance values
     $block->setName($data['name']);
     $block->setDescription($data['description']);
     $block->setBlockStyleClassName($_POST['blockStyleClassName']);
     $block->setBgurl($data['bgurl']);
     $block->setBgred(intval($data['bgred']));
     $block->setBggreen(intval($data['bggreen']));
     $block->setBgblue(intval($data['bgblue']));
     $block->setBgopacity(floatval($data['bgopacity']));
     $bgrepeatx = isset($data['bckrepeatx']) && !(strlen($data['bckrepeatx']) <= 0 || $data['bckrepeatx'] == 'false');
     $bgrepeaty = isset($data['bckrepeaty']) && !(strlen($data['bckrepeaty']) <= 0 || $data['bckrepeaty'] == 'false');
     $block->setBgrepeatx($bgrepeatx);
     $block->setBgrepeaty($bgrepeaty);
     $block->setBgsize($data['bgsize']);
     if (strlen($data['content']) > 0) {
         $block->setContent($data['content']);
     }
     try {
         $em->beginTransaction();
         if ($update) {
             $em->merge($block);
         } else {
             $em->persist($block);
         }
         $em->flush();
         $em->commit();
     } catch (\Exception $e) {
         $em->rollback();
         throw $e;
     }
     return $block->getId();
 }