/** * Internal function to run variable tags * * @param String $type * @param Array $assets * @param Array $settings * @return String */ protected function _run($type, $assets, $settings = array()) { MinimeePlugin::log(Craft::t('MinimeeVariable::' . $type . '() is being run now.')); $minified = minimee()->service->run($type, $assets, $settings); if (!$minified) { $html = minimee()->service->makeTagsByType($type, $assets); return minimee()->service->makeTwigMarkupFromHtml($html); } $html = minimee()->service->makeTagsByType($type, $minified); return minimee()->service->makeTwigMarkupFromHtml($html); }
/** * Define our filter * * @param String $html * @param Array $settings * @return String */ public function minimeeFilter($html, $settings = array()) { // we need a type to continue $type = $this->detectType($html); if (!$type) { MinimeePlugin::log('Could not determine the type of asset to process.', LogLevel::Warning); return minimee()->service->makeTwigMarkupFromHtml($html); } // we need to find some assets in the HTML $assets = $this->pregMatchAssetsByType($type, $html); if (!$assets) { MinimeePlugin::log('No assets of type ' . $type . ' could be found.', LogLevel::Warning); return minimee()->service->makeTwigMarkupFromHtml($html); } // hand off the rest to our service $minified = minimee()->service->run($type, $assets, $settings); // false means we failed, so return original markup if (!$minified) { return minimee()->service->makeTwigMarkupFromHtml($html); } $minifiedAsTags = minimee()->service->makeTagsByType($type, $minified); // return minified tag(s) as Twig Markup return minimee()->service->makeTwigMarkupFromHtml($minifiedAsTags); }
/** * Fetch settings from our plugin / config * * @return Void */ protected function initPluginSettings() { $settings = minimee()->plugin->getSettings()->getAttributes(); // as of v2.0 we can take filesystem configs if (version_compare('2.0', craft()->getVersion(), '<=')) { $settings = $this->supportLegacyNamesFromConfig($settings); foreach ($settings as $attribute => $value) { if (craft()->config->exists($attribute, 'minimee')) { $settings[$attribute] = craft()->config->get($attribute, 'minimee'); } } } $this->setPluginSettings($settings); MinimeePlugin::log(Craft::t('Minimee has been initialised.')); }
/** * Handle backwards-compat for 'cssTagTemplate' and 'jsTagTemplate' setting names. * Remove in 1.x release! * * @param Array $runtimeSettings * @return Array */ protected function supportLegacyNamesAtRuntime($runtimeSettings = array()) { foreach ($this->_deprecatedSettingsMap as $oldAttributeName => $newAttributeName) { if (array_key_exists($oldAttributeName, $runtimeSettings)) { $message = Craft::t('Deprecated runtime setting name: change {oldAttributeName} to {runtimeSettings}.', array('oldAttributeName' => $oldAttributeName, 'runtimeSettings' => $runtimeSettings)); MinimeePlugin::log($message, LogLevel::Info); $runtimeSettings[$newAttributeName] = $runtimeSettings[$oldAttributeName]; unset($runtimeSettings[$oldAttributeName]); } } return $runtimeSettings; }