From 35850d39f1073dd0f309657a4b7bf96612447a9e Mon Sep 17 00:00:00 2001 From: Pierre-Henry Soria Date: Thu, 15 Jun 2017 20:41:16 +0100 Subject: [PATCH] Quick cleanup and inject File class into Optimization::dataUri() method --- .../framework/Layout/Optimization.class.php | 20 +++++++++++-------- _protected/framework/Parse/Emoticon.class.php | 11 ++++++---- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/_protected/framework/Layout/Optimization.class.php b/_protected/framework/Layout/Optimization.class.php index 059d7a80b4..77b3abb114 100755 --- a/_protected/framework/Layout/Optimization.class.php +++ b/_protected/framework/Layout/Optimization.class.php @@ -10,24 +10,26 @@ */ namespace PH7\Framework\Layout; + defined('PH7') or exit('Restricted access'); +use PH7\Framework\File\File; + class Optimization { - /** * Data URI scheme - base64 encoding. * * @param string $sFile + * @param File $oFile + * * @return string Returns format: data:[][;base64], */ - public static function dataUri($sFile) + public static function dataUri($sFile, File $oFile) { - $oFile = new \PH7\Framework\File\File(); // Switch to right MIME-type $sExt = $oFile->getFileExt($sFile); $sMimeType = $oFile->getMimeType($sExt); - unset($oFile); $sBase64 = base64_encode(file_get_contents($sFile)); return "data:$sMimeType;base64,$sBase64"; @@ -40,6 +42,7 @@ public static function dataUri($sFile) * * @param string $sFile Contents to scan. * @param string $sDir Folder name to prepend. + * * @return string Content with adjusted paths. */ public static function cssDataUriCleanup($sFile, $sDir) @@ -49,8 +52,7 @@ public static function cssDataUriCleanup($sFile, $sDir) preg_match_all($sRegexUrl, $sFile, $aHit, PREG_PATTERN_ORDER); - for ($i=0, $iCountHit = count($aHit[0]); $i < $iCountHit; $i++) - { + for ($i=0, $iCountHit = count($aHit[0]); $i < $iCountHit; $i++) { $sSearch = $aHit[1][$i] . $aHit[2][$i] . $aHit[3][$i]; $sReplace = $sDir . $aHit[1][$i]; @@ -63,9 +65,11 @@ public static function cssDataUriCleanup($sFile, $sDir) substr(str_replace(array('"', "'"), '', $aHit[2][$i]),0,6) != 'mhtml:' && substr(str_replace(array('"', "'"), '', $aHit[2][$i]),0,1) != '/' && substr(str_replace(array('"', "'"), '', $aHit[2][$i]),strlen(str_replace(array('"',"'"),'', $aHit[2][$i])) - 4,4) != '.htc' - ) $sFile = str_replace($sSearch, $sReplace, $sFile); + ) { + $sFile = str_replace($sSearch, $sReplace, $sFile); + } } + return $sFile; } - } diff --git a/_protected/framework/Parse/Emoticon.class.php b/_protected/framework/Parse/Emoticon.class.php index 20ffabd1fb..b0e6e5af00 100755 --- a/_protected/framework/Parse/Emoticon.class.php +++ b/_protected/framework/Parse/Emoticon.class.php @@ -11,18 +11,21 @@ */ namespace PH7\Framework\Parse; + defined('PH7') or exit('Restricted access'); use PH7\Framework\Layout\Optimization; +use PH7\Framework\File\File; +use PH7\Framework\Service\Emoticon as EmoticonService; -class Emoticon extends \PH7\Framework\Service\Emoticon +class Emoticon extends EmoticonService { /** * Parse the contents. * - * @static * @param string $sContents - * @param boolean $bIsDataUri Default: TRUE + * @param boolean $bIsDataUri + * * @return string Contents */ public static function init($sContents, $bIsDataUri = true) @@ -31,7 +34,7 @@ public static function init($sContents, $bIsDataUri = true) foreach ($aEmoticons as $sEmoticonKey => $aEmoticon) { if ($bIsDataUri) { - $sSrcImg = Optimization::dataUri(static::getPath($sEmoticonKey)); + $sSrcImg = Optimization::dataUri(static::getPath($sEmoticonKey), new File); } else { $sSrcImg = static::getUrl($sEmoticonKey); }