Publisher does not support the Fluid field type. Please do not contact asking when support will be available.

If you purchased an add-on from expressionengine.com, be sure to visit boldminded.com/claim to add the license to your account here on boldminded.com.

Ticket: “Disallowed Key Characters.” when creating a new language

Status Resolved
Add-on / Version Publisher 1.6.3
Severity
EE Version v2.8.1 - Build Date: 20140314

A2 Hosting

Jun 17, 2015

I get a white screen with the text “Disallowed Key Characters.” after clicking the save button when adding a new language. Here is the url of the page after the form submission: http://int-web.a2hosting.com/admin.php?/cp?admin.php?/cp/addons_modules/show_module_cp?module=publisher&method=language_manage&S=784f9b789b238d46ecdaae017b15eee8&S=784f9b789b238d46ecdaae017b15eee8

Here are my steps:

1) I go to Add-ons -> Modules -> Publisher, then select the “Languages” tab which brings me to this url: http://int-web.a2hosting.com/admin.php?/cp/addons_modules/show_module_cp?module=publisher&method=languages&S=784f9b789b238d46ecdaae017b15eee8

2) Click “Add new language”, takes me to this page: http://int-web.a2hosting.com/admin.php?/cp/addons_modules/show_module_cp?module=publisher&method=language_manage&S=784f9b789b238d46ecdaae017b15eee8

3) Fill out the form with the info in the attachment below, and click submit

4) I get a blank white page with the text “Disallowed Key Characters.”. I changed my settings per your “White screen of death” instructions and didn’t get any further error messages.

#1

BoldMinded (Brian)

Can you fill out the Support form in the Publisher module so I can see some of your config values?

#2

A2 Hosting

When I fill out the Support Form I get the same error message, “Disallowed Key Characters.”.

Here is the url of the results page: http://int-web.a2hosting.com/admin.php?/cp?admin.php?/cp/addons_modules/show_module_cp?module=publisher&method=support&S=784f9b789b238d46ecdaae017b15eee8&S=784f9b789b238d46ecdaae017b15eee8

#3

BoldMinded (Brian)

Ok, can you tell me what your config look like? What is your site_url and cp_url parameters set to?

#4

A2 Hosting

Comment has been marked private.

#5

A2 Hosting

Comment has been marked private.

#6

BoldMinded (Brian)

I haven’t been keen on doing this lately, but would you mind providing FTP and CP access to an environment that this occurs in? Make sure the publisher module folder and files are writable by the FTP account provided b/c I’ll need to do some debugging to figure this out. I can’t, and have never been able, to replicate this locally and I’ve gotten this report a couple of times from people.

#7

BoldMinded (Brian)

Edit the ticket to attach FTP info.

#8

A2 Hosting

Let me know the IP address you would be coming from so I can grant you access.

#9

BoldMinded (Brian)

Comment has been marked private.

#10

A2 Hosting

Comment has been marked private.

#11

BoldMinded (Brian)

I’m honestly not sure. Thats the address Comcast gave me. I used to have an IPv4 but looks like it recently changed.

Would it be possible to just open up access for a few days while I get a chance to debug it then lock it down again?

#12

A2 Hosting

I got the new language creation form to work by making this change in Chrome’s dom inspector. (I removed the “/cp?admin.php?”)

<form acti method=”post” id=”phrase_manage”>

<form acti method=”post” id=”phrase_manage”>

I can look into your source code to figure out why the url is incorrect, but wanted to check with you if you can let me know what file/line number I should check to save me some time in debugging.

#13

BoldMinded (Brian)

The area I was looking to debug if I got access to your system would be libraries/Publisher/helpers/publisher_helper_url.php line ~86. The get_cp_url() function. I think the problem lies in there somewhere.

#14

BoldMinded (Brian)

The fix for this is to grab the cp_url() function from expressionengine/helpers/EE_url_helper.php from a version of EE greater than 2.8.1. Here is the code from 2.10 which works just fine. Replace that function with this and it will work:

function cp_url($path, $qs = '', $force_base_cp_url = FALSE)
{
 $path = trim($path, '/');
 $path = preg_replace('#^cp(/|$)#', '', $path);

 if (is_array($qs))
 {
  $qs = http_build_query($qs, AMP);
 }

 $s = ee()->session->session_id();

 if ($s)
 {
  // Remove AMP from the beginning of the query string if it exists
  $qs = preg_replace('#^'.AMP.'#', '', $qs.AMP.'S='.$s);
 }

 $path = rtrim('?/cp/'.$path, '/');

 $base = (REQ == 'CP' && ! $force_base_cp_url) ? SELF : ee()->config->item('cp_url');

 return $base.$path.rtrim('&'.$qs, '&');
}
#15

A2 Hosting

Comment has been marked private.

#16

BoldMinded (Brian)

Comment has been marked private.

#17

A2 Hosting

I installed the patch you sent and it seems to be working fine now, thanks.

Login to reply