File Manager

Current Directory: /home/astoriaah/www/administrator/components/com_widgetkit/updates
Viewing File: /home/astoriaah/www/administrator/components/com_widgetkit/updates/3.0.0-beta.0.2.php
<?php namespace YOOtheme\Widgetkit; class Update300beta02 implements Update { public function run($app) { try { $provider = $app['content']; $contents = $provider->findAll(); foreach ($contents as $content) { static::updateWidget($content); try { $provider->save(array_filter($content->toArray())); } catch (\Exception $e) { \JError::raiseWarning( null, 'Error executing update to 3.0.0-beta.0.2. (' . $e->getMessage() . ')' ); } } } catch (\Exception $e) { \JError::raiseWarning( null, 'Error executing update to 3.0.0-beta.0.2. (' . $e->getMessage() . ')' ); } } public static function updateWidget($content) { $data = $content->getData(); if (isset($data['_widget'])) { $widget = &$data['_widget']; if (isset($widget['data'])) { $settings = &$widget['data']; // Accordion, Grid, Grid Slider, Map, Slideshow Panel, Switcher, Switcher Panel if (isset($settings['media_breakpoint'])) { switch ($settings['media_breakpoint']) { case 'small': $settings['media_breakpoint'] = 's'; break; case 'medium': $settings['media_breakpoint'] = 'm'; break; case 'large': $settings['media_breakpoint'] = 'l'; break; case 'xlarge': $settings['media_breakpoint'] = 'xl'; break; } } // Grid Stack if (isset($settings['breakpoint'])) { switch ($settings['breakpoint']) { case 'small': $settings['breakpoint'] = 's'; break; case 'medium': $settings['breakpoint'] = 'm'; break; case 'large': $settings['breakpoint'] = 'l'; break; case 'xlarge': $settings['breakpoint'] = 'xl'; break; } } // Accordion, Grid, Grid Slider, Map, Slideshow Panel, Switcher, Switcher Panel if (isset($settings['media_width'])) { switch ($settings['media_width']) { case '3-10': $settings['media_width'] = '1-3'; break; } } // NOT Map, Popover // Grid Stack, Switcher, Parallax if ( in_array($widget['name'], ['grid-stack', 'switcher', 'parallax']) && isset($settings['width']) ) { switch ($settings['width']) { // Grid Stack, Switcher case '3-10': $settings['width'] = '1-3'; break; // Grid Stack, Parallax case '7-10': $settings['width'] = '2-3'; break; // Parallax case '9-10': $settings['width'] = '4-5'; break; } } // Parallax if (isset($settings['width_small'])) { switch ($settings['width_small']) { case '7-10': $settings['width_small'] = '2-3'; break; case '9-10': $settings['width_small'] = '4-5'; break; } } if (isset($settings['width_medium'])) { switch ($settings['width_medium']) { case '7-10': $settings['width_medium'] = '2-3'; break; case '9-10': $settings['width_medium'] = '4-5'; break; } } if (isset($settings['width_large'])) { switch ($settings['width_large']) { case '7-10': $settings['width_large'] = '2-3'; break; case '9-10': $settings['width_large'] = '4-5'; break; } } // Accordion, Grid, Grid Stack, Map, Popover, Slideset, Switcher, Switcher Panel if (isset($settings['media_animation'])) { switch ($settings['media_animation']) { case 'scale': case 'spin': $settings['media_animation'] = 'scale-up'; break; case 'fade': case 'grayscale': $settings['media_animation'] = 'none'; break; } } // Gallery, Slider if (isset($settings['image_animation'])) { switch ($settings['image_animation']) { case 'scale': case 'spin': $settings['image_animation'] = 'scale-up'; break; case 'fade': case 'grayscale': $settings['image_animation'] = 'none'; break; } } // NOT Grid Stack, Switcher // Gallery, Grid, Grid Slider, Popover, Slideset, Slideshow Panel, Switcher Panel if ( in_array($widget['name'], [ 'gallery', 'grid', 'grid-slider', 'popover', 'slideset', 'slideshow-panel', 'switcher-panel', ]) && isset($settings['panel']) ) { if ($settings['panel'] == 'box') { $settings['panel'] = 'default'; } } // Gallery, Grid, Grid Slider, Grid Stack, Popover, Slideset, Slideshow Panel, Switcher, Switcher Panel if (isset($settings['title_size'])) { if ($settings['title_size'] == 'panel') { $settings['title_size'] = 'h3'; } if ($settings['title_size'] == 'large') { $settings['title_size'] = 'medium'; } } // Gallery if (isset($settings['lightbox_title_size'])) { if ($settings['lightbox_title_size'] == 'panel') { $settings['lightbox_title_size'] = 'h3'; } if ($settings['lightbox_title_size'] == 'large') { $settings['lightbox_title_size'] = 'medium'; } } if (isset($settings['lightbox'])) { if ($settings['lightbox'] === true) { $settings['lightbox'] = 'default'; } } // List if (isset($settings['list'])) { switch ($settings['list']) { case 'line': $settings['list'] = 'divider'; break; case 'space': $settings['list'] = 'large'; break; } } // NOT Gallery, Grid, Grid Slider, Switcher, Switcher Panel // Slideshow, Slideshow Panel if ( in_array($widget['name'], ['slideshow', 'slideshow-panel']) && isset($settings['animation']) ) { switch ($settings['animation']) { case 'scroll': $settings['animation'] = 'slide'; break; case 'swipe': $settings['animation'] = 'pull'; break; case 'slice-up': case 'slice-down': case 'slice-up-down': case 'fold': case 'puzzle': case 'boxes': case 'boxes-reverse': case 'random-fx': $settings['animation'] = 'fade'; break; } } // Grid Slider if (isset($settings['slide_animation'])) { switch ($settings['slide_animation']) { case 'scroll': $settings['slide_animation'] = 'slide'; break; case 'swipe': $settings['slide_animation'] = 'pull'; break; case 'slice-up': case 'slice-down': case 'slice-up-down': case 'fold': case 'puzzle': case 'boxes': case 'boxes-reverse': case 'random-fx': $settings['slide_animation'] = 'fade'; break; } } // NOT any other widgets // Switcher, Switcher Panel if ( in_array($widget['name'], ['switcher', 'switcher-panel']) && isset($settings['animation']) ) { switch ($settings['animation']) { case 'scale': $settings['animation'] = 'scale-up'; break; case 'slide-horizontal': $settings['animation'] = 'slide-left, {wk}-animation-slide-right'; break; case 'slide-vertical': $settings['animation'] = 'slide-top, {wk}-animation-slide-bottom'; break; } } // Slideshow, Slideshow Panel if (isset($settings['kenburns_animation'])) { switch ($settings['kenburns_animation']) { case 'animation-middle-center': $settings['kenburns_animation'] = 'transform-origin-middle-center'; break; case 'animation-bottom-center': $settings['kenburns_animation'] = 'transform-origin-bottom-center'; break; case 'animation-top-center': $settings['kenburns_animation'] = 'transform-origin-top-center'; break; case 'animation-middle-right': $settings['kenburns_animation'] = 'transform-origin-middle-right'; break; case 'animation-middle-left': $settings['kenburns_animation'] = 'transform-origin-middle-left'; break; case 'animation-bottom-right': $settings['kenburns_animation'] = 'transform-origin-bottom-right'; break; case 'animation-bottom-left': $settings['kenburns_animation'] = 'transform-origin-bottom-left'; break; case 'animation-top-right': $settings['kenburns_animation'] = 'transform-origin-top-right'; break; case 'animation-top-left': $settings['kenburns_animation'] = 'transform-origin-top-left'; break; } } // Gallery $convertIcons = function ($icon) { switch ($icon) { case 'info-circle': return 'info'; case 'search-plus': return 'search'; case 'angle-right': case 'chevron-circle-right': return 'chevron-right'; case 'angle-double-right': return 'chevron-double-right'; case 'arrow-circle-right': case 'arrow-circle-o-right': case 'long-arrow-right': case 'hand-o-right': return 'arrow-right'; case 'caret-right': case 'caret-square-o-right': return 'triangle-right'; case 'plus-square': case 'plus-square-o': return 'plus-circle'; case 'share': case 'share-square': case 'share-square-o': return 'forward'; case 'arrows-alt': case 'lightbulb-o': case 'eye': case 'external-link': case 'external-link-square': return 'plus'; default: return $icon; } }; if (isset($settings['link_icon'])) { $settings['link_icon'] = $convertIcons($settings['link_icon']); } if (isset($settings['lightbox_icon'])) { $settings['lightbox_icon'] = $convertIcons($settings['link_icon']); } // Gallery, Grid, Grid Slider if ( in_array($widget['name'], ['gallery', 'grid', 'grid-slider']) && isset($settings['grid']) ) { if ($settings['grid'] == 'dynamic') { $settings['grid'] = 'masonry'; $settings['gutter'] = 'small'; $settings['parallax'] = false; } else { $settings['filter'] = 'none'; } } // Slideshow, Slideshow Panel if ( in_array($widget['name'], ['slideshow', 'slideshow-panel']) && isset($settings['fullscreen']) ) { if ($settings['fullscreen'] == true) { $settings['height'] = 'viewport'; } unset($settings['fullscreen']); } // Slideset if ($widget['name'] == 'slideset' && isset($settings['slidenav'])) { if ($settings['slidenav'] == 'above') { $settings['slidenav'] = 'default'; } if ($settings['slidenav'] == 'bottom') { $settings['slidenav'] = 'below'; } } // Type cast column settings foreach (['small', 'medium', 'large', 'xlarge'] as $breakpoint) { if ( isset($settings["columns_{$breakpoint}"]) && is_numeric($settings["columns_{$breakpoint}"]) ) { $settings["columns_{$breakpoint}"] = (string) $settings["columns_{$breakpoint}"]; } } } } $content->setData($data); return $content; } } return new Update300beta02();