Sindbad~EG File Manager

Current Path : /home/admin/ricard.blog.lppelm.o2switch.site/wp-content/plugins/gutenify/inc/
Upload File :
Current File : /home/admin/ricard.blog.lppelm.o2switch.site/wp-content/plugins/gutenify/inc/class-actions.php

<?php
/**
 * Actions functions
 *
 * @package Gutenify
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Class Gutenify_Actions
 */
class Gutenify_Actions {

	/**
	 * Gutenify_Actions constructor.
	 */
	public function __construct() {
		add_action( 'use_block_editor_for_post_type', array( $this, 'disable_gutenberg' ), 10, 2 );
		add_filter( 'gutenify_skip_gutenburg_post_type', array( $this, 'skip_gutenburg_post_type' ) );

		add_action(
			'save_post',
			function( $post_id, $post ) {
				// If this is just a revision, don't send the email.
				if ( wp_is_post_revision( $post_id ) ) {
					return;
				}

				$data = json_decode( file_get_contents( 'php://input' ), true );
				// error_log( print_r( $data, true ) );
				if ( ! empty( $data['meta']['gutenify_custom_css'] ) ) {
					$name = 'post-' . $post_id;
					if ( 'wp_template_parts' === $post->post_type ) {
						$name = 'part-' . $post_id;
					}
					if ( $this->create_styles_folder() ) {
						$this->create_styles_file( $name, gutenify_minimize_css_simple( $data['meta']['gutenify_custom_css'] ) );
					}
				}
			},
			10,
			2
		);
	}

	/**
	 * Disable gutenber on post type.
	 *
	 * @param boolean $is_enabled If editor is enabled.
	 * @param string  $post_type  Post type name.
	 * @return boolean
	 */
	public function disable_gutenberg( $is_enabled, $post_type ) {
		$skip_gutenburg = apply_filters( 'gutenify_skip_gutenburg_post_type', array() );
		if ( ! in_array( $post_type, $skip_gutenburg, true ) ) {
			$settings          = gutenify_settings();
			$active_post_types = ! empty( $settings['active_post_types'] ) ? $settings['active_post_types'] : array();
			if ( ! in_array( $post_type, $active_post_types, true ) ) {
				return false;
			}
		}
		return $is_enabled;
	}

	/**
	 * Post types to skip the options.
	 *
	 * @param array $post_types Post types.
	 * @return array
	 */
	public function skip_gutenburg_post_type( $post_types ) {
		$post_types = array_merge( $post_types, array( 'attachment', 'wp_template', 'wp_block', 'gutenify_template' ) );
		return $post_types;
	}

	public function create_styles_folder() {
		$uploads_dir = trailingslashit( wp_upload_dir()['basedir'] ) . 'gutenify/styles';
		if ( ! file_exists( $uploads_dir ) ) {
			wp_mkdir_p( $uploads_dir );
		}
		return true;
		// $fileLocation = $uploads_dir . '/myfile.txt';
		// $file         = fopen( $fileLocation, 'w' );
		// $content      = 'Your text here';
		// fwrite( $file, $content );
		// fclose( $file );
	}

	public function create_styles_file( $name, $content ) {
		$uploads_dir = trailingslashit( wp_upload_dir()['basedir'] ) . 'gutenify/styles';
		if ( file_exists( $uploads_dir ) ) {
			$fileLocation = $uploads_dir . '/style-' . $name . '.css';
			$file         = fopen( $fileLocation, 'w' );
			fwrite( $file, $content );
			fclose( $file );
		}
	}
}
new Gutenify_Actions();

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists