public static function backend($force = false) { static $once; if ($once != null && !$force) { return; } $once = true; $family = n2_x('Montserrat', 'Default Google font family for admin'); foreach (explode(',', n2_x('latin', 'Default Google font charset for admin')) as $subset) { N2GoogleFonts::addSubset($subset); } N2GoogleFonts::addFont($family); N2CSS::addInline('.n2,html[dir="rtl"] .n2,.n2 td,.n2 th,.n2 select, .n2 textarea, .n2 input{font-family: "' . $family . '", Arial, sans-serif;}'); N2CSS::addFiles(N2LIBRARYASSETS . "/css", array('nextend-font.css', 'font.css', 'admin.css', 'form.css', 'notificationcenter.css', 'spectrum.css', 'contextMenu.css'), 'nextend-backend'); foreach (glob(N2LIBRARYASSETS . "/css/tabs/*.css") as $file) { N2CSS::addFile($file, 'nextend-backend'); } foreach (glob(N2LIBRARYASSETS . "/css/jquery/*.css") as $file) { N2CSS::addFile($file, 'nextend-backend'); } N2JS::addFiles(N2LIBRARYASSETS . "/js", array('json2.js', 'admin.js', 'color.js', 'query-string.js', 'md5.js', 'css.js', 'imagehelper.js', 'modal.js', 'notificationcenter.js', 'spectrum.js', 'expert.js'), 'nextend-backend'); N2Localization::addJS(array('Cancel', 'Delete', 'Delete and never show again', 'Are you sure you want to delete?', 'Documentation')); self::form($force); N2JS::addFiles(N2LIBRARYASSETS . "/js/core/jquery", array("fixto.js", "jstorage.js", "jquery.datetimepicker.js", "jquery.tinyscrollbar.min.js", "jquery.unique-element-id.js", "vertical-pane.js"), "nextend-backend"); wp_enqueue_script('nextend-ui', N2Uri::pathToUri(N2LIBRARYASSETS . "/js/core/jquery/ui/jquery-ui.nextend.js"), array('jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-autocomplete', 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-resizable', 'jquery-ui-sortable', 'jquery-ui-slider'), '1.0', 1); wp_enqueue_script('nextend-ui-iframe-transport', N2Uri::pathToUri(N2LIBRARYASSETS . "/js/core/jquery/ui/jquery.iframe-transport.js"), array('jquery-ui-core', 'jquery-ui-widget'), '1.0', 1); wp_enqueue_script('nextend-ui-fileupload', N2Uri::pathToUri(N2LIBRARYASSETS . "/js/core/jquery/ui/jquery.fileupload.js"), array('jquery-ui-core', 'jquery-ui-widget'), '1.0', 1); N2JS::addFiles(N2LIBRARYASSETS . "/js/core/jquery/ui", array('jquery.contextMenu.js'), "nextend-backend"); N2Base::getApplication('system')->info->assetsBackend(); N2JS::addFirstCode("NextendAjaxHelper.addAjaxArray(" . json_encode(N2Form::tokenizeUrl()) . ");"); N2Plugin::callPlugin('fontservices', 'onFontManagerLoadBackend'); }
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')); } } }
/** * @param $families * * @return mixed */ public function loadFont($families) { preg_match_all("/google\\(.*?family=(.*?)\\);\\)/", $families, $out, PREG_SET_ORDER); foreach ($out as $f) { preg_match('/(.*?)(:(.*?))?(&subset=(.*))?$/', $f[1], $g); $family = str_replace('+', ' ', $g[1]); $styles = 400; if (isset($g[3]) && !empty($g[3])) { $styles = $g[3]; } $subset = 'latin'; if (isset($g[5])) { $subset = $g[5]; } N2GoogleFonts::addSubset($subset); foreach (explode(',', $styles) as $style) { N2GoogleFonts::addFont($family, $style); } $families = str_replace($f[0], "'" . $family . "'", $families); } return $families; }