예제 #1
0
 public function getMergedCssUrl($files)
 {
     if (!Mage::helper('magefm_cdn')->isEnabled()) {
         return parent::getMergedCssUrl($files);
     }
     // secure or unsecure
     $isSecure = Mage::app()->getRequest()->isSecure();
     $mergerDir = $isSecure ? 'css_secure' : 'css';
     // base hostname & port
     $baseMediaUrl = Mage::getBaseUrl('media', $isSecure);
     $hostname = parse_url($baseMediaUrl, PHP_URL_HOST);
     $port = parse_url($baseMediaUrl, PHP_URL_PORT);
     if (false === $port) {
         $port = $isSecure ? 443 : 80;
     }
     // merge into target file
     $targetFilename = $mergerDir . '/' . md5(implode(',', $files) . "|{$hostname}|{$port}") . '.css';
     $mergeFilesResult = $this->_mergeFiles($files, $targetFilename, false, array($this, 'beforeMergeCss'), 'css', 'text/css');
     if ($mergeFilesResult) {
         return $baseMediaUrl . $targetFilename;
     }
     return '';
 }
예제 #2
0
파일: Package.php 프로젝트: mygento/cdn
 /**
  * Merge specified css files and return URL to the merged file on success
  *
  * @param $files
  * @return string
  */
 public function getMergedCssUrl($files)
 {
     if (!Mage::getStoreConfig('mycdn/general/enabled')) {
         return parent::getMergedCssUrl($files);
     }
     // secure or unsecure
     $isSecure = Mage::app()->getRequest()->isSecure();
     $mergerDir = $isSecure ? 'css_secure' : 'css';
     $mergedFile = md5(implode(',', $files)) . '.css';
     $uploadFileName = $mergerDir . DS . 'merge' . DS . $mergedFile;
     $targetFileName = $this->_initMergerDir($mergerDir) . DS . $mergedFile;
     if ($this->needMerge($uploadFileName)) {
         Mage::helper('mycdn')->addLog('Need to merge ' . $targetFileName . ' =>  ' . $uploadFileName);
         $result = $this->processFiles($files, $uploadFileName, $targetFileName, false, array($this, 'beforeMergeCss'), 'css', 'text/css');
         if (!$result) {
             return parent::getMergedCssUrl($files);
         }
     }
     return Mage::getModel('mycdn/adapter')->getUrl($mergerDir . '/merge/' . $mergedFile);
 }