예제 #1
0
 /**
  * @param Decoda $code
  * @param $hook
  * @return Decoda
  */
 protected function apply_hook(Decoda $code, $hook)
 {
     if (isset(static::$extra_hooks[$hook])) {
         $extra_hook = static::$extra_hooks[$hook] instanceof \DecodaHook ? static::$extra_hooks[$hook] : new static::$extra_hooks[$hook]();
         $code->addFilter($extra_hook);
         return $code;
     }
     switch ($hook) {
         case 'censor':
             $code->addHook(new \CensorHook());
             break;
         case 'clickable':
             $code->addHook(new \ClickableHook());
             break;
         case 'emoticon':
             $code->addHook(new \EmoticonHook());
             break;
     }
     return $code;
 }