| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- function get_ids_from_gallery_block($blocks){
- $parsed_blocks = array();
- foreach ($blocks as $block) {
- if($block[blockName] === "core/gallery") {
- // Fix for new style gallery blocks
- if(count($block[attrs][ids]) < 1) {
- $gallery_imgs_ids = [];
- foreach($block[innerBlocks] as $inner) {
- $inner_id = $inner[attrs][id];
- array_push($gallery_imgs_ids, $inner_id);
- }
- $block[attrs][ids] = $gallery_imgs_ids;
- }
- array_push($parsed_blocks, $block[attrs]);
- } elseif ($block[blockName] === "core/image") {
- $ids = [];
- $galleryFormat = [];
- array_push($ids, $block[attrs][id]);
- $galleryFormat[ids] = $ids;
- $galleryFormat[columns] = 1;
- $galleryFormat[linkTo] = 'none';
- array_push($parsed_blocks, $galleryFormat);
- }
- }
- return $parsed_blocks;
- }
- function get_images_from_content($content) {
- $parse_images = array();
-
- $dom = new DOMDocument();
- @ $dom->loadHTML($content);
- $images = $dom->getElementsByTagName('img');
-
- foreach ($images as $image) {
- if($image->getAttribute('data-id')) {
- $id = $image->getAttribute('data-id');
- } else {
- $class_pieces = explode("-", $image->getAttribute('class'));
- $id = end($class_pieces);
- }
- // Format for lightbox wants an object
- $parse_images[$id] = [
- 'src' => $image->getAttribute('src'),
- 'title' => $image->getAttribute('alt'),
- ];
- }
- return $parse_images;
- }
- ?>
|