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>
Same pass over the wp-admin screens: _e() becomes esc_html_e() (esc_attr_e()
inside attribute values), echoed __() becomes esc_html__(), and the scanned
paths, filenames and term ids they interpolate get esc_html().
Also gives the taxonomy filter dropdown a real translatable string; it built
its label by concatenation, so it had no text domain and could not be
translated.
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>
- Replace deprecated ${var} string interpolation with {$var} (deprecated
in PHP 8.2) in ceo-import.php and widgets/comic-calendar.php
- Remove default value from optional-before-required parameter $empty in
ceo_chapters_add_column_value() (deprecated in PHP 8.0)
- Pass explicit $flags to html_entity_decode() in displaycomic.php, since
the default changed in PHP 8.1
- Convert PHP4-style constructor in functions/casthover.php to
__construct() (PHP4-style constructors removed in PHP 8.0)
All files now pass php -l on PHP 8.5 and a PHPCompatibility scan with
testVersion 8.0- with zero errors and zero warnings.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>