Spade
Mini Shell
| Directory:~$ /home/lmsyaran/www/joomla5/administrator/components/com_finder/src/Helper/ |
| [Home] [System Details] [Kill Me] |
<?php
/**
* @package Joomla.Administrator
* @subpackage com_finder
*
* @copyright (C) 2017 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
namespace Joomla\Component\Finder\Administrator\Helper;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\LanguageHelper as CMSLanguageHelper;
use Joomla\CMS\Language\Text;
// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects
/**
* Finder language helper class.
*
* @since 2.5
*/
class LanguageHelper
{
/**
* Method to return a plural language code for a taxonomy branch.
*
* @param string $branchName Branch title.
*
* @return string Language key code.
*
* @since 2.5
*/
public static function branchPlural($branchName)
{
$return = preg_replace('/[^a-zA-Z0-9]+/', '_',
strtoupper($branchName));
if ($return !== '_') {
return 'PLG_FINDER_QUERY_FILTER_BRANCH_P_' . $return;
}
return $branchName;
}
/**
* Method to return a singular language code for a taxonomy branch.
*
* @param string $branchName Branch name.
*
* @return string Language key code.
*
* @since 2.5
*/
public static function branchSingular($branchName)
{
$return = preg_replace('/[^a-zA-Z0-9]+/',
'_', strtoupper($branchName));
$language = Factory::getApplication()->getLanguage();
$debug =
Factory::getApplication()->get('debug_lang');
if
($language->hasKey('PLG_FINDER_QUERY_FILTER_BRANCH_S_' .
$return) || $debug) {
return 'PLG_FINDER_QUERY_FILTER_BRANCH_S_' . $return;
}
return $branchName;
}
/**
* Method to return the language name for a language taxonomy branch.
*
* @param string $branchName Language branch name.
*
* @return string The language title.
*
* @since 3.6.0
*/
public static function branchLanguageTitle($branchName)
{
$title = $branchName;
if ($branchName === '*') {
$title = Text::_('JALL_LANGUAGE');
} else {
$languages =
CMSLanguageHelper::getLanguages('lang_code');
if (isset($languages[$branchName])) {
$title = $languages[$branchName]->title;
}
}
return $title;
}
/**
* Method to load Smart Search component language file.
*
* @return void
*
* @since 2.5
*/
public static function loadComponentLanguage()
{
Factory::getLanguage()->load('com_finder',
JPATH_SITE);
}
/**
* Method to load Smart Search plugin language files.
*
* @return void
*
* @since 2.5
*/
public static function loadPluginLanguage()
{
static $loaded = false;
// If already loaded, don't load again.
if ($loaded) {
return;
}
$loaded = true;
// Get array of all the enabled Smart Search plugin names.
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select([$db->quoteName('name'),
$db->quoteName('element')])
->from($db->quoteName('#__extensions'))
->where($db->quoteName('type') . ' =
' . $db->quote('plugin'))
->where($db->quoteName('folder') . ' =
' . $db->quote('finder'))
->where($db->quoteName('enabled') . ' =
1');
$db->setQuery($query);
$plugins = $db->loadObjectList();
if (empty($plugins)) {
return;
}
// Load generic language strings.
$lang = Factory::getLanguage();
$lang->load('plg_content_finder',
JPATH_ADMINISTRATOR);
// Load language file for each plugin.
foreach ($plugins as $plugin) {
$lang->load($plugin->name, JPATH_ADMINISTRATOR)
|| $lang->load($plugin->name, JPATH_PLUGINS .
'/finder/' . $plugin->element);
}
}
}