Exemplo n.º 1
0
 /**
  * @param RokSprocket_Item $item
  * @param bool             $default_field
  * @param bool             $defaults_custom_field
  * @param bool             $per_item_field
  *
  * @return bool|null|RokSprocket_Item_Image
  */
 protected function setupImage(RokSprocket_Item &$item, $default_field = false, $defaults_custom_field = false, $per_item_field = false)
 {
     $image = false;
     $defimage = false;
     if (!$default_field) {
         $defimage = false;
     } else {
         switch ($this->parameters->get($default_field, 'primary')) {
             case 'none':
                 $defimage = false;
                 break;
             case 'primary':
                 $defimage = $item->getPrimaryImage();
                 break;
             case 'custom':
                 if ($defaults_custom_field) {
                     $defimage = $this->parameters->get($defaults_custom_field, false) ? RokSprocket_Item_Image::createFromJSON($this->parameters->get($defaults_custom_field, false)) : false;
                     break;
                 }
             default:
                 $defimage = $item->getImage($this->parameters->get($default_field));
         }
     }
     if (!$per_item_field) {
         $image = $defimage;
     } else {
         switch (trim($item->getParam($per_item_field, '-default-'))) {
             case '-none-':
                 $image = false;
                 break;
             case '-primary-':
                 // backward compatibility for introduced issue
             // backward compatibility for introduced issue
             case '-article-':
                 $image = $item->getPrimaryImage();
                 break;
             case '-default-':
                 $image = $defimage;
                 break;
             default:
                 $image = $item->getParam($per_item_field);
                 if (!empty($image)) {
                     $image = RokSprocket_Item_Image::createFromJSON($item->getParam($per_item_field, ''));
                 } else {
                     $image = $defimage;
                 }
         }
     }
     return $image;
 }