/** * Get system plugin Zikula_View_Plugin instance. * * @param string $pluginName Plugin name. * @param integer|null $caching Whether or not to cache (Zikula_View::CACHE_*) or use config variable (null). * @param string $cache_id Cache Id. * * @return Zikula_View_Plugin The plugin instance. */ public static function getSystemPluginInstance($pluginName, $caching = null, $cache_id = null) { $modName = 'zikula'; return Zikula_View_Plugin::getPluginInstance($modName, $pluginName, $caching, $cache_id); }
/** * Initialise Scribite for requested areas. * * @param array $args Module name: 'modulename'. * * @return string */ private function loader($args) { // Argument checks $module = (isset($args['modulename'])) ? $args['modulename'] : ModUtil::getName(); $overrides = ModUtil::getVar('Scribite', 'overrides'); $editor = (isset($overrides[$module]['editor'])) ? $overrides[$module]['editor'] : ModUtil::getVar('Scribite', 'DefaultEditor'); // check for modules providing helpers and load them into the page $event = new Zikula_Event('module.scribite.editorhelpers', new Scribite_EditorHelper(), array('editor' => $editor)); $helpers = EventUtil::getManager()->notify($event)->getSubject()->getHelpers(); foreach ($helpers as $helper) { if (ModUtil::available($helper['module'])) { PageUtil::AddVar($helper['type'], $helper['path']); } } // check for allowed html $AllowableHTML = System::getVar('AllowableHTML'); $disallowedhtml = array(); while (list($key, $access) = each($AllowableHTML)) { if ($access == 0) { $disallowedhtml[] = DataUtil::formatForDisplay($key); } } // fetch additonal editor specific parameters. $classname = 'ModulePlugin_Scribite_' . $editor . '_Util'; $additionalEditorParameters = array(); if (method_exists($classname, 'addParameters')) { $additionalEditorParameters = $classname::addParameters(); } // fetch external editor plugins $additionalExternalEditorPlugins = array(); if (method_exists($classname, 'addExternalPlugins')) { $additionalExternalEditorPlugins = $classname::addExternalPlugins(); } // assign disabled textareas to template as a javascript array $javascript = "var disabledTextareas=["; if (isset($overrides[$module])) { foreach (array_keys($overrides[$module]) as $area) { if ($area == 'editor') continue; if ((isset($overrides[$module][$area]['disabled'])) && ($overrides[$module][$area]['disabled'] == "true")) { $javascript .= "'" . $area . "',"; } } } $javascript = rtrim($javascript, ","); $javascript .= "];"; PageUtil::addVar("footer", "<script type='text/javascript'>$javascript</script>"); // assign override parameters to javascript object $javascript = ""; $paramOverrides = false; if (isset($overrides[$module])) { foreach ($overrides[$module] as $area => $config) { if ($area == 'editor') continue; if (!empty($config['params'])) { $paramOverrides = true; $javascript .= "var paramOverrides_$area = {"; foreach ($config['params'] as $param => $value) { $javascript .= "\n $param: '$value',"; } $javascript .= "\n}"; } } } PageUtil::addVar("footer", "<script type='text/javascript'>\n$javascript\n</script>"); // insert notify function PageUtil::addVar('javascript', 'modules/Scribite/javascript/function-insertnotifyinput.js'); $view = Zikula_View_Plugin::getPluginInstance("Scribite", $editor, Zikula_View::CACHE_DISABLED); // assign to template in Scribite 'namespace' $templateVars = array('editorVars' => ModUtil::getVar("moduleplugin.scribite." . strtolower($editor)), 'modname' => $module, 'disallowedhtml' => $disallowedhtml, 'paramOverrides' => $paramOverrides); if (!empty($additionalEditorParameters)) { $templateVars['editorParameters'] = $additionalEditorParameters; } if (!empty($additionalExternalEditorPlugins)) { $templateVars['addExtEdPlugins'] = $additionalExternalEditorPlugins; } $view->assign('Scribite', $templateVars); return $view->fetch("editorheader.tpl"); }