HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/intranet.kauko.lt/wp-content/plugins/wise-chat/wise-chat-core.php
<?php
/*
	Plugin Name: Wise Chat
	Version: 3.3.5
	Plugin URI: https://kainex.pl/projects/wp-plugins/wise-chat
	Description: Fully-featured chat plugin for WordPress. Supports multiple channels, private messages, multisite installation, bad words filtering, themes, appearance settings, avatars, filters, bans and more.
	Author: Kainex
	Author URI: https://kainex.pl
	Text Domain: wise-chat
*/

define('WISE_CHAT_VERSION', '3.3.5');
define('WISE_CHAT_ROOT', plugin_dir_path(__FILE__));
define('WISE_CHAT_NAME', 'Wise Chat');
define('WISE_CHAT_SLUG', strtolower(str_replace(' ', '_', WISE_CHAT_NAME)));

require_once(dirname(__FILE__).'/src/WiseChatContainer.php');
WiseChatContainer::load('WiseChatInstaller');
WiseChatContainer::load('WiseChatOptions');
WiseChatContainer::load('integrations/WiseChatHelper');
add_action('wp_enqueue_scripts', array(WiseChatContainer::get('WiseChat'), 'enqueueResources'));

function wise_chat_load_plugin_textdomain() {
	load_plugin_textdomain('wise-chat', false, basename(dirname(__FILE__)).'/languages/');
}
add_action('plugins_loaded', 'wise_chat_load_plugin_textdomain');

if (WiseChatOptions::getInstance()->isOptionEnabled('enabled_debug', false)) {
	error_reporting(E_ALL);
	ini_set("display_errors", 1);
}

// store path for usage in engines:
WiseChatOptions::storeEngineConfig();

if (is_admin()) {
	// installer:
	register_activation_hook(__FILE__, array('WiseChatInstaller', 'activate'));
	register_deactivation_hook(__FILE__, array('WiseChatInstaller', 'deactivate'));
	register_uninstall_hook(__FILE__, array('WiseChatInstaller', 'uninstall'));
	add_action('wpmu_new_blog', array('WiseChatInstaller', 'newBlog'), 10, 6);
	add_action('delete_blog', array('WiseChatInstaller', 'deleteBlog'), 10, 6);

    /** @var WiseChatSettings $settings */
	$settings = WiseChatContainer::get('WiseChatSettings');
    // initialize plugin settings page:
	$settings->initialize();

	add_action('admin_enqueue_scripts', function() {
		wp_enqueue_media();
		/** @var WiseChat $wiseChat */
		$wiseChat = WiseChatContainer::get('WiseChat');
		$wiseChat->enqueueResources();
		wp_localize_script('wise-chat', '_wiseChatData', array('siteUrl' => get_site_url()));
	});
}

// register action that detects when WordPress user logs in / logs out:
function wise_chat_after_setup_theme_action() {
    /** @var WiseChatUserService $userService */
	$userService = WiseChatContainer::get('services/user/WiseChatUserService');
	$userService->switchUser();
}
add_action('after_setup_theme', 'wise_chat_after_setup_theme_action');

// register chat shortcode:
function wise_chat_shortcode($atts) {
	/** @var WiseChat $wiseChat */
	$wiseChat = WiseChatContainer::get('WiseChat');
	return $wiseChat->getRenderedShortcode($atts);
}
add_shortcode('wise-chat', 'wise_chat_shortcode');

// register chat channel stats shortcode:
function wise_chat_channel_stats_shortcode($atts) {
	$wiseChatStatsShortcode = WiseChatContainer::get('WiseChatStatsShortcode');
	return $wiseChatStatsShortcode->getRenderedChannelStatsShortcode($atts);
}
add_shortcode('wise-chat-channel-stats', 'wise_chat_channel_stats_shortcode');

// chat function:
function wise_chat($channel = null) {
	/** @var WiseChat $wiseChat */
	$wiseChat = WiseChatContainer::get('WiseChat');
	echo $wiseChat->getRenderedChat(!is_array($channel) ? array($channel) : $channel);
}

// register chat widget:
function wise_chat_widget() {
	WiseChatContainer::get('WiseChatWidget');
	register_widget("WiseChatWidget");
}
add_action('widgets_init', 'wise_chat_widget');

add_action('init', array(WiseChatContainer::get('integrations/wordpress/WiseChatBlocks'), 'register'));

// register action that auto-removes images generate by the chat (the additional thumbnail):
function wise_chat_action_delete_attachment($attachmentId) {
	/** @var WiseChatImagesService $wiseChatImagesService */
	$wiseChatImagesService = WiseChatContainer::get('services/WiseChatImagesService');
	$wiseChatImagesService->removeRelatedImages($attachmentId);
}
add_action('delete_attachment', 'wise_chat_action_delete_attachment');

// Endpoints fo AJAX requests:
function wise_chat_endpoint_messages() {
	/** @var WiseChatMessagesEndpoint $wiseChatEndpoints */
	$wiseChatEndpoints = WiseChatContainer::get('endpoints/WiseChatMessagesEndpoint');
	$wiseChatEndpoints->messagesEndpoint();
}
add_action("wp_ajax_nopriv_wise_chat_messages_endpoint", 'wise_chat_endpoint_messages');
add_action("wp_ajax_wise_chat_messages_endpoint", 'wise_chat_endpoint_messages');

