本文整理汇总了PHP中F::GetPluginsList方法的典型用法代码示例。如果您正苦于以下问题:PHP F::GetPluginsList方法的具体用法?PHP F::GetPluginsList怎么用?PHP F::GetPluginsList使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类F
的用法示例。
在下文中一共展示了F::GetPluginsList方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _loadWidgetsList
/**
* Загружает список виджетов и конфигурирует их
*
* @return array
*/
protected function _loadWidgetsList()
{
// Список виджетов из основного конфига
$aWidgets = (array) Config::Get('widgets');
// Добавляем списки виджетов из конфигов плагинов
$aPlugins = F::GetPluginsList();
if ($aPlugins) {
foreach ($aPlugins as $sPlugin) {
if ($aPluginWidgets = Config::Get('plugin.' . $sPlugin . '.widgets')) {
foreach ($aPluginWidgets as $xKey => $aWidgetData) {
// ID виджета может задаваться либо ключом элемента массива, либо параметром 'id'
if (isset($aWidgetData['id'])) {
$sWidgetId = $aWidgetData['id'];
} elseif (!is_integer($xKey)) {
$sWidgetId = $aWidgetData['id'] = $xKey;
} else {
$sWidgetId = null;
}
$aWidgetData = $this->_getWidgetData($sWidgetId, $aWidgetData, $aWidgets);
if ($sWidgetId) {
$aWidgets[$sWidgetId] = $aWidgetData;
} else {
$aWidgets[] = $aWidgetData;
}
}
//$aWidgets = F::Array_MergeCombo($aWidgets, $aPluginWidgets);
}
}
}
$aResult = array();
if ($aWidgets) {
// формируем окончательный список виджетов
foreach ($aWidgets as $sKey => $aWidgetData) {
if ($aWidgetData) {
// Если ID виджета не задан, то он формируется автоматически
if (!isset($aWidgetData['id']) && !is_numeric($sKey)) {
$aWidgetData['id'] = $sKey;
}
$oWidget = $this->MakeWidget($aWidgetData);
$aResult[$oWidget->getId()] = $oWidget;
}
}
}
return $aResult;
}
示例2: GetClassPath
/**
* Возвращает информацию о пути до файла класса.
* Используется в {@link autoload автозагрузке}
*
* @static
*
* @param LsObject|string $oObject Объект - модуль, экшен, плагин, хук, сущность
* @param int $iArea В какой области проверять (классы движка, общие классы, плагины)
*
* @return null|string
*/
public static function GetClassPath($oObject, $iArea = self::CI_AREA_ACTUAL)
{
$aInfo = static::GetClassInfo($oObject, self::CI_OBJECT);
$sPluginDir = '';
if ($aInfo[self::CI_PLUGIN]) {
$sPlugin = F::StrUnderscore($aInfo[self::CI_PLUGIN]);
$aPlugins = F::GetPluginsList($iArea & self::CI_AREA_ALL_PLUGINS, false);
if (isset($aPlugins[$sPlugin]['dirname'])) {
$sPluginDir = $aPlugins[$sPlugin]['dirname'];
} else {
$sPluginDir = $sPlugin;
}
}
$aPathSeek = Config::Get('path.root.seek');
if ($aInfo[self::CI_ENTITY]) {
// Сущность
if ($aInfo[self::CI_PLUGIN]) {
// Сущность модуля плагина
$sFile = 'plugins/' . $sPluginDir . '/classes/modules/' . F::StrUnderscore($aInfo[self::CI_MODULE]) . '/entity/' . $aInfo[self::CI_ENTITY] . '.entity.class.php';
} else {
// Сущность модуля ядра
$sFile = 'classes/modules/' . strtolower($aInfo[self::CI_MODULE]) . '/entity/' . $aInfo[self::CI_ENTITY] . '.entity.class.php';
}
} elseif ($aInfo[self::CI_MAPPER]) {
// Маппер
if ($aInfo[self::CI_PLUGIN]) {
// Маппер модуля плагина
$sFile = 'plugins/' . $sPluginDir . '/classes/modules/' . F::StrUnderscore($aInfo[self::CI_MODULE]) . '/mapper/' . $aInfo[self::CI_MAPPER] . '.mapper.class.php';
} else {
// Маппер модуля ядра
$sFile = 'classes/modules/' . strtolower($aInfo[self::CI_MODULE]) . '/mapper/' . $aInfo[self::CI_MAPPER] . '.mapper.class.php';
}
} elseif ($aInfo[self::CI_ACTION]) {
// Экшн
if ($aInfo[self::CI_PLUGIN]) {
// Экшн плагина
$sFile = 'plugins/' . $sPluginDir . '/classes/actions/Action' . $aInfo[self::CI_ACTION] . '.class.php';
} else {
// Экшн ядра
$sFile = 'classes/actions/Action' . $aInfo[self::CI_ACTION] . '.class.php';
}
} elseif ($aInfo[self::CI_MODULE]) {
// Модуль
if ($aInfo[self::CI_PLUGIN]) {
// Модуль плагина
$sFile = 'plugins/' . $sPluginDir . '/classes/modules/' . F::StrUnderscore($aInfo[self::CI_MODULE]) . '/' . $aInfo[self::CI_MODULE] . '.class.php';
} else {
// Модуль ядра
$sFile = 'classes/modules/' . strtolower($aInfo[self::CI_MODULE]) . '/' . $aInfo[self::CI_MODULE] . '.class.php';
}
} elseif ($aInfo[self::CI_HOOK]) {
// Хук
if ($aInfo[self::CI_PLUGIN]) {
// Хук плагина
$sFile = 'plugins/' . $sPluginDir . '/classes/hooks/Hook' . $aInfo[self::CI_HOOK] . '.class.php';
} else {
// Хук ядра
$sFile = 'classes/hooks/Hook' . $aInfo[self::CI_HOOK] . '.class.php';
}
} elseif ($aInfo[self::CI_BLOCK]) {
// LS-compatible
if ($aInfo[self::CI_PLUGIN]) {
// Блок плагина
$sFile = 'plugins/' . $sPluginDir . '/classes/blocks/Block' . $aInfo[self::CI_BLOCK] . '.class.php';
} else {
// Блок ядра
$sFile = 'classes/blocks/Block' . $aInfo[self::CI_BLOCK] . '.class.php';
}
} elseif ($aInfo[self::CI_WIDGET]) {
// Виджет
if ($aInfo[self::CI_PLUGIN]) {
// Виджет плагина
$sFile = 'plugins/' . $sPluginDir . '/classes/widgets/Widget' . $aInfo[self::CI_WIDGET] . '.class.php';
} else {
// Блок ядра
$sFile = 'classes/widgets/Widget' . $aInfo[self::CI_WIDGET] . '.class.php';
}
} elseif ($aInfo[self::CI_PLUGIN]) {
// Плагин
$sFile = 'plugins/' . $sPluginDir . '/Plugin' . $aInfo[self::CI_PLUGIN] . '.class.php';
} else {
$sClassName = is_string($oObject) ? $oObject : get_class($oObject);
$sFile = $sClassName . '.class.php';
$aPathSeek = array(Config::Get('path.dir.engine') . '/classes/core/', Config::Get('path.dir.engine') . '/classes/abstract/');
}
$sPath = F::File_Exists($sFile, $aPathSeek);
return $sPath ? $sPath : null;
}
示例3: LoadLangFiles
/**
* Загружает текстовки из языковых файлов
*
* @param $sLangName - Язык для загрузки
* @param $sLangFor - Для какого языка выполняется загрузка
*/
protected function LoadLangFiles($sLangName, $sLangFor = null)
{
if (!$sLangFor) {
$sLangFor = $this->sCurrentLang;
}
// Подключаем основной языковой файл
$this->_loadFiles($this->aLangPaths, $sLangName, null, $sLangFor);
// * Ищем языковые файлы модулей и объединяем их с текущим
$sMask = '/modules/*/' . static::LANG_PATTERN . '.php';
$this->_loadFileByMask($this->aLangPaths, $sMask, $sLangName, 'module', $sLangFor);
// * Ищет языковые файлы экшенов и объединяет их с текущим
$sMask = '/actions/*/' . static::LANG_PATTERN . '.php';
$this->_loadFileByMask($this->aLangPaths, $sMask, $sLangName, 'action', $sLangFor);
// * Ищем языковые файлы активированных плагинов
if ($aPluginList = F::GetPluginsList()) {
foreach ($aPluginList as $sPluginName) {
$aDirs = Plugin::GetDirLang($sPluginName);
foreach ($aDirs as $sDir) {
$aParams = array('name' => $sPluginName, 'category' => 'plugin');
$this->_loadFiles($sDir, $sLangName, $aParams, $sLangFor);
}
}
}
// * Ищет языковой файл текущего шаблона
$this->LoadLangFileTemplate($sLangName, $sLangFor);
}
示例4: GetDirLang
/**
* Returns array of dirs with language files of the plugin
*
* @param object|string $xPlugin
*
* @return array
*/
public static function GetDirLang($xPlugin)
{
$aResult = array();
$aSeekDirs = Config::Get('path.root.seek');
$sPluginDirName = self::_pluginDirName($xPlugin);
$aPluginList = F::GetPluginsList(true, false);
$sManifestFile = null;
if (isset($aPluginList[$sPluginDirName]['dirname'])) {
$sPluginDirName = $aPluginList[$sPluginDirName]['dirname'];
}
foreach ($aSeekDirs as $sDir) {
$sPluginDir = $sDir . '/plugins/' . $sPluginDirName . '/templates/language/';
if (is_dir($sPluginDir)) {
$aResult[] = F::File_NormPath($sPluginDir);
}
}
return $aResult;
}
示例5: GetActivePlugins
/**
* Возвращает список активированных плагинов в системе
*
* @return array
*/
public function GetActivePlugins()
{
if (is_null($this->aActivePlugins)) {
$this->aActivePlugins = F::GetPluginsList(false, false);
}
return $this->aActivePlugins;
}
示例6: SeekActionClass
/**
* Автоопределение класса или файла экшена
*
* @param string $sAction
* @param string $sEvent
* @param bool $bFullPath
*
* @return string|null
*/
public static function SeekActionClass($sAction, $sEvent = null, $bFullPath = false)
{
$bOk = false;
$sActionClass = '';
$sFileName = 'Action' . ucfirst($sAction) . '.class.php';
// Сначала проверяем файл экшена среди стандартных
$aSeekDirs = array(Config::Get('path.dir.app'), Config::Get('path.dir.common'));
if ($sActionFile = F::File_Exists('/classes/actions/' . $sFileName, $aSeekDirs)) {
$sActionClass = 'Action' . ucfirst($sAction);
$bOk = true;
} else {
// Если нет, то проверяем файл экшена среди плагинов
$aPlugins = F::GetPluginsList(false, false);
foreach ($aPlugins as $sPlugin => $aPluginInfo) {
if ($sActionFile = F::File_Exists('plugins/' . $aPluginInfo['dirname'] . '/classes/actions/' . $sFileName, $aSeekDirs)) {
$sActionClass = 'Plugin' . F::StrCamelize($sPlugin) . '_Action' . ucfirst($sAction);
$bOk = true;
break;
}
}
}
if ($bOk) {
return $bFullPath ? $sActionFile : $sActionClass;
}
return null;
}
示例7: func_list_plugins
function func_list_plugins($bAll = false)
{
return F::GetPluginsList($bAll);
}
示例8: _getHash
/**
* @return string
*/
protected static function _getHash()
{
return md5(ALTO_VERSION . serialize(F::GetPluginsList(false, true)));
}