From d6f960c6d04f2a2a8c43a39e5aa76673d89fac9d Mon Sep 17 00:00:00 2001 From: David Rothstein Date: Sun, 4 Aug 2013 23:37:20 -0400 Subject: Issue #1575060 followup by SebCorbin, andypost: Second attempt to fix broken ajax_html_ids for forms with file element (encoding=multipart/form-data). --- includes/common.inc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'includes') diff --git a/includes/common.inc b/includes/common.inc index a18cbc545..d2a36be2b 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -3888,14 +3888,14 @@ function drupal_html_id($id) { // requested id. $_POST['ajax_html_ids'] contains the ids as they were // returned by this function, potentially with the appended counter, so // we parse that to reconstruct the $seen_ids array. - if (is_array($_POST['ajax_html_ids'])) { + if (isset($_POST['ajax_html_ids'][0]) && strpos($_POST['ajax_html_ids'][0], ',') === FALSE) { $ajax_html_ids = $_POST['ajax_html_ids']; } else { - // jquery.form.js may send the server a comma-separated string instead - // of an array (see http://drupal.org/node/1575060), so we need to - // convert it to an array in that case. - $ajax_html_ids = explode(',', $_POST['ajax_html_ids']); + // jquery.form.js may send the server a comma-separated string as the + // first element of an array (see http://drupal.org/node/1575060), so + // we need to convert it to an array in that case. + $ajax_html_ids = explode(',', $_POST['ajax_html_ids'][0]); } foreach ($ajax_html_ids as $seen_id) { // We rely on '--' being used solely for separating a base id from the -- cgit v1.2.3