function wise_chat_endpoint_past_messages() {
	/** @var WiseChatMessagesEndpoint $wiseChatEndpoints */
	$wiseChatEndpoints = WiseChatContainer::get('endpoints/WiseChatMessagesEndpoint');
	$wiseChatEndpoints->pastMessagesEndpoint();
}
add_action("wp_ajax_nopriv_wise_chat_past_messages_endpoint", 'wise_chat_endpoint_past_messages');
add_action("wp_ajax_wise_chat_past_messages_endpoint", 'wise_chat_endpoint_past_messages');

function wise_chat_endpoint_message() {
	/** @var WiseChatMessageEndpoint $wiseChatEndpoints */
	$wiseChatEndpoints = WiseChatContainer::get('endpoints/WiseChatMessageEndpoint');
	$wiseChatEndpoints->messageEndpoint();
}
add_action("wp_ajax_nopriv_wise_chat_message_endpoint", 'wise_chat_endpoint_message');
add_action("wp_ajax_wise_chat_message_endpoint", 'wise_chat_endpoint_message');

function wise_chat_endpoint_get_message() {
	/** @var WiseChatMessageEndpoint $wiseChatEndpoints */
	$wiseChatEndpoints = WiseChatContainer::get('endpoints/WiseChatMessageEndpoint');
	$wiseChatEndpoints->getMessageEndpoint();
}
add_action("wp_ajax_nopriv_wise_chat_get_message_endpoint", 'wise_chat_endpoint_get_message');
add_action("wp_ajax_wise_chat_get_message_endpoint", 'wise_chat_endpoint_get_message');

function wise_chat_endpoint_maintenance() {
	/** @var WiseChatMaintenanceEndpoint $endpoint */
	$endpoint = WiseChatContainer::get('endpoints/WiseChatMaintenanceEndpoint');
	$endpoint->maintenanceEndpoint();
}
add_action("wp_ajax_nopriv_wise_chat_maintenance_endpoint", 'wise_chat_endpoint_maintenance');
add_action("wp_ajax_wise_chat_maintenance_endpoint", 'wise_chat_endpoint_maintenance');

function wise_chat_endpoint_settings() {
	$wiseChatEndpoints = WiseChatContainer::get('endpoints/WiseChatEndpoints');
	$wiseChatEndpoints->settingsEndpoint();
}
add_action("wp_ajax_nopriv_wise_chat_settings_endpoint", 'wise_chat_endpoint_settings');
add_action("wp_ajax_wise_chat_settings_endpoint", 'wise_chat_endpoint_settings');

function wise_chat_endpoint_prepare_image() {
	/** @var WiseChatUserCommandEndpoint $endpoint */
	$endpoint = WiseChatContainer::get('endpoints/WiseChatUserCommandEndpoint');
	$endpoint->prepareImageEndpoint();
}
add_action("wp_ajax_nopriv_wise_chat_prepare_image_endpoint", 'wise_chat_endpoint_prepare_image');
add_action("wp_ajax_wise_chat_prepare_image_endpoint", 'wise_chat_endpoint_prepare_image');

function wise_chat_endpoint_user_command() {
	/** @var WiseChatUserCommandEndpoint $endpoint */
	$endpoint = WiseChatContainer::get('endpoints/WiseChatUserCommandEndpoint');
	$endpoint->userCommandEndpoint();
}
add_action("wp_ajax_nopriv_wise_chat_user_command_endpoint", 'wise_chat_endpoint_user_command');
add_action("wp_ajax_wise_chat_user_command_endpoint", 'wise_chat_endpoint_user_command');

function wise_chat_endpoint_auth() {
	/** @var WiseChatAuthEndpoint $endpoint */
	$endpoint = WiseChatContainer::get('endpoints/WiseChatAuthEndpoint');
	$endpoint->authEndpoint();
}
add_action("wp_ajax_nopriv_wise_chat_auth_endpoint", 'wise_chat_endpoint_auth');
add_action("wp_ajax_wise_chat_auth_endpoint", 'wise_chat_endpoint_auth');

function wise_chat_admin_user_search() {
	/** @var WiseChatSettings $wiseChatSettings */
	$wiseChatSettings = WiseChatContainer::get('WiseChatSettings');
	$wiseChatSettings->userSearchEndpoint();
}
add_action("wp_ajax_wise_chat_admin_user_search", 'wise_chat_admin_user_search');

function wise_chat_profile_update($userId, $oldUserData) {
	/** @var WiseChatUserService $wiseChatUserService */
	$wiseChatUserService = WiseChatContainer::get('services/user/WiseChatUserService');
	$wiseChatUserService->onWpUserProfileUpdate($userId, $oldUserData);
}
add_action("profile_update", 'wise_chat_profile_update', 10, 2);

function wise_chat_elementor($widgetsManager) {
	/** @var WiseChatElementor $wiseChatElementor */
	$wiseChatElementor = WiseChatContainer::get('integrations/elementor/WiseChatElementor');
	$wiseChatElementor->register($widgetsManager);
}
add_action('elementor/widgets/register', 'wise_chat_elementor');