protected function geFieldOutput(array $aField)
 {
     if (!is_object($aField['_caller_object'])) {
         return '';
     }
     $aField['_nested_depth']++;
     $_oCaller = $aField['_caller_object'];
     $_aOptions = $_oCaller->getSavedOptions();
     $_oField = new AdminPageFramework_FormField($aField, $_aOptions, $_oCaller->getFieldErrors(), $_oCaller->oProp->aFieldTypeDefinitions, $_oCaller->oMsg, $_oCaller->oProp->aFieldCallbacks);
     return $_oField->_getFieldOutput();
 }
 public function _replyToGetFieldOutput($aField)
 {
     $_sCurrentPageSlug = $this->oProp->getCurrentPageSlug();
     $_sSectionID = $this->oUtil->getElement($aField, 'section_id', '_default');
     $_sFieldID = $aField['field_id'];
     if ($aField['page_slug'] != $_sCurrentPageSlug) {
         return '';
     }
     $this->aFieldErrors = isset($this->aFieldErrors) ? $this->aFieldErrors : $this->_getFieldErrors($_sCurrentPageSlug);
     $sFieldType = isset($this->oProp->aFieldTypeDefinitions[$aField['type']]['hfRenderField']) && is_callable($this->oProp->aFieldTypeDefinitions[$aField['type']]['hfRenderField']) ? $aField['type'] : 'default';
     $_aTemp = $this->getSavedOptions();
     $_oField = new AdminPageFramework_FormField($aField, $_aTemp, $this->aFieldErrors, $this->oProp->aFieldTypeDefinitions, $this->oMsg, $this->oProp->aFieldCallbacks);
     $_sFieldOutput = $_oField->_getFieldOutput();
     unset($_oField);
     return $this->oUtil->addAndApplyFilters($this, array(isset($aField['section_id']) && '_default' !== $aField['section_id'] ? 'field_' . $this->oProp->sClassName . '_' . $aField['section_id'] . '_' . $_sFieldID : 'field_' . $this->oProp->sClassName . '_' . $_sFieldID), $_sFieldOutput, $aField);
 }
 /**
  * Returns the output of the given field.
  * 
  * @since       3.0.0
  * @since       3.3.1       Moved from `AdminPageFramework_Setting_Base`.
  * @internal
  */
 public function _replyToGetFieldOutput($aField)
 {
     $_sCurrentPageSlug = isset($_GET['page']) ? $_GET['page'] : null;
     $_sSectionID = isset($aField['section_id']) ? $aField['section_id'] : '_default';
     $_sFieldID = $aField['field_id'];
     // If the specified field does not exist, do nothing.
     if ($aField['page_slug'] != $_sCurrentPageSlug) {
         return '';
     }
     // Retrieve the field error array.
     $this->aFieldErrors = isset($this->aFieldErrors) ? $this->aFieldErrors : $this->_getFieldErrors($_sCurrentPageSlug);
     // Render the form field.
     $sFieldType = isset($this->oProp->aFieldTypeDefinitions[$aField['type']]['hfRenderField']) && is_callable($this->oProp->aFieldTypeDefinitions[$aField['type']]['hfRenderField']) ? $aField['type'] : 'default';
     // the predefined reserved field type is applied if the parsing field type is not defined(not found).
     $_aTemp = $this->getSavedOptions();
     // assigning a variable for the strict standard
     $_oField = new AdminPageFramework_FormField($aField, $_aTemp, $this->aFieldErrors, $this->oProp->aFieldTypeDefinitions, $this->oMsg);
     $_sFieldOutput = $_oField->_getFieldOutput();
     // field output
     unset($_oField);
     // release the object for PHP 5.2.x or below.
     return $this->oUtil->addAndApplyFilters($this, array(isset($aField['section_id']) && $aField['section_id'] != '_default' ? 'field_' . $this->oProp->sClassName . '_' . $aField['section_id'] . '_' . $_sFieldID : 'field_' . $this->oProp->sClassName . '_' . $_sFieldID), $_sFieldOutput, $aField);
 }
 /**
  * Returns the title part of the field output.
  * 
  * @since       3.0.0
  * @internal
  */
 private function _getFieldTitle(array $aField)
 {
     return "<label for='" . AdminPageFramework_FormField::_getInputID($aField) . "'>" . "<a id='{$aField['field_id']}'></a>" . "<span title='" . esc_attr(strip_tags(isset($aField['tip']) ? $aField['tip'] : is_array($aField['description'] ? implode('&#10;', $aField['description']) : $aField['description']))) . "'>" . $aField['title'] . (in_array($aField['_fields_type'], array('widget', 'post_meta_box', 'page_meta_box')) && isset($aField['title']) && '' !== $aField['title'] ? "<span class='title-colon'>:</span>" : '') . "</span>" . "</label>";
 }
 /**
  * Returns the field output from the given field definition array.
  * 
  * @remark      This method will be called multiple times in a single page load depending on how many fields have been registered.
  * @since       3.0.0
  * @internal
  */
 public function _replyToGetFieldOutput($aField)
 {
     $_oField = new AdminPageFramework_FormField($aField, $this->oProp->aOptions, $this->_getFieldErrors(), $this->oProp->aFieldTypeDefinitions, $this->oMsg, $this->oProp->aFieldCallbacks);
     return $this->oUtil->addAndApplyFilters($this, array('field_' . $this->oProp->sClassName . '_' . $aField['field_id']), $_oField->_getFieldOutput(), $aField);
 }