I do have the same problem. When I try to open a ESS url, I get following error message:
This page contains the following errors:
error on line 27 at column 54: PCDATA invalid Char value 3
Below is a rendering of the page up to the first error.
Same problem here. Trying to debug, need to resolve ASAP
My understanding is that this is some type of XML validation error in which there is perhaps some unicode character that is not being removed (filtered out) upon validation.
However, I don’t understand why, indeed, this would be caused by an upgrade to WordPress 4.3 (as it seems to be the case). I wonder if underlying shared XML / RSS / other feed libraries are the issue.
Will post updates if I have any.
To the plugin author:
You have a badly formed callback here that I am surprised was even allowed in the plugins directory.
$string = preg_replace('~&#([0-9]+);~e', 'chr(\\1)', $string );
Style problems aside, this pattern is converting decimal entity references into PHP octal integer literals.
The result is that, for example, "&038;" would be replaced by "\3"
Hi Robert,
Thanks for your message.
The bug tracking is manage under GitHub: https://github.com/essfeed/wordpress-events-manager-ess/issues/7
This issue can be solved by removing the unnecessary controlling function self::unhtmlentities().
Before WordPress 4.3 the internal WordPress function esc_html() didn’t handled all circumstances (international char encoding in strict UTF-8 XML file) and that’s why it was necessary to reformat some chars according to their decimal bits.
Now the esc_html() function do the job so the self::unhtmlentities() duplicate the encoding…
I’m checking and correcting other bugs coming from the WP 4.3 update and the EventManager update.
If those of you who knows how to code can come back to me to see if removing the self::unhtmlentities() call at the line 64 of the file ../wp-contents/plugins/events-manager-ess/inc/views/ESS_Feed.php work fine (and if you see other bugs),
I will publish the new version in some hours.
Thanks
Unclear.
Do you mean remove the entire line
$event_url = self::unhtmlentities( esc_html( urldecode( $EM_Event->guid ) ) );
or just change it to
$event_url = esc_html( urldecode( $EM_Event->guid ) ));
For me, the first variant gives me the calendar page, not the xml. The second gives me a blank page.
I’m running on version 1.2
Any news?
Change the line to:
$event_url = esc_html( urldecode( $EM_Event->guid ) );
I can confirm that this does fix the PCDATA error, I now see an event feed when I click on the orange icon.
It does not fix my error. I have version 1.21 of the Events Manager ESS which has been syncing to mutliple sites for a couple years. It broke about 30 days ago. Any help? Below is the error my ESS feed displays.
Fatal error: Uncaught exception ‘Exception’ with message ‘Error[people]: The XML element < uri > have an invalid content: ‘www.techfourlife.com’, please control the correct syntax in ESS DTD.’ in /home/srwoods/public_html/wp-content/plugins/events-manager-ess/inc/libs/ess/EventFeed.php:418 Stack trace: #0 /home/srwoods/public_html/wp-content/plugins/events-manager-ess/inc/libs/ess/EventFeed.php(762): EventFeed->addElement(‘people’, ‘organizer’, NULL, NULL, Array, 0) #1 /home/srwoods/public_html/wp-content/plugins/events-manager-ess/inc/views/ESS_Feed.php(347): EventFeed->addPeople(‘organizer’, Array) #2 /home/srwoods/public_html/wp-content/plugins/events-manager-ess/inc/models/ESS_IO.php(149): ESS_Feed::output(”, ”, false, false) #3 [internal function]: ESS_IO::set_ess_feed_handler(”) #4 /home/srwoods/public_html/wp-includes/plugin.php(503): call_user_func_array(Array, Array) #5 /home/srwoods/public_html/wp-settings.php(353): do_action(‘init’) #6 /home/srwoods/public_html/wp-config.php(99): require_once(‘/home/srwoods/ in /home/srwoods/public_html/wp-content/plugins/events-manager-ess/inc/libs/ess/EventFeed.php on line 418
Hi @tech4life.
the error you’ve go at the line 418 of /home/srwoods/public_html/wp-content/plugins/events-manager-ess/inc/libs/ess/EventFeed.php:418
comes from that the url you have used for your feed doesn’t match the Regular Expression:
/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i
Which mean that it have to start by http://… or https://… or ftp://…