Closed (fixed)
Project:
Flexinode
Version:
4.7.x-1.x-dev
Component:
Miscellaneous
Priority:
Normal
Category:
Bug report
Assigned:
Reporter:
Anonymous (not verified)
Created:
6 Apr 2004 at 12:28 UTC
Updated:
5 Sep 2008 at 18:36 UTC
Jump to comment: Most recent file
Comments
Comment #1
(not verified) commentedAfter doing some digging the problem is down to the SQL query in flexinode_load().
The query returns nothing if a given flexinode field doesn't have a corresponding record in the flexinode_data table (exactly what happens when you add a new flexinode field).
Attached patch fixes the problem by slightly modifying the SQL query.
Comment #2
killes@www.drop.org commentedThanks a lot, I applied the patch both to 4.4. and cvs.
Comment #3
killes@www.drop.org commentedthis is of course fixed now.
Comment #4
(not verified) commentedComment #5
JoranLawrence commentedThis problem still happens when a node is shown in the Flexinode table output. For instance, if you add a new field to flexinode-1 and then view flexinode/table/1 the table will be empty! The data isn't lost however. You just have to go through and edit/submit each node of type flexinode-1 independently and they will be restored to the table.
I believe the problem is buried in the SQL of flexinode_page_table similar to what was going on with flexinode_load.
Comment #6
rcbiggs commentedHas anything been done with this? I could really use a fix for this.
Comment #7
rcbiggs commentedI attempted to make the SQL change, similar to flexinode_load, but it did not seem to correct the bug.
My SQL skills are not that developed, however, so I could have missed something.
I really would benefit from having this defect fixed.
Comment #8
Bèr Kessels commentedComment #9
rcbiggs commentedUpon consulting with a more SQL knowledgable team member, this fix in "flexinode_page_table" works:
Comment out the $where_clauses[] assignment, and incorporate into $table_joins[]...
$table_joins[] = 'LEFT JOIN {flexinode_data} ' . $fieldname . ' ON (n.nid = ' . $fieldname . '.nid AND ' . $fieldname . '.field_id = ' . $field->field_id . ')';
#$where_clauses[] = $fieldname .'.field_id = '. $field->field_id;
This may not be the ideal fix, but it serves my purposes...
I leave the actual (i.e., more elegant) patch/fix to those more proficient than I...
Comment #10
michelleAwesome!
I just asked killes the other day if this was in his queue to fix and he said no so I had resigned myself to not being able to make a couple changes to my flexinode until I had time to sort out the SQL and fix this. Now I don't have to. Thanks!
Michelle
Comment #11
michelleAncient issue... Getting it out of my list. Flexinode is dead.
Michelle