Specifications:
Clean Drupal 6 installation
CCK: content
Views
Views UI
Forum
Jquery Update

Problem:
When posting a new forum topic in a forum with more than 1 poll option, I get the following message:

warning: Illegal offset type in isset or empty in C:\xampp\htdocs\pollfieldtest\modules\taxonomy\taxonomy.module on line 1039.
warning: Illegal offset type in C:\xampp\htdocs\pollfieldtest\modules\taxonomy\taxonomy.module on line 1040.
warning: Illegal offset type in C:\xampp\htdocs\pollfieldtest\modules\taxonomy\taxonomy.module on line 1043.
warning: Illegal offset type in C:\xampp\htdocs\pollfieldtest\modules\taxonomy\taxonomy.module on line 607.

Comments

Anonymous’s picture

Just noticed that I get the same error when disabling both the browser's javascript and the Jquery Update module. So it is not Jquery Update related.

Anonymous’s picture

UPDATE:
It's related to the forum vocabulary. Adding the forum vocabulary to a new content type results in the same Taxonomy error. Standard vocabularies on a new content type show no issues.

andreanchor’s picture

I have the exact same issue. Only difference is that I'm using Advanced forum instead of the core Forum module. I can't seem to find a workaround for it so any help would be much appreciated. It is definitely somehow connected with forum vocabulary...

bryan kennedy’s picture

Priority: Normal » Major

I can confirm that this is still happening in the latest dev. Steps to reproduce:

1. Enable the core forum module
2. Add some terms to the forum vocabulary
3. Add more than one pollfield to the forum content type
4. Create a new forum topic filling out all of the pollfields.

Latest errors are:

warning: Illegal offset type in isset or empty in path_to_drupal/modules/taxonomy/taxonomy.module on line 1039.
warning: Illegal offset type in path_to_drupal/modules/taxonomy/taxonomy.module on line 1040.
warning: Illegal offset type in path_to_drupal/modules/taxonomy/taxonomy.module on line 1043.
warning: Illegal offset type in path_to_drupal/modules/taxonomy/taxonomy.module on line 607.
crystaldawn’s picture

To expedite this, here is the Proper reproduction process.

reproduction MINIMUMS:
D6 6.22 Or dev, happens on both
CCK 2.9 There is no dev for 2.x, so unable to test that
Views 2.16 Or dev, happens with both
Pollfield DEV OR Production, doesnt matter which

login as admin of course
enable forum
enable pollfield (which also enables views/cck)
create a new forum

Create a pollfield on content type "forum topic"
START to create a new forum topic (DONT SAVE THE NODE!!!)
Fill in all "poll" fields that are shown (nothing happens yet)
Click "More Choices" poll responses (THIS causes the error)
Click BACK/Refresh and you will see the error that was created.

On most installs I've seen, the error shows up right on the node edit page itself. But in this test case, it did not. To see the error I had to click back and refresh in order to see the error. Clicking forward and then clicking Add More will cause it to error again which you can see by going back.

It needs to be noted that this ONLY happens on nodes that are not yet saved!!! If you "Edit" a topic node and try to click "More Choices", it will function perfectly. This tells me that this error is coming up because the node is not yet saved. I believe somewhere there is a call to load the node by some sort of taxonomy call on a node that doesnt yet exist. Once I find that, removing that call will likely fix this issue. Its just a guess at this point, but thats what I am expecting to run into. I will attempt to find a fix for this issue, but no guarantees :P

crystaldawn’s picture

Title: pollfield + forum + jquery_update = taxonomy error » pollfield + CCK + views = taxonomy error
Assigned: Unassigned » crystaldawn
Priority: Major » Minor
crystaldawn’s picture

Assigned: crystaldawn » Unassigned
Priority: Minor » Critical

This issue is caused by the use of // Build, validate and if possible, submit the form.
drupal_process_form($form_id, $form, $form_state); on line 1187 of the pollfield.module file. You cannot use this on nodes that do NOT yet exist. You need to recode your module to either create a dummy node and then replace values in it, or find a different method of doing this. The quickest way to create a fix for this without recoding it to not use drupal_process_form() is to use var_dump() on an EXISTING node, grab both $form and $form_state and dump them to a tmp file. Then copy/paste the results and save them as $form = VAR_DUMP RESULT OF $FORM and do the same for $form_state. Then simply replace the values with whats required.

I dont have the time to mess with something like this, but the bottom line is, your module is pretty much coded wrong in the first place. You should not be using drupal_process_form() to begin with. This is also causing other problems I bet. Have you noticed any missing values or the ability to not add more than 3 choices? These are all caused from this issue of using the drupal_process_form() improperly.

I'm unassigning myself from this issue since it's a fix that is to time consuming for me to do at the moment and changing it to CRITICAL because this severely breaks your module in more ways than you could possibly imagine. If you fix any bugs with your module, this one should be at the top of your list :D It'll probably clear out half of your issue queue. Good luck. This should get you going in the right direction on fixing this and many other issues I've seen in your queue.

crystaldawn’s picture

It should also be noted that the core Poll module had this exact same problem. I posted a fix for it there, I assume the same fix MIGHT work on this module as well, but I cant be sure. Give it a try and see what happens :D

http://drupal.org/node/1371248