=== Antarnisti Smiley for Kaskus ===
Contributors: antarnisti
Tags: smiley, emoticon, comments, emoji, classic-editor
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 2.5.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Adds an Antarnisti smiley shortcode set for Kaskus-style emoticons to WordPress posts, comments, the Classic Editor, and the comment form.

== Description ==

Antarnisti Smiley for Kaskus adds a collection of smiley shortcodes for Kaskus-style emoticons to WordPress content and comments. It also provides a Classic Editor button and an optional smiley picker below the comment textarea.

This plugin is not affiliated with, endorsed by, sponsored by, or officially connected to Kaskus. Kaskus is a trademark/project name of its respective owner. The name is used only to describe the style and compatibility target of the smiley set.

This 2.5.0 maintenance build changes the plugin name and text domain to a clearer third-party naming pattern, keeps the cleaned-up codebase for newer WordPress versions, and sanitizes the smiley HTML returned by content/comment callbacks.

It also includes an option to disable WordPress native emoji scripts and styles, which is useful when this plugin is used as the site's primary smiley/emoji system.

Important asset note: this package contains Kaskus-style image assets. Before distributing this plugin publicly, make sure every bundled image asset has a GPL-compatible license or written permission for redistribution under WordPress.org plugin directory rules.

== Installation ==

1. Upload the `antarnisti-smiley-for-kaskus` folder to the `/wp-content/plugins/` directory, or upload the ZIP through Plugins > Add New > Upload Plugin.
2. Activate the plugin through the Plugins menu in WordPress.
3. Configure the settings via the Antarnisti Smiley for Kaskus admin menu.

== Frequently Asked Questions ==

= Is this an official Kaskus plugin? =

No. This plugin is not affiliated with, endorsed by, sponsored by, or officially connected to Kaskus.

= Does this support the block editor? =

The content replacement works on rendered post content. The editor picker is designed for the Classic Editor/media button flow.

= Why do I not see the smiley picker near comments? =

The picker is injected through `comment_form_defaults`. If a theme uses a fully custom comment form instead of WordPress `comment_form()`, the picker may not appear.

= Should I also use a separate disable WordPress emoji plugin? =

No. Antarnisti Smiley for Kaskus includes a setting to disable WordPress native emoji scripts and styles. Using a separate plugin for the same task is unnecessary.

== Changelog ==

= 2.5.4 =
* Fixed oversized admin menu icon by switching the menu icon to a WordPress Dashicon.

= 2.5.3 =
* Fixed a frontend timeout issue by caching the sanitized smiley replacement map per request.

= 2.5.2 =
* Fixed oversized admin menu icon by switching to a WordPress Dashicon.

= 2.5.1 =
* Renamed the main plugin class and constants to use the Antarnisti plugin prefix.

= 2.5.0 =
* Renamed the plugin to Antarnisti Smiley for Kaskus and changed the text domain/slug to `antarnisti-smiley-for-kaskus`.
* Added clearer unaffiliated third-party naming and disclaimer text.
* Replaced the admin/menu button icon with the Antarnisti icon instead of a Kaskus logo-style image.
* Sanitized smiley HTML returned by content and comment callbacks before replacement.

= 2.5.1 =
* Renamed the main plugin class and constants to use the Antarnisti plugin prefix.

= 2.5.0 =
* Fixed WordPress Plugin Check warnings/errors: stricter input handling, escaped smiley HTML output calls, prefixed global variables in smiley lists, simplified emoji DNS prefetch removal, and direct-access protection for index files.

= 2.4.0 =
* Renamed plugin from Kaskus Smiley to Antarnisti Smiley for Kaskus.
* Renamed the plugin folder and main plugin file for cleaner branding.
* Added an admin setting to disable WordPress native emoji scripts and styles.
* Updated readme metadata and visible plugin labels.

= 2.3.0 =
* Removed direct wp-config.php loading from the old wizard flow.
* Replaced the old wizard URL with an admin-hook based Thickbox modal for the Classic Editor.
* Added nonce and capability checks to settings saving.
* Sanitized saved options and validated disabled smiley keys.
* Escaped admin output and plugin-generated URLs/attributes.
* Replaced hardcoded /wp-content/plugins URLs with plugin_dir_url().
* Enqueued CSS and JS through WordPress APIs.
* Removed default frontend author backlink behavior.
* Updated plugin headers and readme metadata.

= 2.0.1 =
* Previous public version.
