Example #1
0
 public static function fromData($tagName, $data)
 {
     // {{{
     $tag = null;
     switch ($data['type']) {
         case 'Inline':
             $tag = new ToolbarInline();
             $tag->setSyntax($data['syntax']);
             break;
         case 'Block':
             $tag = new ToolbarBlock();
             $tag->setSyntax($data['syntax']);
             break;
         case 'LineBased':
             $tag = new ToolbarLineBased();
             $tag->setSyntax($data['syntax']);
             break;
         case 'Picker':
             $tag = new ToolbarPicker();
             break;
         case 'Separator':
             $tag = new ToolbarSeparator();
             break;
         case 'CkOnly':
             $tag = new ToolbarCkOnly($tagName);
             break;
         case 'Fullscreen':
             $tag = new ToolbarFullscreen();
             break;
         case 'TextareaResize':
             $tag = new ToolbarTextareaResize();
             break;
         case 'Helptool':
             $tag = new ToolbarHelptool();
             break;
         case 'FileGallery':
             $tag = new ToolbarFileGallery();
             break;
         case 'Wikiplugin':
             if (!isset($data['plugin'])) {
                 $data['plugin'] = '';
             }
             $tag = ToolbarWikiplugin::fromName('wikiplugin_' . $data['plugin']);
             if (empty($tag)) {
                 $tag = new ToolbarWikiplugin();
             }
             break;
         default:
             $tag = new ToolbarInline();
             break;
     }
     $tag->setLabel($data['label'])->setWysiwygToken($data['token'])->setIconName(!empty($data['iconname']) ? $data['iconname'] : 'help')->setIcon(!empty($data['icon']) ? $data['icon'] : 'img/icons/shading.png')->setType($data['type']);
     return $tag;
 }