/** * Display module contents. */ public final function display() { // Load CSS only once if (static::$css) { $this->document->addStyleSheet(JURI::root(true) . static::$css); static::$css = null; } // Use caching also for registered users if enabled. if ($this->params->get('owncache', 0)) { /** @var $cache JCacheControllerOutput */ $cache = JFactory::getCache('com_kunena', 'output'); $me = KunenaFactory::getUser(); $cache->setLifeTime($this->params->get('cache_time', 180)); $hash = md5(serialize($this->params)); if ($cache->start("display.{$me->userid}.{$hash}", 'mod_kunenalatest')) { return; } } // Initialize Kunena. KunenaForum::setup(); // Display module. $this->_display(); // Store cached page. if (isset($cache)) { $cache->end(); } }
/** * @param string $cssFilename * @param string $path */ public static function delCss($cssFilename, $path = RES_CSS) { static::$css = array_diff(static::$css, [$path . $cssFilename]); }
/** * Add css files to the array * @param array $files */ public static function addCss(array $files) { static::$css = array_merge($files, static::$css); }
/** * Add new asset after another asset in its array * * @param string $a * @param string $b * @param string/array $params * * @return void */ public static function addAfter($a, $b, $params = 'footer', $onUnknownExtension = false) { // check for '*' character static::checkVersion($a); switch (static::getAddTo($a, $onUnknownExtension)) { case static::ADD_TO_CSS: $bpos = array_search($b, array_keys(static::$css)); if ($bpos === 0 || $bpos > 0) { $barr = array_slice(static::$css, $bpos + 1); $aarr = array_slice(static::$css, 0, $bpos + 1); $aarr[$a] = $a; static::$css = array_merge($aarr, $barr); } else { static::$css[$a] = $a; } break; case static::ADD_TO_LESS: $bpos = array_search($b, array_keys(static::$less)); if ($bpos === 0 || $bpos > 0) { $barr = array_slice(static::$less, $bpos + 1); $aarr = array_slice(static::$less, 0, $bpos + 1); $aarr[$a] = $a; static::$less = array_merge($aarr, $barr); } else { static::$less[$a] = $a; } break; case static::ADD_TO_JS: if (is_array($params) && !empty($params['name'])) { $name = $params['name']; static::$jsParams[$name][$a] = $params; } else { $name = $params; } if (!empty(static::$js[$name])) { $bpos = array_search($b, array_keys(static::$js[$name])); if ($bpos === 0 || $bpos > 0) { $barr = array_slice(static::$js[$name], $bpos + 1); $aarr = array_slice(static::$js[$name], 0, $bpos + 1); $aarr[$a] = $a; static::$js[$name] = array_merge($aarr, $barr); } else { static::$js[$name][$a] = $a; } } break; } }
/** * Remove a CSS asset, or all * * @param mixed Asset name, or `NULL` to remove all * @return mixed Empty array or void */ public static function removeCss($handle = NULL) { if ($handle === NULL) { return static::$css = []; } unset(static::$css[$handle]); }
public function getCssFiles() { static::$css = array_values(array_unique(static::$css)); return static::$css; }
/** * Add new asset after another asset in its array * * @param string $a * @param string $b * @param string $name * * @return void */ public static function addAfter($a, $b, $name = 'footer', $onUnknownExtension = false) { switch (static::getAddTo($a, $onUnknownExtension)) { case static::ADD_TO_CSS: $bpos = array_search($b, static::$css); if ($bpos === 0 || $bpos > 0) { $barr = array_slice(static::$css, $bpos + 1); $aarr = array_slice(static::$css, 0, $bpos + 1); array_push($aarr, $a); static::$css = array_merge($aarr, $barr); } else { static::$css[] = $a; } break; case static::ADD_TO_LESS: $bpos = array_search($b, static::$less); if ($bpos === 0 || $bpos > 0) { $barr = array_slice(static::$less, $bpos + 1); $aarr = array_slice(static::$less, 0, $bpos + 1); array_push($aarr, $a); static::$less = array_merge($aarr, $barr); } else { static::$less[] = $a; } break; case static::ADD_TO_JS: if (!empty(static::$js[$name])) { $bpos = array_search($b, static::$js[$name]); if ($bpos === 0 || $bpos > 0) { $barr = array_slice(static::$js[$name], $bpos + 1); $aarr = array_slice(static::$js[$name], 0, $bpos + 1); array_push($aarr, $a); static::$js[$name] = array_merge($aarr, $barr); } else { static::$js[$name][] = $a; } } break; } }