当前位置: 首页>>代码示例>>PHP>>正文


PHP SPLoader::CssFile方法代码示例

本文整理汇总了PHP中SPLoader::CssFile方法的典型用法代码示例。如果您正苦于以下问题:PHP SPLoader::CssFile方法的具体用法?PHP SPLoader::CssFile怎么用?PHP SPLoader::CssFile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SPLoader的用法示例。


在下文中一共展示了SPLoader::CssFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _cssFiles

 private function _cssFiles()
 {
     if (Sobi::Cfg('cache.include_css_files', false) && !defined('SOBIPRO_ADM')) {
         if (count($this->_cache['css'])) {
             /* * create the right checksum */
             $check = array('section' => Sobi::Section());
             foreach ($this->_cache['css'] as $file) {
                 if (file_exists($file)) {
                     $check[$file] = filemtime($file);
                 }
             }
             $check = md5(serialize($check));
             if (!SPFs::exists(SOBI_PATH . "/var/css/{$check}.css")) {
                 $cssContent = "\n/* Created at: " . date(SPFactory::config()->key('date.log_format', 'D M j G:i:s T Y')) . " */\n";
                 foreach ($this->_cache['css'] as $file) {
                     $fName = str_replace(Sobi::FixPath(SOBI_ROOT), null, $file);
                     $cssContent .= "\n/**  \n========\nFile: {$fName}\n========\n*/\n";
                     $fc = SPFs::read($file);
                     preg_match_all('/[^\\(]*url\\(([^\\)]*)/', $fc, $matches);
                     // we have to replace url relative path
                     $fPath = str_replace(Sobi::FixPath(SOBI_ROOT . '/'), SPFactory::config()->get('live_site'), $file);
                     $fPath = str_replace('\\', '/', $fPath);
                     $fPath = explode('/', $fPath);
                     if (count($matches[1])) {
                         foreach ($matches[1] as $url) {
                             // if it is already absolute - skip or from root
                             if (preg_match('|http(s)?://|', $url) || preg_match('|url\\(["\\s]*/|', $url)) {
                                 continue;
                             } elseif (strpos($url, '/') === 0) {
                                 continue;
                             }
                             $c = preg_match_all('|\\.\\./|', $url, $c) + 1;
                             $tempFile = array_reverse($fPath);
                             for ($i = 0; $i < $c; $i++) {
                                 unset($tempFile[$i]);
                             }
                             $rPath = Sobi::FixPath(implode('/', array_reverse($tempFile)));
                             if ($c > 1) {
                                 //WHY?!!
                                 //$realUrl = Sobi::FixPath( str_replace( '..', $rPath, $url ) );
                                 $realUrl = Sobi::FixPath($rPath . '/' . str_replace('../', null, $url));
                             } else {
                                 $realUrl = Sobi::FixPath($rPath . '/' . $url);
                             }
                             $realUrl = str_replace(array('"', "'", ' '), null, $realUrl);
                             $fc = str_replace($url, $realUrl, $fc);
                         }
                     }
                     // and add to content
                     $cssContent .= $fc;
                 }
                 SPFs::write(SOBI_PATH . "/var/css/{$check}.css", $cssContent);
             }
             $cfile = SPLoader::CssFile('front.var.css.' . $check, false, true, true);
             $this->cssFiles[++$this->count] = "<link rel=\"stylesheet\" href=\"{$cfile}\" type=\"text/css\" />";
         }
     }
     return $this->cssFiles;
 }
开发者ID:ranrolls,项目名称:ras-full-portal,代码行数:59,代码来源:header.php


注:本文中的SPLoader::CssFile方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。