/**
  * Retrieves contents of a change log section of a readme file.
  * @since       3.5.0
  * @return      void
  */
 private function _getChangeLog($sSection)
 {
     $_aReplacements = array('%PLUGIN_DIR_URL%' => AdminPageFrameworkLoader_Registry::getPluginURL(), '%WP_ADMIN_URL%' => admin_url());
     $_oWPReadmeParser = new AdminPageFramework_WPReadmeParser(AdminPageFrameworkLoader_Registry::$sDirPath . '/readme.txt', $_aReplacements);
     $_sChangeLog = $_oWPReadmeParser->getSection($sSection);
     $_oWPReadmeParser = new AdminPageFramework_WPReadmeParser(AdminPageFrameworkLoader_Registry::$sDirPath . '/changelog.md', $_aReplacements);
     $_sChangeLog .= $_oWPReadmeParser->getSection($sSection);
     return $_sChangeLog ? $_sChangeLog : '<p>' . __('No valid changlog was found.', 'admin-page-framework-loader') . '</p>';
 }
 /**
  * Triggered when the tab is loaded.
  */
 public function replyToLoadTab($oAdminPage)
 {
     $_aItems = $this->getContentsByHeader($this->getReadmeContents(), 4);
     $_iLastIndex = count($_aItems) - 1;
     foreach ($_aItems as $_iIndex => $_aContent) {
         $_oParser = new AdminPageFramework_WPReadmeParser($_aContent[1]);
         $_sContent = $_oParser->get();
         $oAdminPage->addSettingSections($this->sPageSlug, array('section_id' => 'tips_' . $_iIndex, 'title' => $_aContent[0], 'collapsible' => array('toggle_all_button' => $_iLastIndex === $_iIndex ? array('bottom-right') : (0 === $_iIndex ? array('top-right') : false)), 'content' => $_sContent));
     }
 }
 /**
  * 
  * @since       3.5.3
  */
 protected function _getReadmeContents($sFilePath, $sTOCTitle, $asSections = array())
 {
     $_oWPReadmeParser = new AdminPageFramework_WPReadmeParser($sFilePath, array('%PLUGIN_DIR_URL%' => AdminPageFrameworkLoader_Registry::getPluginURL(), '%WP_ADMIN_URL%' => admin_url()), array('content_before_parsing' => array($this, '_replyToProcessShortcodes')));
     $_sContent = '';
     foreach ((array) $asSections as $_sSection) {
         $_sContent .= $_oWPReadmeParser->getSection($_sSection);
     }
     if ($sTOCTitle) {
         $_oTOC = new AdminPageFramework_TableOfContents($_sContent, 4, $sTOCTitle);
         return $_oTOC->get();
     }
     return '' . $_sContent;
 }
 private function getFAQContents()
 {
     $_aReplacements = array('%PLUGIN_DIR_URL%' => AdminPageFrameworkLoader_Registry::getPluginURL(), '%WP_ADMIN_URL%' => admin_url());
     $_oWPReadmeParser = new AdminPageFramework_WPReadmeParser(AdminPageFrameworkLoader_Registry::$sDirPath . '/readme.txt', $_aReplacements);
     return $_oWPReadmeParser->getRawSection('Frequently asked questions');
 }
 /**
  * The content filter callback method.
  * 
  * Alternatively use the `content_{instantiated class name}` method instead.
  */
 public function content($sContent)
 {
     $_aReplacements = array('%PLUGIN_DIR_URL%' => AdminPageFrameworkLoader_Registry::getPluginURL(), '%WP_ADMIN_URL%' => admin_url());
     $_oWPReadmeParser = new AdminPageFramework_WPReadmeParser(AdminPageFrameworkLoader_Registry::$sDirPath . '/asset/text/about.txt', $_aReplacements);
     return '' . "<h4>" . "<span class='header-icon dashicons dashicons-book'></span>" . __('Documentation', 'admin-page-framework-loader') . "</h4>" . "<a href='http://admin-page-framework.michaeluno.jp/en/v3/package-AdminPageFramework.html' target='_blank'>" . __('Manual', 'admin-page-framework-loader') . "</a>" . "<h4>" . "<span class='header-icon dashicons dashicons-book'></span>" . __('Tutorials', 'admin-page-framework-loader') . "</h4>" . $_oWPReadmeParser->getSection('Tutorials') . $sContent;
 }
 /**
  * Output custom page contents.
  */
 public function replyToDoAfterPage()
 {
     $_aReplacements = array('%PLUGIN_DIR_URL%' => AdminPageFrameworkLoader_Registry::getPluginURL(), '%WP_ADMIN_URL%' => admin_url());
     $_oWPReadmeParser = new AdminPageFramework_WPReadmeParser(AdminPageFrameworkLoader_Registry::$sDirPath . '/asset/text/about.txt', $_aReplacements);
     echo "<h3>" . __('Tutorials', 'admin-page-framework-loader') . "</h3>" . $_oWPReadmeParser->getSection('Tutorials');
 }