The domain has been 'comiceasel' since 2012 while the wordpress.org slug is
'comic-easel'. Language packs from translate.wordpress.org are keyed to the
slug, so they could never load; no working translation ever shipped against
the old domain. Renames the domain in every gettext call, in
load_plugin_textdomain(), in both Text Domain headers, and on the lang/
template files, which already carried comic-easel domain markers internally.
Option keys, admin page slugs, nonce actions and style handles that share the
comiceasel prefix are deliberately left alone; only the $domain argument moved.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Widget form() methods printed get_field_id()/get_field_name() straight into
id and name attributes, and the labels used _e(). Wrap the field helpers in
esc_attr(), switch the labels to esc_html_e(), and swap strip_tags() for
wp_strip_all_tags() on the stored titles. Adds the matching test stubs.
Assembled markup ($before_widget, filtered titles, $output) is left alone;
escaping it would change what existing sites render.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
None of the plugin's PHP files checked that they were loaded through
WordPress, so requesting one directly executed it with none of core loaded.
The result is a fatal error on the first undefined function, which depending
on the server's display_errors setting discloses the filesystem path and
details of the PHP configuration.
Add the standard guard to every file. Files opening with PHP get it as their
first statement, after the plugin header comment in the main file, which
WordPress parses and which must stay put. The admin page templates that open
with markup get it as a leading one-line block, with no whitespace before it
that would break header output.
Also required by the WordPress.org plugin guidelines.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
replaced some home_url with admin_url for admin location links in the admin_meta
restored the protect/unprotect but renamed them ceo_protect ceo_unprotect, wp_reset_query was having 'issues'
added injection of the comic-easel version number as a meta tag for the <head> section
fixed some injection code where it was returning at the wrong time for the post-info
started working on adding chapter= references to the cast-page (not working yet, don't use)