/shop quần áo starloveshop.com/wp-content/plugins/woocommerce-dynamic-gallery/admin/less/sass.php

https://gitlab.com/phamngsinh/baitaplon_sinhvien · PHP · 121 lines · 92 code · 23 blank · 6 comment · 18 complexity · 1d712e5ee2edf05545d934cf7961e784 MD5 · raw file

  1. <?php
  2. // File Security Check
  3. if (!defined('ABSPATH'))
  4. exit;
  5. class WC_Dynamic_Gallery_Less
  6. {
  7. public $plugin_name = 'woo_dynamic_gallery';
  8. public $css_file_name = 'woo_dynamic_gallery';
  9. public $plugin_folder = WOO_DYNAMIC_GALLERY_FOLDER;
  10. public $plugin_dir = WOO_DYNAMIC_GALLERY_DIR;
  11. /*-----------------------------------------------------------------------------------*/
  12. /* Constructor */
  13. /*-----------------------------------------------------------------------------------*/
  14. public function __construct()
  15. {
  16. add_action( $this->plugin_name.'_after_settings_save_reset', array ($this, 'plugin_build_sass') );
  17. //add_action( 'wp_head', array ($this, 'apply_style_css_fontend') , 9 );
  18. }
  19. public function apply_style_css_fontend()
  20. {
  21. $_upload_dir = wp_upload_dir();
  22. if ( file_exists( $_upload_dir['basedir'] . '/sass/' . $this->css_file_name . '.min.css' ) )
  23. echo '<link media="screen" type="text/css" href="' . $_upload_dir['baseurl'] . '/sass/' . $this->css_file_name . '.min.css" rel="stylesheet" />' . "\n";
  24. }
  25. public function plugin_build_sass()
  26. {
  27. $sass = $this->sass_content_data();
  28. $this->plugin_compile_less_mincss( $sass );
  29. }
  30. public function plugin_compile_less_mincss( $sass, $css_file_name = '' )
  31. {
  32. @ini_set( 'display_errors', false );
  33. $_upload_dir = wp_upload_dir();
  34. @chmod($_upload_dir['basedir'], 0777);
  35. if (!is_dir($_upload_dir['basedir'] . '/sass')) {
  36. @mkdir($_upload_dir['basedir'] . '/sass', 0777);
  37. } else {
  38. @chmod($_upload_dir['basedir'] . '/sass', 0777);
  39. }
  40. if ( trim( $css_file_name ) == '' ) $css_file_name = $this->css_file_name;
  41. if ( $css_file_name == '' )
  42. return;
  43. if ( $this->plugin_folder == '' )
  44. return;
  45. $filename = $css_file_name;
  46. if (!file_exists($_upload_dir['basedir'] . '/sass/' . $filename . '.less')) {
  47. @file_put_contents($_upload_dir['basedir'] . '/sass/' . $filename . '.less', '');
  48. @file_put_contents($_upload_dir['basedir'] . '/sass/' . $filename . '.css', '');
  49. @file_put_contents($_upload_dir['basedir'] . '/sass/' . $filename . '.min.css', '');
  50. }
  51. $files = array_diff(scandir($_upload_dir['basedir'] . '/sass'), array(
  52. '.',
  53. '..'
  54. ));
  55. if ($files) {
  56. foreach ($files as $file) {
  57. @chmod($_upload_dir['basedir'] . '/sass/' . $file, 0777);
  58. }
  59. }
  60. $sass_data = '';
  61. if ($sass != '') {
  62. $sass_data = '@import "'.$this->plugin_dir.'/admin/less/assets/css/mixins.less";' . "\n";
  63. $sass_data .= $sass;
  64. $sass_data = str_replace(':;', ': transparent;', $sass_data);
  65. $sass_data = str_replace(': ;', ': transparent;', $sass_data);
  66. $sass_data = str_replace(': !important', ': transparent !important', $sass_data);
  67. $sass_data = str_replace(':px', ':0px', $sass_data);
  68. $sass_data = str_replace(': px', ': 0px', $sass_data);
  69. $less_file = $_upload_dir['basedir'] . '/sass/' . $filename . '.less';
  70. if (is_writable($less_file)) {
  71. if (!class_exists('Compile_Less_Sass'))
  72. include( dirname( __FILE__ ) . '/compile_less_sass_class.php');
  73. file_put_contents($less_file, $sass_data);
  74. $css_file = $_upload_dir['basedir'] . '/sass/' . $filename . '.css';
  75. $css_min_file = $_upload_dir['basedir'] . '/sass/' . $filename . '.min.css';
  76. $compile = new Compile_Less_Sass;
  77. $compile->compileLessFile($less_file, $css_file, $css_min_file);
  78. }
  79. }
  80. }
  81. public function sass_content_data()
  82. {
  83. do_action($this->plugin_name . '_get_all_settings');
  84. ob_start();
  85. include( $this->plugin_dir. '/templates/customized_style.php' );
  86. $sass = ob_get_clean();
  87. $sass = str_replace( '<style>', '', str_replace( '</style>', '', $sass ) );
  88. // Start Less
  89. $sass_ext = '';
  90. $sass_ext = apply_filters( $this->plugin_name.'_build_sass', $sass_ext );
  91. if ($sass_ext != '')
  92. $sass .= "\n" . $sass_ext;
  93. return $sass;
  94. }
  95. }
  96. global $wc_wc_dynamic_gallery_less;
  97. $wc_wc_dynamic_gallery_less = new WC_Dynamic_Gallery_Less();
  98. ?>