/** * Get image attributes * * @since 1.0 * * @param string $tag * @param array $atts * @param string $format * @return array */ public static function getImageAttrs($tag, $atts = array(), $format = 'array') { // Image settings $settings = Everything::to_('site/image/settings'); // Attributes extract(array_merge($defaults = array('border' => $settings->value('border'), 'hover' => $settings->value('hover') ? 'zoom' : '', 'fancybox' => $settings->value('fancybox')), $atts)); // Border $border = $border === 'inherit' ? $defaults['border'] : \Drone\Func::stringToBool($border); // Hover if ($hover === 'inherit' || !in_array($hover, array('', 'zoom', 'image', 'grayscale'), true)) { $hover = $defaults['hover']; } // Fancybox $fancybox = $fancybox === 'inherit' ? $defaults['fancybox'] : \Drone\Func::stringToBool($fancybox); // Properties $attrs = array('class' => array()); if ($border) { $attrs['class'][] = 'inset-border'; } if ($tag == 'a') { if ($hover) { $attrs['class'][] = $hover . '-hover'; } if ($fancybox) { $attrs['class'][] = 'fb'; } } $attrs['class'] = implode(' ', $attrs['class']); // Output switch ($format) { case 'html': return \Drone\Func::arraySerialize($attrs, 'html'); default: return $attrs; } }
public function attrs() { $attrs = array('class' => implode(' ', get_body_class(isset($this->stripes) && $this->stripes->value ? 'background-stripes' : '')), 'style' => $this->css()); if (isset($this->image_ex) && !is_null($image2x = $this->image_ex->option('image2x')) && $image2x->value > 0) { $attrs['data-background2'] = $image2x->uri(); } return \Drone\Func::arraySerialize($attrs, 'html'); }