public function _toJson($block)
 {
     $block->unsMobileTemplate()->unsTemplate();
     $block_data = $block->getData();
     switch ($block->getType()) {
         case "text":
             $block_data["image_url"] = $block->getImageUrl();
             break;
         case "image":
             $library = new Cms_Model_Application_Page_Block_Image_Library();
             $libraries = $library->findAll(array('library_id' => $block->getLibraryId()), 'image_id ASC', null);
             $block_data["gallery"] = array();
             foreach ($libraries as $image) {
                 $block_data["gallery"][] = array("id" => $image->getId(), "url" => $image->getImageFullSize());
             }
             break;
         case "video":
             $video = $block->getObject();
             $block_data["cover_url"] = $video->getImageUrl();
             $url = $video->getLink();
             $video_id = $video->getId();
             if ($video->getTypeId() == "youtube") {
                 $url = "http://www.youtube.com/embed/{$video->getYoutube()}?autoplay=1";
                 $video_id = $video->getYoutube();
             }
             $block_data["url"] = $url;
             $block_data["video_id"] = $video_id;
             break;
     }
     return $block_data;
 }
Exemple #2
0
 public function copyTo($option)
 {
     $blocks = array();
     foreach ($this->getBlocks() as $block) {
         switch ($block->getType()) {
             case 'image':
                 $library = new Cms_Model_Application_Page_Block_Image_Library();
                 $images = $library->findAll(array('library_id' => $block->getLibraryId()), 'image_id ASC', null);
                 $block->unsId(null)->unsLibraryId(null)->unsImageId();
                 $new_block = $block->getData();
                 $new_block['image_url'] = array();
                 $new_block['image_fullsize_url'] = array();
                 $new_block['library_id'] = null;
                 foreach ($images as $image) {
                     $new_block['image_url'][] = $image->getData('image_url');
                     $new_block['image_fullsize_url'][] = $image->getData('image_fullsize_url');
                 }
                 $blocks[] = $new_block;
                 break;
             case 'video':
                 $object = $block->getObject();
                 $object->setId(null);
                 $block->unsId(null)->unsVideoId();
                 $blocks[] = $block->getData() + $object->getData();
                 break;
             case 'address':
                 $block->unsAddressId();
                 break;
             case 'button':
                 $block->unsButtonId();
             case 'text':
             default:
                 $block->unsId(null)->unsTextId();
                 $blocks[] = $block->getData();
                 break;
         }
     }
     $this->setData('block', $blocks);
     $this->setId(null)->setValueId($option->getId())->save();
 }