help_search)) { $this->help_search = JFactory::getApplication()->input->getString('helpsearch'); } return $this->help_search; } /** * Method to get the page * * @return string The page * * @since 1.6 */ public function &getPage() { if (is_null($this->page)) { $page = JFactory::getApplication()->input->get('page', 'JHELP_START_HERE'); $this->page = JHelp::createUrl($page); } return $this->page; } /** * Method to get the lang tag * * @return string lang iso tag * * @since 1.6 */ public function getLangTag() { if (is_null($this->lang_tag)) { $lang = JFactory::getLanguage(); $this->lang_tag = $lang->getTag(); if (!is_dir(JPATH_BASE . '/help/' . $this->lang_tag)) { // Use english as fallback $this->lang_tag = 'en-GB'; } } return $this->lang_tag; } /** * Method to get the toc * * @return array Table of contents */ public function &getToc() { if (is_null($this->toc)) { // Get vars $lang_tag = $this->getLangTag(); $help_search = $this->getHelpSearch(); // New style - Check for a TOC JSON file if (file_exists(JPATH_BASE . '/help/' . $lang_tag . '/toc.json')) { $data = json_decode(file_get_contents(JPATH_BASE . '/help/' . $lang_tag . '/toc.json')); // Loop through the data array foreach ($data as $key => $value) { $this->toc[$key] = JText::_('COM_ADMIN_HELP_' . $value); } } else { // Get Help files jimport('joomla.filesystem.folder'); $files = JFolder::files(JPATH_BASE . '/help/' . $lang_tag, '\.xml$|\.html$'); $this->toc = array(); foreach ($files as $file) { $buffer = file_get_contents(JPATH_BASE . '/help/' . $lang_tag . '/' . $file); if (preg_match('#(.*?)#', $buffer, $m)) { $title = trim($m[1]); if ($title) { // Translate the page title $title = JText::_($title); // Strip the extension $file = preg_replace('#\.xml$|\.html$#', '', $file); if ($help_search) { if (JString::strpos(JString::strtolower(strip_tags($buffer)), JString::strtolower($help_search)) !== false) { // Add an item in the Table of Contents $this->toc[$file] = $title; } } else { // Add an item in the Table of Contents $this->toc[$file] = $title; } } } } } // Sort the Table of Contents asort($this->toc); } return $this->toc; } /** * Method to get the latest version check * * @return string Latest Version Check URL */ public function &getLatestVersionCheck() { if (!$this->latest_version_check) { $override = 'https://help.joomla.org/proxy/index.php?option=com_help&keyref=Help{major}{minor}:Joomla_Version_{major}_{minor}_{maintenance}/{langcode}&lang={langcode}'; $this->latest_version_check = JHelp::createUrl('JVERSION', false, $override); } return $this->latest_version_check; } }