Beispiel #1
0
 private function registerParserHookHandler()
 {
     $self = $this;
     $this->globals['wgHooks']['ParserFirstCallInit'][] = function (\Parser &$parser) use($self) {
         $hookRegistrant = new HookRegistrant($parser);
         $hookRegistrant->registerFunction(new FunctionRunner($self->getGitHubHookDefinition(), $self->getGitHubHookHandler(), array(FunctionRunner::OPT_DO_PARSE => false)));
         return true;
     };
 }
 private function registerParserFunctionHooks(ApplicationFactory $applicationFactory)
 {
     /**
      * @see https://www.mediawiki.org/wiki/Manual:Hooks/ParserFirstCallInit
      */
     $this->handlers['ParserFirstCallInit'] = function (&$parser) use($applicationFactory) {
         $parserFunctionFactory = $applicationFactory->newParserFunctionFactory($parser);
         list($name, $definition, $flag) = $parserFunctionFactory->newAskParserFunctionDefinition();
         $parser->setFunctionHook($name, $definition, $flag);
         list($name, $definition, $flag) = $parserFunctionFactory->newShowParserFunctionDefinition();
         $parser->setFunctionHook($name, $definition, $flag);
         list($name, $definition, $flag) = $parserFunctionFactory->newSubobjectParserFunctionDefinition();
         $parser->setFunctionHook($name, $definition, $flag);
         list($name, $definition, $flag) = $parserFunctionFactory->newRecurringEventsParserFunctionDefinition();
         $parser->setFunctionHook($name, $definition, $flag);
         list($name, $definition, $flag) = $parserFunctionFactory->newSetParserFunctionDefinition();
         $parser->setFunctionHook($name, $definition, $flag);
         list($name, $definition, $flag) = $parserFunctionFactory->newConceptParserFunctionDefinition();
         $parser->setFunctionHook($name, $definition, $flag);
         list($name, $definition, $flag) = $parserFunctionFactory->newDeclareParserFunctionDefinition();
         $parser->setFunctionHook($name, $definition, $flag);
         $hookRegistrant = new HookRegistrant($parser);
         $infoFunctionDefinition = InfoParserFunction::getHookDefinition();
         $infoFunctionHandler = new InfoParserFunction();
         $hookRegistrant->registerFunctionHandler($infoFunctionDefinition, $infoFunctionHandler);
         $hookRegistrant->registerHookHandler($infoFunctionDefinition, $infoFunctionHandler);
         $docsFunctionDefinition = DocumentationParserFunction::getHookDefinition();
         $docsFunctionHandler = new DocumentationParserFunction();
         $hookRegistrant->registerFunctionHandler($docsFunctionDefinition, $docsFunctionHandler);
         $hookRegistrant->registerHookHandler($docsFunctionDefinition, $docsFunctionHandler);
         return true;
     };
 }
Beispiel #3
0
 protected function registerParserHook()
 {
     $runner = $this->getHookRunner();
     $registrant = new HookRegistrant($this->parser);
     $registrant->registerHook($runner);
 }
Beispiel #4
0
 /**
  * @see https://www.mediawiki.org/wiki/Manual:$this->globalVars['wgHooks']
  *
  * @note $this->globalVars['wgHooks'] contains a list of hooks which specifies for every event an
  * array of functions to be called.
  */
 private function registerHooks()
 {
     $hookRegistry = new HookRegistry($this->globalVars, $this->directory);
     $hookRegistry->register();
     // Old-style registration
     $this->globalVars['wgHooks']['AdminLinks'][] = 'SMWHooks::addToAdminLinks';
     $this->globalVars['wgHooks']['PageSchemasRegisterHandlers'][] = 'SMWHooks::onPageSchemasRegistration';
     $this->globalVars['wgHooks']['ParserFirstCallInit'][] = function (\Parser &$parser) {
         $hookRegistrant = new HookRegistrant($parser);
         $infoFunctionDefinition = InfoParserFunction::getHookDefinition();
         $infoFunctionHandler = new InfoParserFunction();
         $hookRegistrant->registerFunctionHandler($infoFunctionDefinition, $infoFunctionHandler);
         $hookRegistrant->registerHookHandler($infoFunctionDefinition, $infoFunctionHandler);
         $docsFunctionDefinition = DocumentationParserFunction::getHookDefinition();
         $docsFunctionHandler = new DocumentationParserFunction();
         $hookRegistrant->registerFunctionHandler($docsFunctionDefinition, $docsFunctionHandler);
         $hookRegistrant->registerHookHandler($docsFunctionDefinition, $docsFunctionHandler);
         return true;
     };
 }
 /**
  * @dataProvider namesProvider
  */
 public function testRegisterHookHandler(array $names)
 {
     $parser = $this->newMockParserForHook($names);
     $registrant = new HookRegistrant($parser);
     $registrant->registerHookHandler(new HookDefinition($names), $this->getMock('ParserHooks\\HookHandler'));
 }