<?php

function cmt_styles() {
    wp_register_style( 'custom-styles', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'custom-styles' );
}
add_action('wp_enqueue_scripts', 'cmt_styles');

function cmt_block_styles() {
	add_theme_support( 'editor-styles' );
	add_theme_support( 'wp-block-styles' );
	add_editor_style( 'styles.css' );
}
add_action( 'after_setup_theme', 'cmt_block_styles' );

function cmt_pattern_categories() {
	register_block_pattern_category(
		'cmt',
		array( 'label' => __( 'CMT Engineering', 'cmt' ) )
	);
}
add_action( 'init', 'cmt_pattern_categories' );


/*== DISABLE COMMENTS  ==*/
add_action('admin_init', function () {
	// Redirect any user trying to access comments page
	global $pagenow;
	 
	if ($pagenow === 'edit-comments.php') {
			wp_safe_redirect(admin_url());
			exit;
	}

	// Remove comments metabox from dashboard
	remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');

	// Disable support for comments and trackbacks in post types
	foreach (get_post_types() as $post_type) {
			if (post_type_supports($post_type, 'comments')) {
					remove_post_type_support($post_type, 'comments');
					remove_post_type_support($post_type, 'trackbacks');
			}
	}
});

// Close comments on the front-end
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);

// Hide existing comments
add_filter('comments_array', '__return_empty_array', 10, 2);

// Remove comments page in menu
add_action('admin_menu', function () {
	remove_menu_page('edit-comments.php');
});

// Remove comments links from admin bar
add_action('init', function () {
	if (is_admin_bar_showing()) {
			remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
	}
});

/*== END DISABLE COMMENTS ==*/

/*== ENABLE SVG UPLOADS ==*/
// Allow SVG
add_filter( 'wp_check_filetype_and_ext', function($data, $file, $filename, $mimes) {

  global $wp_version;
  if ( $wp_version !== '4.7.1' ) {
     return $data;
  }

  $filetype = wp_check_filetype( $filename, $mimes );

  return [
      'ext'             => $filetype['ext'],
      'type'            => $filetype['type'],
      'proper_filename' => $data['proper_filename']
  ];

}, 10, 4 );

function cc_mime_types( $mimes ){
  $mimes['svg'] = 'image/svg+xml';
  return $mimes;
}
add_filter( 'upload_mimes', 'cc_mime_types' );

function fix_svg() {
  echo '<style type="text/css">
        .attachment-266x266, .thumbnail img {
             width: 100% !important;
             height: auto !important;
        }
        </style>';
}
add_action( 'admin_head', 'fix_svg' );

/*== END ENABLE SVG UPLOADS ==*/

// remove stock wordpress patterns
function remove_core_patterns() {
	remove_theme_support('core-block-patterns');
}
add_action('after_setup_theme', 'remove_core_patterns');