/** * Gets full style information * * @param string $style_id File name of the style schema (like: "satori") * @param array $params Extra parameters * array( * 'parse' parse less to variables if true * ) * @return array Style information */ public function get($style_id, $params = array()) { $manifest = $this->getManifest(); $style_id = fn_basename($style_id); $style = array(); $data = array(); $parsed = array(); $custom_fonts = array(); $less_content = fn_get_contents($this->getStyleFile($style_id)); /** * Modifies style data * * @param object $this Styles object * @param string $less_content style LESS content * @param string $style_id style ID */ fn_set_hook('styles_get', $this, $less_content, $style_id); if (!empty($less_content)) { if (!empty($params['parse'])) { $less = new Less(); $data = $less->extractVars($less_content); $parsed = $this->cssToUrl($data); $custom_fonts = $this->getCustomFonts($less_content); } $style = array('style_id' => $style_id, 'preset_id' => $style_id, 'data' => $data, 'name' => $style_id, 'is_default' => isset($manifest['default'][$style_id]), 'parsed' => $parsed, 'custom_fonts' => $custom_fonts, 'image' => $this->getStyleImage($style_id)); if (empty($params['short_info'])) { $custom_css = $this->getCustomCss($style_id); $style['less'] = $less_content; $style['custom_css'] = $custom_css; } } /** * Modifies style data (post-processing) * * @param object $this Styles object * @param string $style_id style ID * @param array $params style retrieval params * @param array $style style data */ fn_set_hook('styles_get_post', $this, $style_id, $params, $style); return $style; }
/** * Gets full style information * * @param string $style_id File name of the style schema (like: "satori") * @param array $params Extra parameters * array( * 'parse' parse less to variables if true * ) * @return array Style information */ public function get($style_id, $params = array()) { if (!empty(self::$manifest[$style_id])) { $manifest = self::$manifest[$style_id]; } else { $manifest = self::$manifest[$style_id] = $this->getManifest(); } $style_id = fn_basename($style_id); $style = array(); $data = array(); $parsed = array(); $less_content = fn_get_contents($this->getStyleFile($style_id)); fn_set_hook('styles_get', $less_content, $style_id); if (!empty($less_content)) { if (!empty($params['parse'])) { $less = new Less(); $data = $less->extractVars($less_content); $parsed = $this->cssToUrl($data); } $style = array('style_id' => $style_id, 'preset_id' => $style_id, 'data' => $data, 'name' => $style_id, 'is_default' => isset($manifest['default'][$style_id]), 'parsed' => $parsed, 'image' => $this->getStyleImage($style_id)); if (empty($params['short_info'])) { $custom_css = $this->getCustomCss($style_id); $style['less'] = $less_content; $style['custom_css'] = $custom_css; } } return $style; }