Source of file Custom_HtmlEditorField_Toolbar.php
Size: 1,404 Bytes - Last Modified: 2021-12-24T06:43:03+00:00
/var/www/docs.ssmods.com/process/src/code/Custom_HtmlEditorField_Toolbar.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344 | <?php /** * Custom_HtmlEditorField_Toolbar extension that permit to link DataObjects * arbitrari tramite TinyMce * * @author Gabriele Brosulo <gabriele.brosulo@zirak.it> * @creation-date 10-Mar-2014 */ class Custom_HtmlEditorField_Toolbar extends Extension { /** * Aggiorna l'elenco delle possibili opzioni di link * @param Form $form * @return type */ public function updateLinkForm($form) { Requirements::javascript(LINKABLE_DATAOBJECTS_DIR . "/javascript/linkable-dataobjects.js"); $fields = $form->Fields(); /* @var $linkTipe CompositeField */ $compositeField = $fields[1]; /* @var $linkTipe OptionsetField */ $linkTipe = $fields[1]->fieldByName("LinkType"); $options = $linkTipe->getSource(); $linkables = ClassInfo::implementorsOf('Linkable'); foreach ($linkables as $class) { $identifier = str_replace('\\', '-', strtolower($class)); $options[$identifier] = $class::LinkLabel(); $linkTipe->setSource($options); $dropdown = new DropdownField($identifier, _t('HtmlEditorField.NEWS', $class::LinkLabel()), $class::get()->map('ID', 'Title')); $dropdown->addExtraClass('linkabledo'); $compositeField->insertBefore($dropdown, 'Description'); } return $form; } } |