*
* @author Roland Haeder <webmaster@shipsimu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Core Developer Team
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team
* @license GNU GPL 3.0 or any newer version
* @link http://www.shipsimu.org
*
return $this->content;
}
+ /**
+ * Public setter for extra instance
+ *
+ * @param $extraInstance An extra instance of FrameworkInterface to set
+ * @return void
+ */
+ public final function setExtraInstance (FrameworkInterface $extraInstance) {
+ $this->extraInstance = $extraInstance;
+ }
+
/**
* Assigns a field from the value instance with a template variable
*
//* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput($fieldName.'='.$fieldValue);
// Now filter it through the value through the filter method
- $filteredValue = call_user_func_array(array($this, 'doFilter' . $this->convertToClassName($filterMethod)), array($fieldValue));
+ $filteredValue = call_user_func_array(array($this, 'doFilter' . self::convertToClassName($filterMethod)), array($fieldValue));
// Assign it with a template variable
$this->getTemplateInstance()->assignVariable('block_' . $fieldName, $filteredValue);
// Is the value instance valid?
if (is_null($this->valueInstance)) {
- try {
- // Get the requested instance
- $this->valueInstance = ObjectFactory::createObjectByConfiguredName($registryKey . '_class', array($this->extraInstance));
- } catch (FrameworkException $e) {
- // Okay, nothing found so throw a null pointer exception here
- throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
- }
+ // Get the requested instance
+ $this->valueInstance = ObjectFactory::createObjectByConfiguredName($registryKey . '_class', array($this->extraInstance));
} // END - if
}
$this->groups[$this->totalCounter] = $groupId;
$this->groups[$groupId]['opened'] = TRUE;
$this->groups[$groupId]['content'] = sprintf(
- "<!-- group %s opened (length: %s, tag: %s) //-->%s\n",
+ '<!-- group %s opened (length: %s, tag: %s) //-->%s' . PHP_EOL,
$groupId,
strlen($content),
$tag,
// Is the content empty?
if ((empty($content)) && (!empty($this->subGroups[$subGroupId]['tag']))) {
// Get it from opener
- $content = sprintf("<!-- sub-group %s auto-closed //--></%s>", $subGroupId, $this->subGroups[$subGroupId]['tag']);
+ $content = sprintf('<!-- sub-group %s auto-closed //--></%s>', $subGroupId, $this->subGroups[$subGroupId]['tag']);
} // END - if
// Add content to it and mark it as closed
- $this->subGroups[$subGroupId]['content'] .= sprintf("<!-- sub-group %s closed (length: %s, tag: %s) //-->%s\n", $subGroupId, strlen($content), $this->subGroups[$subGroupId]['tag'], $content);
+ $this->subGroups[$subGroupId]['content'] .= sprintf('<!-- sub-group %s closed (length: %s, tag: %s) //-->%s' . PHP_EOL, $subGroupId, strlen($content), $this->subGroups[$subGroupId]['tag'], $content);
$this->subGroups[$subGroupId]['opened'] = FALSE
;
$content .= trim($subGroupContent);
} else {
// Something went wrong
- $this->debugInstance(__METHOD__."(): Something unexpected happened here.");
+ $this->debugInstance(__METHOD__ . '(): Something unexpected happened here.');
}
} // END - for
* @throws NullPointerException Thrown if $valueInstance is null
*/
public function getValueField ($fieldName) {
+ // Init value
+ $fieldValue = NULL;
+
// The $valueInstance attribute should not be null!
if (is_null($this->getValueInstance())) {
// Throws an exception here
throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
} // END - if
- // Get the field value
- $fieldValue = $this->getValueInstance()->getField($fieldName);
- //* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput($fieldName.'[]='.gettype($fieldValue).'('.strlen($fieldValue).')');
-
- // Is it null?
- if ((is_null($fieldValue)) && (!is_null($this->extraInstance))) {
+ // Is the field set?
+ if ($this->getValueInstance()->isFieldSet($fieldName)) {
+ // Get the field value
+ $fieldValue = $this->getValueInstance()->getField($fieldName);
+ //* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput($fieldName.'[]='.gettype($fieldValue).'('.strlen($fieldValue).') - Value instance!');
+ } elseif ((!is_null($this->extraInstance)) && ($this->extraInstance->isFieldSet($fieldName))) {
// So try the extra instance
$fieldValue = $this->extraInstance->getField($fieldName);
+ //* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput($fieldName.'[]='.gettype($fieldValue).'('.strlen($fieldValue).') - Extra instance!');
+ } else {
+ // Field is not set
+ $this->debugOutput('[' . __METHOD__ . ':' . __LINE__ . '] fieldName=' . $fieldName . ' is not set! - @TODO');
} // END - if
// Return it