BxDolMinify.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
  4. * CC-BY License - http://creativecommons.org/licenses/by/3.0/
  5. *
  6. * @defgroup TridentCore Trident Core
  7. * @{
  8. */
  9. use MatthiasMullie\Minify;
  10. require_once(BX_DIRECTORY_PATH_PLUGINS . 'matthiasmullie/path-converter/Converter.php');
  11. require_once(BX_DIRECTORY_PATH_PLUGINS . 'matthiasmullie/minify/Minify.php');
  12. require_once(BX_DIRECTORY_PATH_PLUGINS . 'matthiasmullie/minify/CSS.php');
  13. require_once(BX_DIRECTORY_PATH_PLUGINS . 'matthiasmullie/minify/JS.php');
  14. class BxDolMinify extends BxDolFactory implements iBxDolSingleton
  15. {
  16. protected function __construct()
  17. {
  18. parent::__construct();
  19. }
  20. /**
  21. * Prevent cloning the instance
  22. */
  23. public function __clone()
  24. {
  25. if (isset($GLOBALS['bxDolClasses'][get_class($this)]))
  26. trigger_error('Clone is not allowed for the class: ' . get_class($this), E_USER_ERROR);
  27. }
  28. /**
  29. * Get singleton instance of the class
  30. */
  31. public static function getInstance()
  32. {
  33. if(!isset($GLOBALS['bxDolClasses'][__CLASS__]))
  34. $GLOBALS['bxDolClasses'][__CLASS__] = new BxDolMinify();
  35. return $GLOBALS['bxDolClasses'][__CLASS__];
  36. }
  37. public function minifyJs($s)
  38. {
  39. $oMinifier = new Minify\JS();
  40. $oMinifier->add($s);
  41. return $oMinifier->minify();
  42. }
  43. public function minifyCss($s)
  44. {
  45. $oMinifier = new Minify\CSS();
  46. $oMinifier->add($s);
  47. return $oMinifier->minify();
  48. }
  49. }
  50. /** @} */