本文整理汇总了PHP中E::ActivePlugin方法的典型用法代码示例。如果您正苦于以下问题:PHP E::ActivePlugin方法的具体用法?PHP E::ActivePlugin怎么用?PHP E::ActivePlugin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类E
的用法示例。
在下文中一共展示了E::ActivePlugin方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: EventDefault
/**
* Default homepage
*
* @return string
*/
public function EventDefault()
{
E::ModuleViewer()->Assign('sMenuHeadItemSelect', 'homepage');
$sHomepage = Config::Get('router.config.homepage');
if ($sHomepage) {
$sHomepageSelect = Config::Get('router.config.homepage_select');
if ($sHomepageSelect == 'page') {
// if page not active or deleted then this homepage is off
$oPage = E::ModulePage()->GetPageByUrlFull($sHomepage, 1);
if ($oPage) {
$sHomepage = $oPage->getUrlPath();
} else {
$sHomepage = '';
}
} else {
if ($sHomepageSelect == 'category_homepage') {
$sHomepageSelect = 'plugin-category-homepage';
}
$aHomePageSelect = explode('-', $sHomepageSelect);
// if homepage was from plugin and plugin is not active then this homepage is off
if ($aHomePageSelect[0] == 'plugin' && isset($aHomePageSelect[1])) {
if (!E::ActivePlugin($aHomePageSelect[1])) {
$sHomepage = '';
}
}
}
if ($sHomepage == 'home') {
if (E::ModuleViewer()->TemplateExists('actions/homepage/action.homepage.index.tpl')) {
$this->SetTemplateAction('index');
return;
}
} elseif ($sHomepage) {
return R::Action($sHomepage);
}
}
return R::Action('index');
}
示例2: getLink
/**
* Возвращает ссылку фото определенного размера
*
* @param string|null $xSize Размер фото, например, '100' или '150crop' или '150x100' или 'x100'
*
* @return null|string
*/
public function getLink($xSize = null)
{
if ($sUrl = $this->getPath()) {
if ($xSize) {
$sResizedUrl = $this->getProp('_size-' . $xSize . '-url');
if ($sResizedUrl) {
return $sResizedUrl;
}
$aPathInfo = pathinfo($sUrl);
if (E::ActivePlugin('ls')) {
// Включена совместимость с LS
$sResizedUrl = $aPathInfo['dirname'] . '/' . $aPathInfo['filename'] . '_' . $xSize . '.' . $aPathInfo['extension'];
if (F::File_LocalUrl($sResizedUrl) && !F::File_Exists(F::File_Url2Dir($sResizedUrl))) {
$sResizedUrl = '';
}
}
if (!$sResizedUrl) {
$sModSuffix = F::File_ImgModSuffix($xSize, $aPathInfo['extension']);
if ($sModSuffix) {
$sResizedUrl = $sUrl . $sModSuffix;
if (Config::Get('module.image.autoresize')) {
$sFile = E::ModuleUploader()->Url2Dir($sResizedUrl);
$this->setProp('_size-' . $xSize . '-file', $sFile);
if (!F::File_Exists($sFile)) {
E::ModuleImg()->Duplicate($sFile);
}
}
}
}
if ($sResizedUrl) {
$sUrl = F::File_NormPath($sResizedUrl);
}
$this->setProp('_size-' . $xSize . '-url', $sUrl);
}
}
return $sUrl;
}
示例3: VarAssign
/**
* Выполняет загрузку необходимых (возможно даже системных :)) переменных в шаблонизатор
*/
public function VarAssign()
{
// * Загружаем весь $_REQUEST, предварительно обработав его функцией F::HtmlSpecialChars()
$aRequest = $_REQUEST;
F::HtmlSpecialChars($aRequest);
$this->Assign('_aRequest', $aRequest);
// * Параметры стандартной сессии
// TODO: Убрать! Не должно этого быть на страницах сайта
$this->Assign('_sPhpSessionName', session_name());
$this->Assign('_sPhpSessionId', session_id());
// * Загружаем роутинг с учетом правил rewrite
$aRouter = array();
$aPages = Config::Get('router.page');
if (!$aPages || !is_array($aPages)) {
throw new Exception('Router rules is underfined.');
}
foreach ($aPages as $sPage => $aAction) {
$aRouter[$sPage] = R::GetPath($sPage);
}
$this->Assign('aRouter', $aRouter);
// * Загружаем виджеты
$this->Assign('aWidgets', $this->GetWidgets());
// * Загружаем HTML заголовки
$this->Assign('sHtmlTitle', $this->GetHtmlTitle());
$this->Assign('sHtmlKeywords', $this->GetHtmlKeywords());
$this->Assign('sHtmlDescription', $this->GetHtmlDescription());
$this->Assign('aHtmlHeadFiles', $this->aHtmlHeadFiles);
$this->Assign('aHtmlRssAlternate', $this->aHtmlRssAlternate);
$this->Assign('sHtmlCanonical', $this->sHtmlCanonical);
$this->Assign('aHtmlHeadTags', $this->aHtmlHeadTags);
$this->Assign('aJsAssets', E::ModuleViewerAsset()->GetPreparedAssetLinks());
// * Загружаем список активных плагинов
$aPlugins = E::GetActivePlugins();
$this->Assign('aPluginActive', array_fill_keys(array_keys($aPlugins), true));
// * Загружаем пути до шаблонов плагинов
$aPluginsTemplateUrl = array();
$aPluginsTemplateDir = array();
/** @var Plugin $oPlugin */
foreach ($aPlugins as $sPlugin => $oPlugin) {
$sDir = Plugin::GetTemplateDir(get_class($oPlugin));
if ($sDir) {
$this->oSmarty->addTemplateDir(array($sDir . 'tpls/', $sDir), $oPlugin->GetName(false));
$aPluginsTemplateDir[$sPlugin] = $sDir;
$aPluginsTemplateUrl[$sPlugin] = Plugin::GetTemplateUrl(get_class($oPlugin));
}
}
if (E::ActivePlugin('ls')) {
// LS-compatible //
$this->Assign('aTemplateWebPathPlugin', $aPluginsTemplateUrl);
$this->Assign('aTemplatePathPlugin', $aPluginsTemplateDir);
}
$sSkinTheme = $this->GetConfigTheme();
if (!$sSkinTheme) {
$sSkinTheme = 'default';
}
// Проверка существования темы
if ($this->CheckTheme($sSkinTheme)) {
$this->oSmarty->compile_id = $sSkinTheme;
}
$this->Assign('sSkinTheme', $sSkinTheme);
}
示例4: CheckPlugin
/**
* Вызывается по строке "check_plugin"
* @param $aPlugins
* @return bool
*/
public function CheckPlugin($aPlugins)
{
if (is_string($aPlugins)) {
$aPlugins = array($aPlugins);
}
$bResult = FALSE;
foreach ($aPlugins as $sPluginName) {
$bResult = $bResult || E::ActivePlugin($sPluginName);
if ($bResult) {
break;
}
continue;
}
return $bResult;
}