Open Monograph Press  3.3.0
LanguageToggleBlockPlugin.inc.php
1 <?php
2 
18 import('lib.pkp.classes.plugins.BlockPlugin');
19 
21 
27  return $this->getPluginPath() . '/settings.xml';
28  }
29 
35  return $this->getPluginPath() . '/settings.xml';
36  }
37 
42  function getDisplayName() {
43  return __('plugins.block.languageToggle.displayName');
44  }
45 
49  function getDescription() {
50  return __('plugins.block.languageToggle.description');
51  }
52 
56  function getContents($templateMgr, $request = null) {
57  if (!defined('SESSION_DISABLE_INIT')) {
58  $press = $request->getPress();
59  if (isset($press)) {
60  $locales = $press->getSupportedLocaleNames();
61 
62  } else {
63  $site = $request->getSite();
64  $locales = $site->getSupportedLocaleNames();
65  }
66  } else {
67  $locales =& AppLocale::getAllLocales();
68  if (isset($_SERVER['HTTP_REFERER'])) {
69  $templateMgr->assign('languageToggleNoUser', true);
70  $templateMgr->assign('referrerUrl', $_SERVER['HTTP_REFERER']);
71  } else {
72  unset($locales); // Disable; we're not sure what URL to use
73  }
74  }
75 
76  if (isset($locales) && count($locales) > 1) {
77  $templateMgr->assign('enableLanguageToggle', true);
78  $templateMgr->assign('languageToggleLocales', $locales);
79  }
80 
81  return parent::getContents($templateMgr);
82  }
83 }
PKPLocale\getAllLocales
static & getAllLocales()
Definition: PKPLocale.inc.php:537
LanguageToggleBlockPlugin
Class for language selector block plugin.
Definition: LanguageToggleBlockPlugin.inc.php:20
LanguageToggleBlockPlugin\getDisplayName
getDisplayName()
Definition: LanguageToggleBlockPlugin.inc.php:42
LanguageToggleBlockPlugin\getContents
getContents($templateMgr, $request=null)
Definition: LanguageToggleBlockPlugin.inc.php:56
LanguageToggleBlockPlugin\getContextSpecificPluginSettingsFile
getContextSpecificPluginSettingsFile()
Definition: LanguageToggleBlockPlugin.inc.php:34
LanguageToggleBlockPlugin\getInstallSitePluginSettingsFile
getInstallSitePluginSettingsFile()
Definition: LanguageToggleBlockPlugin.inc.php:26
LanguageToggleBlockPlugin\getDescription
getDescription()
Definition: LanguageToggleBlockPlugin.inc.php:49
BlockPlugin
Abstract class for block plugins.
Definition: BlockPlugin.inc.php:18
Plugin\getPluginPath
getPluginPath()
Definition: Plugin.inc.php:330
Plugin\$request
$request
Definition: Plugin.inc.php:68