private function _getCaption(array $aSection, $hfSectionCallback, $iSectionIndex, $aFields, $hfFieldCallback, $aFieldErrors, $aFieldTypeDefinitions, $oMsg)
 {
     if (!$aSection['description'] && !$aSection['title']) {
         return "<caption class='admin-page-framework-section-caption' style='display:none;'></caption>";
     }
     $_oArgumentFormater = new AdminPageFramework_Format_CollapsibleSection($aSection['collapsible'], $aSection['title'], $aSection);
     $_abCollapsible = $_oArgumentFormater->get();
     $_oCollapsibleSectionTitle = new AdminPageFramework_FormPart_CollapsibleSectionTitle(isset($_abCollapsible['title']) ? $_abCollapsible['title'] : $aSection['title'], 'h3', $aFields, $hfFieldCallback, $iSectionIndex, $aFieldTypeDefinitions, $_abCollapsible, 'section', $oMsg);
     $_bShowTitle = empty($_abCollapsible) && !$aSection['section_tab_slug'];
     return "<caption " . $this->getAttributes(array('class' => 'admin-page-framework-section-caption', 'data-section_tab' => $aSection['section_tab_slug'])) . ">" . $_oCollapsibleSectionTitle->get() . $this->getAOrB($_bShowTitle, $this->_getCaptionTitle($aSection, $iSectionIndex, $aFields, $hfFieldCallback, $aFieldTypeDefinitions), '') . $this->_getCaptionDescription($aSection, $hfSectionCallback) . $this->_getSectionError($aSection, $aFieldErrors) . "</caption>";
 }
 protected function _getCollapsibleSectionsEnablerScript()
 {
     if (self::$_bLoadedCollapsibleSectionsEnablerScript) {
         return;
     }
     self::$_bLoadedCollapsibleSectionsEnablerScript = true;
     new AdminPageFramework_Script_CollapsibleSection($this->oMsg);
 }
 private function _getFormattedSectionsTablesOutput(array $aOutputs, $aSectionset, $sSectionsID, array $aCollapsible, $sSectionTabSlug)
 {
     if (empty($aOutputs['section_contents'])) {
         return '';
     }
     $_oCollapsibleSectionTitle = new AdminPageFramework_FormPart_CollapsibleSectionTitle(isset($aCollapsible['title']) ? $aCollapsible['title'] : '', 'h3', array(), null, null, $this->aFieldTypeDefinitions, $aCollapsible, 'sections', $this->oMsg);
     $_oSectionsTablesContainerAttributes = new AdminPageFramework_Attribute_SectionsTablesContainer($aSectionset, $sSectionsID, $sSectionTabSlug, $aCollapsible, $aOutputs['count_subsections']);
     return $_oCollapsibleSectionTitle->get() . "<div " . $_oSectionsTablesContainerAttributes->get() . ">" . $this->_getSectionTabList($sSectionTabSlug, $aOutputs['section_tab_list']) . implode(PHP_EOL, $aOutputs['section_contents']) . "</div>";
 }