Пример #1
0
 /**
  * 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;
     }
 }
Пример #2
0
 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');
 }