Source of file MarkdownEditorConfig.php
Size: 1,443 Bytes - Last Modified: 2021-12-23T10:02:38+00:00
/var/www/docs.ssmods.com/process/src/code/forms/MarkdownEditorConfig.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | <?php /** * Created by Nivanka Fonseka (nivanka@silverstripers.com). * User: nivankafonseka * Date: 7/22/15 * Time: 11:22 AM * To change this template use File | Settings | File Templates. */ class MarkdownEditorConfig { private static $configs = array(); private $identifier = ''; protected $plugins = array( 'spellchecker', 'autosave', ); public function __construct($identifier){ $this->identifier = $identifier; } public static function get($identifier = 'default') { if (!array_key_exists($identifier, self::$configs)) self::$configs[$identifier] = new MarkdownEditorConfig($identifier); return self::$configs[$identifier]; } protected function getButtons() { return Config::inst()->get('MarkdownEditorConfig', 'buttons', Config::UNINHERITED); } protected function getButtonConfigs() { return Config::inst()->get('MarkdownEditorConfig', 'button_configs'); } public function generateJS(){ $arrConfigs = array( 'status' => array( 'lines', 'words', 'cursor' ), 'toolbar' => array() ); $buttonConfigs = $this->getButtonConfigs(); foreach($this->getButtons() as $button){ if(array_key_exists($button, $buttonConfigs)){ $arrConfigs['toolbar'][] = $buttonConfigs[$button]; } } $strJSON = Convert::array2json($arrConfigs); return sprintf( 'markdownEditorConfigs.%s = %s;', $this->identifier, $strJSON ); } } |