/** * @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; }