function fetchElement() { $html = parent::fetchElement(); $fontSettings = N2Fonts::loadSettings(); $families = explode("\n", $fontSettings['preset-families']); sort($families); N2JS::addInline('new NextendElementAutocompleteSimple("' . $this->_id . '", ' . json_encode($families) . ');'); return $html; }
public function renderFontsConfigurationForm() { $values = N2Fonts::loadSettings(); $form = new N2Form($this->appType); $form->loadArray($values); $form->loadArray($values['plugins']->toArray()); $form->loadXMLFile(N2Loader::getPath('models', 'system') . '/forms/fonts.xml'); echo N2Html::openTag("form", array("id" => "nextend-config", "method" => "post", "action" => N2Request::getRequestUri())); $form->render('fonts'); echo N2Html::closeTag("form"); }
function generateOptions(&$xml) { $html = ''; if (!$this->fixedMode) { $html .= '<option value="0" selected="selected">' . n2_('Choose') . '</option>'; } $this->skins = array(); $fontSettings = N2Fonts::loadSettings(); $families = explode("\n", $fontSettings['preset-families']); foreach ($families as $family) { $family = trim($family, "\t\n\r\v'\""); if (!empty($family)) { $html .= '<option value="' . $family . '">' . $family . '</option>'; $this->skins[$family] = array(); $this->skins[$family]['family'] = $family; } } return $html; }
function onFontManagerLoad($force = false) { static $loaded; if (!$loaded || $force) { $loaded = true; $settings = N2Fonts::loadSettings(); $parameters = $settings['plugins']; $parameters->fillDefault(self::getDefaults()); if ($parameters->get('google-enabled', 1)) { N2GoogleFonts::$enabled = 1; for ($i = 100; $i < 1000; $i += 100) { $this->addStyle($parameters, $i); $this->addStyle($parameters, $i . 'italic'); } if (empty(self::$styles)) { self::$styles[] = '400'; } $this->addSubset($parameters, 'latin'); $this->addSubset($parameters, 'latin-ext'); $this->addSubset($parameters, 'greek'); $this->addSubset($parameters, 'greek-ext'); $this->addSubset($parameters, 'cyrillic'); $this->addSubset($parameters, 'devanagari'); $this->addSubset($parameters, 'arabic'); $this->addSubset($parameters, 'khmer'); $this->addSubset($parameters, 'telugu'); $this->addSubset($parameters, 'vietnamese'); if (empty(self::$subsets)) { self::$subsets[] = 'latin'; } foreach (self::$subsets as $subset) { N2GoogleFonts::addSubset($subset); } N2Pluggable::addAction('fontFamily', array($this, 'onFontFamily')); } } }
self::$config = array('default-family' => n2_x('Montserrat,Arial', 'Default font'), 'preset-families' => n2_x("'Montserrat',Arial\n'Pacifico',Arial\n'Open Sans',Arial\n'Lato',Arial\n'Bevan',Arial\n'Oxygen',Arial\n'Pt Sans',Arial\n'Average',Arial\n'Roboto',Arial\n'Roboto Slab',Arial\n'Oswald',Arial\n'Droid Sans',Arial\n'Raleway',Arial\n'Lobster',Arial\n'Titillium Web',Arial\n'Cabin',Arial\n'Varela Round',Arial\n'Vollkorn',Arial\n'Quicksand',Arial\n'Source Sans Pro',Arial\n'Asap',Arial\n'Merriweather',Arial", 'Default font family list'), 'plugins' => array()); foreach (N2StorageSectionAdmin::getAll('system', 'fonts') as $data) { self::$config[$data['referencekey']] = $data['value']; } self::$config['plugins'] = new N2Data(self::$config['plugins'], true); } return self::$config; } public static function storeSettings($data) { if (is_array($data)) { foreach ($data as $key => $value) { if (isset(self::$config[$key])) { self::$config[$key] = $value; N2StorageSectionAdmin::set('system', 'fonts', $key, $value, 1, 1); unset($data[$key]); } } if (count($data)) { self::$config['plugins'] = new N2Data($data); N2StorageSectionAdmin::set('system', 'fonts', 'plugins', self::$config['plugins']->toJSON(), 1, 1); } return true; } return false; } } if (class_exists('N2FontRenderer', false)) { $fontSettings = N2Fonts::loadSettings(); N2FontRenderer::$defaultFont = $fontSettings['default-family']; }