addLocaleData(); } return $success; } /** * Get the supported contexts (e.g. BLOCK_CONTEXT_...) for this block. * @return array */ function getSupportedContexts() { return array(BLOCK_CONTEXT_LEFT_SIDEBAR, BLOCK_CONTEXT_RIGHT_SIDEBAR); } /** * Determine whether the plugin is enabled. Overrides parent so that * the plugin will be displayed during install. */ function getEnabled() { if (!Config::getVar('general', 'installed')) return true; return parent::getEnabled(); } /** * Install default settings on system install. * @return string */ function getInstallSitePluginSettingsFile() { return $this->getPluginPath() . '/settings.xml'; } /** * Install default settings on conference creation. * @return string */ function getNewConferencePluginSettingsFile() { return $this->getPluginPath() . '/settings.xml'; } /** * Get the block context. Overrides parent so that the plugin will be * displayed during install. * @return int */ function getBlockContext() { if (!Config::getVar('general', 'installed')) return BLOCK_CONTEXT_RIGHT_SIDEBAR; return parent::getBlockContext(); } /** * Determine the plugin sequence. Overrides parent so that * the plugin will be displayed during install. */ function getSeq() { if (!Config::getVar('general', 'installed')) return 2; return parent::getSeq(); } /** * Get the name of this plugin. The name must be unique within * its category. * @return String name of plugin */ function getName() { return 'LanguageToggleBlockPlugin'; } /** * Get the display name of this plugin. * @return String */ function getDisplayName() { return Locale::translate('plugins.block.languageToggle.displayName'); } /** * Get a description of the plugin. */ function getDescription() { return Locale::translate('plugins.block.languageToggle.description'); } /** * Get the HTML contents for this block. */ function getContents(&$templateMgr) { if (!defined('SESSION_DISABLE_INIT')) { $conference =& Request::getConference(); if (isset($conference)) { $locales =& $conference->getSupportedLocaleNames(); } else { $site =& Request::getSite(); $locales =& $site->getSupportedLocaleNames(); } } else { $locales =& Locale::getAllLocales(); $templateMgr->assign('languageToggleNoUser', true); } if (isset($locales) && count($locales) > 1) { $templateMgr->assign('enableLanguageToggle', true); $templateMgr->assign('languageToggleLocales', $locales); } return parent::getContents($templateMgr); } } ?>