# supportcandy/3.5.2/deactivation-feedback/class-psm-dfr.php

SupportCandy – AI Customer Support Ticket System &amp; Live Chatbot Agent, version 3.5.2. 77 lines.

- Page: https://pluginprobe.com/plugins/supportcandy/3.5.2/code/deactivation-feedback/class-psm-dfr.php
- Raw: https://pluginprobe.com/plugins/supportcandy/3.5.2/raw/deactivation-feedback/class-psm-dfr.php
- Modified: 2026-08-11T06:49:16+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/supportcandy/3.5.2/code/deactivation-feedback/class-psm-dfr.php#L10-L20`.

```php
<?php
/**
 * PSM Deactivation Feedback Framework
 *
 * @package PSM_DFR
 */

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

if ( class_exists( 'PSM_DFR', false ) ) {
	return;
}

final class PSM_DFR {

	/**
	 * Registered plugins.
	 *
	 * @var array
	 */
	private static $plugins = array();

	/**
	 * Framework booted.
	 *
	 * @var bool
	 */
	private static $booted = false;

	/**
	 * Register plugin.
	 *
	 * @param array $config Plugin configuration.
	 *
	 * @return void
	 */
	public static function init( $config ) {

		$defaults = array(
			'plugin_file'    => '',
			'plugin_name'    => '',
			'plugin_version' => '',
			'endpoint'       => '',
			'api_key'        => '',
			'reasons'        => array(),
		);

		$config = wp_parse_args( $config, $defaults );

		if ( empty( $config['plugin_file'] ) ) {
			return;
		}

		self::$plugins[ $config['plugin_file'] ] = $config;

		if ( self::$booted ) {
			return;
		}

		self::$booted = true;

		require_once __DIR__ . '/class-psm-dfr-admin.php';
		require_once __DIR__ . '/class-psm-dfr-ajax.php';
	}

	/**
	 * Get plugins.
	 *
	 * @return array
	 */
	public static function get_plugins() {
		return self::$plugins;
	}
}

```
