Current Path : /home/church/www/africadayfestival.com/wp-content/plugins/easy-image-collage/helpers/ |
Current File : /home/church/www/africadayfestival.com/wp-content/plugins/easy-image-collage/helpers/layouts.php |
<?php class EIC_Layouts { private $layouts; public function __construct() { $this->layouts(); } public function draw_layouts( $controls = false ) { $output = ''; foreach( $this->layouts as $name => $layout ) { $layout['name'] = $name; $output .= $this->draw_layout( $layout, false, $controls ); } return $output; } public function draw_layout( $layout, $grid, $controls = false ) { $grid_id = $grid ? $grid->ID() : 0; $output = '<div class="eic-frame eic-frame-' . $grid_id . ' eic-frame-' . $layout['name'] . '" data-layout-name="' . $layout['name'] . '"'; if( $grid ) { $output .= ' data-orig-width="' . $grid->width() . '"'; $output .= ' data-orig-border="' . $grid->border_width() . '"'; $output .= ' data-ratio="' . $grid->ratio() . '"'; } $output .= '>'; $output .= $this->draw_block( $layout, $grid, $controls ); $output .= '</div>'; return $output; } private function draw_block( $block, $grid = false, $controls = false ) { if( $block['type'] == 'img' ) { $output = '<div class="eic-image eic-image-' . $block['id'] . '"'; if( $grid ) { $image = $grid->image( $block['id'] ); if( $image ) { $output .= ' data-size-x="' . $image['size_x'] . '"'; $output .= ' data-size-y="' . $image['size_y'] . '"'; $output .= ' data-pos-x="' . $image['pos_x'] . '"'; $output .= ' data-pos-y="' . $image['pos_y'] . '"'; $output .= '>'; $image_post = get_post( $image['attachment_id'] ); if( isset( $image['custom_link'] ) && $image['custom_link'] !== '' ) { $new_tab = !$image['custom_link_new_tab'] || $image['custom_link_new_tab'] === 'false' ? '' : ' target="_blank"'; $nofollow = !$image['custom_link_nofollow'] || $image['custom_link_nofollow'] === 'false' ? '' : ' rel="nofollow"'; $output .= '<a href="' . esc_attr( $image['custom_link'] ) . '" title="' . esc_attr( $image_post->post_title ) . '" class="eic-image-custom-link"' . $new_tab . $nofollow . '></a>'; } elseif( EasyImageCollage::option( 'clickable_images', '0' ) == '1' ) { $class = EasyImageCollage::option( 'lightbox_class', '' ); $rel = EasyImageCollage::option( 'lightbox_rel', 'lightbox' ); $target = EasyImageCollage::option( 'clickable_images_new_tab', '0' ) == '1' ? ' target="_blank"' : ''; $output .= '<a href="' . $image['attachment_url'] . '" rel="' . esc_attr( $rel ) . '" title="' . esc_attr( $image_post->post_title ) . '" class="eic-image-link ' . esc_attr( $class ) . '"' . $target . '></a>'; } // Pinterest Button if( !$controls && EasyImageCollage::option( 'pinterest_enable', '0' ) == '1' ) { $pin_image = $image['attachment_url']; $image_caption = isset( $image['custom_caption'] ) ? $image['custom_caption'] : ''; $image_title = $image_post->post_title; $image_alt = get_post_meta( $image['attachment_id'], '_wp_attachment_image_alt', true ); $pin_description = EasyImageCollage::option( 'pinterest_description', '%title%' ); $pin_description = str_ireplace( '%title%', $image_title, $pin_description ); $pin_description = str_ireplace( '%alt%', $image_alt, $pin_description ); $pin_description = str_ireplace( '%caption%', $image_caption, $pin_description ); switch( EasyImageCollage::option( 'pinterest_style', 'default' ) ) { case 'red': $pin_style = ' data-pin-color="red"'; break; case 'white': $pin_style = ' data-pin-color="white"'; break; case 'round': $pin_style = ' data-pin-shape="round"'; break; default: $pin_style = ''; } switch( EasyImageCollage::option( 'pinterest_size', 'default' ) ) { case 'large': $pin_size = ' data-pin-tall="true"'; break; default: $pin_size = ''; } $output .= apply_filters( 'eic_layouts_output_pin_button', '<a data-pin-do="buttonPin" href="https://www.pinterest.com/pin/create/button/?media=' . rawurlencode( $pin_image ) . '&description=' . rawurlencode( $pin_description ) . '"' . $pin_style . $pin_size . '></a>', $image ); } // Captions if( !$controls && EasyImageCollage::is_addon_active( 'captions' ) ) { if( isset( $image['custom_caption'] ) && $image['custom_caption'] ) { $hover = EasyImageCollage::option( 'captions_hover_only', '1' ) == '1' ? ' eic-image-caption-hover' : ''; $output .= '<span class="eic-image-caption' . $hover . '">' . $image['custom_caption'] . '</span>'; } } } else { $output .= '>'; } } else { $output .= '>'; } if( $controls ) { if( EasyImageCollage::is_premium_active() ) { $output .= '<div class="eic-image-size">'; $output .= '<span class="eic-image-width">0</span> x <span class="eic-image-height">0</span>'; $output .= '</div>'; } $output .= '<div class="eic-image-controls">'; $output .= '<div class="eic-image-control eic-image-control-image" onclick="event.preventDefault(); EasyImageCollage.btnImage(' . $block['id'] . ')"><i class="fa fa-picture-o"></i></div>'; $output .= '<div class="eic-image-control eic-image-control-manipulate" onclick="event.preventDefault(); EasyImageCollage.btnManipulate(' . $block['id'] . ')"><i class="fa fa-wrench"></i></div>'; $output .= '<div class="eic-image-control eic-image-control-link" onclick="event.preventDefault(); EasyImageCollage.btnLink(' . $block['id'] . ')"><i class="fa fa-link"></i></div>'; $output .= '<div class="eic-image-control eic-image-control-caption" onclick="event.preventDefault(); EasyImageCollage.btnCaption(' . $block['id'] . ')"><i class="fa fa-font"></i></div>'; $output .= '</div>'; } $output .= '</div>'; return $output; } else { if( $grid && isset( $block['id'] ) ) { $pos = $grid->divider_adjust( $block['id'] ); if( $pos ) { $block['pos'] = $pos; } } $percentage1 = str_replace( ',', '.', $block['pos'] * 100 ); $percentage2 = str_replace( ',', '.', 100 - $percentage1 ); if( $block['type'] == 'row' ) { $style1 = 'top: 0; left: 0; right: 0; bottom: ' . $percentage1 . '%; height: ' . $percentage1 . '%;'; $style2 = 'bottom: 0; left: 0; right: 0; top: ' . $percentage1 . '%; height: ' . $percentage2 . '%;'; } else { $style1 = 'top: 0; bottom: 0; left: 0; right: ' . $percentage1 . '%; width: ' . $percentage1 . '%;'; $style2 = 'top: 0; bottom: 0; right: 0; left: ' . $percentage1 . '%; width: ' . $percentage2 . '%;'; } $output = '<div class="eic-' . $block['type'] . 's">'; $output .= '<div class="eic-' . $block['type'] . ' eic-child-1" style="' . $style1 . '">'; $output .= $this->draw_block( $block['children'][0], $grid, $controls ); $output .= '</div>'; if( $controls ) { if( $block['type'] == 'row' ) { $divider_style = 'left: 10%; right: 0; top: ' . $percentage1 . '%; height: 4px; width: 80%; margin-top: -2px; cursor: row-resize;'; } else { $divider_style = 'top: 10%; bottom: 0; left: ' . $percentage1 . '%; height: 80%; width: 4px; margin-left: -2px; cursor: col-resize;'; } $output .= '<div class="eic-divider eic-divider-' . $block['type'] . ' eic-divider-' . $block['id'] . '" style="' . $divider_style . '" data-divider-type="' . $block['type'] . '" data-divider-id="' . $block['id'] . '"></div>'; } $output .= '<div class="eic-' . $block['type'] . ' eic-child-2" style="' . $style2 . '">'; $output .= $this->draw_block( $block['children'][1], $grid, $controls ); $output .= '</div>'; $output .= '</div>'; return $output; } } public function draw_layout_frontend( $layout, $grid ) { $grid_id = $grid ? $grid->ID() : 0; $output = '<div class="eic-frame eic-frame-' . $grid_id . ' eic-frame-' . $layout['name'] . '" data-layout-name="' . $layout['name'] . '"'; $output .= ' data-orig-width="' . $grid->width() . '"'; $output .= ' data-orig-border="' . $grid->border_width() . '"'; $output .= ' data-ratio="' . $grid->ratio() . '"'; $output .= '>'; $output .= $this->draw_block_frontend( $layout, $grid ); $output .= '</div>'; return $output; } private function draw_block_frontend( $block, $grid ) { if( $block['type'] == 'img' ) { $output = '<div class="eic-image eic-image-' . $block['id'] . '"'; $image = $grid->image( $block['id'] ); if( $image ) { $output .= ' data-size-x="' . $image['size_x'] . '"'; $output .= ' data-size-y="' . $image['size_y'] . '"'; $output .= ' data-pos-x="' . $image['pos_x'] . '"'; $output .= ' data-pos-y="' . $image['pos_y'] . '"'; $output .= '>'; $image_post = get_post( $image['attachment_id'] ); // Get thumbnail to output. $url = $image['attachment_url']; $width = intval( $image['size_x'] ); $height = intval( $image['size_y'] ); $ratio = $width / $height; $thumb = wp_get_attachment_image_src( $image['attachment_id'], array( $width, $height ) ); if( $thumb ) { $full_file_name = get_attached_file( $image['attachment_id'] ); $path = str_ireplace( wp_basename( $full_file_name ), '', $full_file_name ); $thumb_url = $thumb[0]; $thumb_file = $path . wp_basename( $thumb_url ); // Try path first for performance reasons, fall back on URL. @list( $thumb_width, $thumb_height ) = getimagesize( $thumb_file ); if ( !$thumb_width || !$thumb_height ) { @list( $thumb_width, $thumb_height ) = getimagesize( $thumb_url ); } if( $thumb_width && $thumb_height ) { $thumb_ratio = $thumb_width / $thumb_height; if( abs( $thumb_ratio - $ratio ) < 0.05 ) { $url = $thumb_url; // Only use the thumbnail if the ratios match } } } // Output image. $img_style = 'width: ' . $width . 'px !important;'; $img_style .= 'height: ' . $height . 'px !important;'; $img_style .= 'max-width: none !important;'; $img_style .= 'max-height: none !important;'; $img_style .= 'position: absolute !important;'; $img_style .= 'left: ' . $image['pos_x'] . 'px !important;'; $img_style .= 'top: ' . $image['pos_y'] . 'px !important;'; $img_style .= 'padding: 0 !important;'; $img_style .= 'margin: 0 !important;'; $img_style .= 'border: none !important;'; $image_caption = isset( $image['custom_caption'] ) ? $image['custom_caption'] : ''; $image_title = $image_post->post_title; $image_alt = get_post_meta( $image['attachment_id'], '_wp_attachment_image_alt', true ); $title = $image_caption ? $image_caption : $image_title; $alt = $image_alt ? $image_alt : ( $image_caption ? $image_caption : $image_title ); $output .= apply_filters( 'eic_layouts_output_image', '<img src="' . $url . '" style="' . $img_style . '" title="' . esc_attr( $title ) . '" alt="' . esc_attr( $alt ) . '" />', $image ); // Other image options. if( isset( $image['custom_link'] ) && $image['custom_link'] !== '' ) { $new_tab = !$image['custom_link_new_tab'] || $image['custom_link_new_tab'] === 'false' ? '' : ' target="_blank"'; $nofollow = !$image['custom_link_nofollow'] || $image['custom_link_nofollow'] === 'false' ? '' : ' rel="nofollow"'; $output .= '<a href="' . esc_attr( $image['custom_link'] ) . '" title="' . esc_attr( $title ) . '" class="eic-image-custom-link"' . $new_tab . $nofollow . '></a>'; } elseif( EasyImageCollage::option( 'clickable_images', '0' ) == '1' ) { $class = EasyImageCollage::option( 'lightbox_class', '' ); $rel = EasyImageCollage::option( 'lightbox_rel', 'lightbox' ); $target = EasyImageCollage::option( 'clickable_images_new_tab', '0' ) == '1' ? ' target="_blank"' : ''; $output .= '<a href="' . $image['attachment_url'] . '" rel="' . esc_attr( $rel ) . '" title="' . esc_attr( $title ) . '" class="eic-image-link ' . esc_attr( $class ) . '"' . $target . '></a>'; } // Pinterest Button if( EasyImageCollage::option( 'pinterest_enable', '0' ) == '1' ) { $pin_image = $image['attachment_url']; $pin_description = EasyImageCollage::option( 'pinterest_description', '%title%' ); $pin_description = str_ireplace( '%title%', $image_title, $pin_description ); $pin_description = str_ireplace( '%alt%', $image_alt, $pin_description ); $pin_description = str_ireplace( '%caption%', $image_caption, $pin_description ); $pin_description = esc_attr( $pin_description ); switch( EasyImageCollage::option( 'pinterest_style', 'default' ) ) { case 'red': $pin_style = ' data-pin-color="red"'; break; case 'white': $pin_style = ' data-pin-color="white"'; break; case 'round': $pin_style = ' data-pin-shape="round"'; break; default: $pin_style = ''; } switch( EasyImageCollage::option( 'pinterest_size', 'default' ) ) { case 'large': $pin_size = ' data-pin-tall="true"'; break; default: $pin_size = ''; } $output .= apply_filters( 'eic_layouts_output_pin_button', '<a data-pin-do="buttonPin" href="https://www.pinterest.com/pin/create/button/?media=' . rawurlencode( $pin_image ) . '&description=' . rawurlencode( $pin_description ) . '"' . $pin_style . $pin_size . '></a>', $image ); } // Captions if( EasyImageCollage::is_addon_active( 'captions' ) ) { if( isset( $image['custom_caption'] ) && $image['custom_caption'] ) { $hover = EasyImageCollage::option( 'captions_hover_only', '1' ) == '1' ? ' eic-image-caption-hover' : ''; $output .= '<span class="eic-image-caption' . $hover . '">' . $image['custom_caption'] . '</span>'; } } } else { $output .= '>'; } $output .= '</div>'; return $output; } else { if( isset( $block['id'] ) ) { $pos = $grid->divider_adjust( $block['id'] ); if( $pos ) { $block['pos'] = $pos; } } $percentage1 = str_replace( ',', '.', $block['pos'] * 100 ); $percentage2 = str_replace( ',', '.', 100 - $percentage1 ); if( $block['type'] == 'row' ) { $style1 = 'top: 0; left: 0; right: 0; bottom: ' . $percentage1 . '%; height: ' . $percentage1 . '%;'; $style2 = 'bottom: 0; left: 0; right: 0; top: ' . $percentage1 . '%; height: ' . $percentage2 . '%;'; } else { $style1 = 'top: 0; bottom: 0; left: 0; right: ' . $percentage1 . '%; width: ' . $percentage1 . '%;'; $style2 = 'top: 0; bottom: 0; right: 0; left: ' . $percentage1 . '%; width: ' . $percentage2 . '%;'; } $output = '<div class="eic-' . $block['type'] . 's">'; $output .= '<div class="eic-' . $block['type'] . ' eic-child-1" style="' . $style1 . '">'; $output .= $this->draw_block_frontend( $block['children'][0], $grid ); $output .= '</div>'; $output .= '<div class="eic-' . $block['type'] . ' eic-child-2" style="' . $style2 . '">'; $output .= $this->draw_block_frontend( $block['children'][1], $grid ); $output .= '</div>'; $output .= '</div>'; return $output; } } public function get( $name ) { return isset( $this->layouts[ $name ] ) ? $this->layouts[ $name ] : false; } private function layouts() { $this->layouts = array( 'square' => array( 'type' => 'img', 'id' => 0 ), '4-squares' => array( 'type' => 'col', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'row', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 2 ), ) ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 4 ), ) ), ), ), '2-col' => array( 'type' => 'col', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 1 ), ), ), '2-row' => array( 'type' => 'row', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 1 ), ), ), '2-row-bottom-2-col' => array( 'type' => 'row', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), ), ), '2-row-top-2-col' => array( 'type' => 'row', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'col', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 1 ), ), ), array( 'type' => 'img', 'id' => 2 ), ), ), '2-col-right-2-row' => array( 'type' => 'col', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), ), ), '2-col-left-2-row' => array( 'type' => 'col', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'row', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 1 ), ), ), array( 'type' => 'img', 'id' => 2 ), ), ), '3-row' => array( 'type' => 'row', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), ), ), '3-col' => array( 'type' => 'col', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), ), ), '4-row' => array( 'type' => 'row', 'pos' => 0.25, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'row', 'pos' => 0.33333, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 2 ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), ), ), '4-col' => array( 'type' => 'col', 'pos' => 0.25, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'col', 'pos' => 0.33333, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 2 ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), ), ), '2-row-bottom-3-col' => array( 'type' => 'row', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'col', 'pos' => 0.33333, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 2 ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), ), ), '2-row-top-3-col' => array( 'type' => 'row', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'col', 'pos' => 0.33333, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), ), ), array( 'type' => 'img', 'id' => 3 ), ), ), '2-col-right-3-row' => array( 'type' => 'col', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'row', 'pos' => 0.33333, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 2 ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), ), ), '2-col-left-3-row' => array( 'type' => 'col', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'row', 'pos' => 0.33333, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), ), ), array( 'type' => 'img', 'id' => 3 ), ), ), '4-squares-odd-left' => array( 'type' => 'row', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'col', 'pos' => 0.66666, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 2 ), ) ), array( 'type' => 'col', 'pos' => 0.33333, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 4 ), ) ), ), ), '4-squares-odd-right' => array( 'type' => 'row', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'col', 'pos' => 0.33333, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 2 ), ) ), array( 'type' => 'col', 'pos' => 0.66666, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 4 ), ) ), ), ), '4-squares-odd-bottom' => array( 'type' => 'col', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'row', 'pos' => 0.66666, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 2 ), ) ), array( 'type' => 'row', 'pos' => 0.33333, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 4 ), ) ), ), ), '4-squares-odd-top' => array( 'type' => 'col', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'row', 'pos' => 0.33333, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 2 ), ) ), array( 'type' => 'row', 'pos' => 0.66666, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 4 ), ) ), ), ), '3-row-first-2-col' => array( 'type' => 'row', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'col', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 1 ), ), ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 2 ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), '3-row-second-2-col' => array( 'type' => 'row', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'col', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), '3-row-third-2-col' => array( 'type' => 'row', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 2 ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), ), ), '3-col-first-2-row' => array( 'type' => 'col', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'row', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 1 ), ), ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 2 ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), '3-col-second-2-row' => array( 'type' => 'col', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), '3-col-third-2-row' => array( 'type' => 'col', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 2 ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), ), ), '2-row-bottom-2-col-right-2-row' => array( 'type' => 'row', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 2 ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), ), ), '2-row-top-2-col-right-2-row' => array( 'type' => 'row', 'pos' => 0.66666, 'id' => 0, 'children' => array( array( 'type' => 'col', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), ), ), array( 'type' => 'img', 'id' => 3 ), ), ), '2-row-bottom-2-col-left-2-row' => array( 'type' => 'row', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), '2-row-top-2-col-left-2-row' => array( 'type' => 'row', 'pos' => 0.66666, 'id' => 0, 'children' => array( array( 'type' => 'col', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 1 ), ), ), array( 'type' => 'img', 'id' => 2 ), ), ), array( 'type' => 'img', 'id' => 3 ), ), ), '2-col-right-2-row-bottom-2-col' => array( 'type' => 'col', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 2 ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), ), ), '2-col-left-2-row-bottom-2-col' => array( 'type' => 'col', 'pos' => 0.66666, 'id' => 0, 'children' => array( array( 'type' => 'row', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), ), ), array( 'type' => 'img', 'id' => 3 ), ), ), '2-col-right-2-row-top-2-col' => array( 'type' => 'col', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'col', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), array( 'type' => 'img', 'id' => 3 ), ), ), ), ), '2-col-left-2-row-top-2-col' => array( 'type' => 'col', 'pos' => 0.66666, 'id' => 0, 'children' => array( array( 'type' => 'row', 'pos' => 0.5, 'id' => 1, 'children' => array( array( 'type' => 'col', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'img', 'id' => 1 ), ), ), array( 'type' => 'img', 'id' => 2 ), ), ), array( 'type' => 'img', 'id' => 3 ), ), ), '2-row-3-col' => array( 'type' => 'row', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'col', 'pos' => 0.33333, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), ), ), array( 'type' => 'col', 'pos' => 0.33333, 'id' => 3, 'children' => array( array( 'type' => 'img', 'id' => 3 ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 4, 'children' => array( array( 'type' => 'img', 'id' => 4 ), array( 'type' => 'img', 'id' => 5 ), ), ), ), ), ), ), '2-col-3-row' => array( 'type' => 'col', 'pos' => 0.5, 'id' => 0, 'children' => array( array( 'type' => 'row', 'pos' => 0.33333, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), ), ), array( 'type' => 'row', 'pos' => 0.33333, 'id' => 3, 'children' => array( array( 'type' => 'img', 'id' => 3 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 4, 'children' => array( array( 'type' => 'img', 'id' => 4 ), array( 'type' => 'img', 'id' => 5 ), ), ), ), ), ), ), '9-squares' => array( 'type' => 'col', 'pos' => 0.33333, 'id' => 0, 'children' => array( array( 'type' => 'row', 'pos' => 0.33333, 'id' => 1, 'children' => array( array( 'type' => 'img', 'id' => 0 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 2, 'children' => array( array( 'type' => 'img', 'id' => 1 ), array( 'type' => 'img', 'id' => 2 ), ), ), ), ), array( 'type' => 'col', 'pos' => 0.5, 'id' => 3, 'children' => array( array( 'type' => 'row', 'pos' => 0.33333, 'id' => 4, 'children' => array( array( 'type' => 'img', 'id' => 3 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 5, 'children' => array( array( 'type' => 'img', 'id' => 4 ), array( 'type' => 'img', 'id' => 5 ), ), ), ), ), array( 'type' => 'row', 'pos' => 0.33333, 'id' => 6, 'children' => array( array( 'type' => 'img', 'id' => 6 ), array( 'type' => 'row', 'pos' => 0.5, 'id' => 7, 'children' => array( array( 'type' => 'img', 'id' => 7 ), array( 'type' => 'img', 'id' => 8 ), ), ), ), ), ), ), ), ), ); } }