PDA

View Full Version : Help with pulling custom userfield data


Mark.B
10-17-2009, 08:29 AM
Ok, I like to work things out for myself but I'm stuck!

I have created a custom profile field to enable users to set a "display name" which, in certain locations, replaces their normal username. (We switch this on for weekends at a time for a bit of fun).

Over the months I have gradually hacked about with both plugins and php files, modifying queries and templates so that the custom field shows up in various places if the user has one set.

Now, I know how to structure the queries etc, no issues there.

Currently I have it working in the following places:

Posts
Getdaily/Getnew
Member list
Who's Online (forumhome)
Who's Visited (Paul M hack)
Who's Posted (Paul M hack)

This covers most of the places I really want it to work.

However, the one bit I cannot fathom, is the lastpostinfo section of the forumbits on forum home.

I know the variable I need to play with is $lastpostinfo[lastposter], but for the life of me I cannot work out where the query is that sets this variable, so that I can add in the custom profile field.

Anyone got any ideas?

Lynne
10-17-2009, 02:54 PM
I *think* that information is grabbed when you grab the $forumcache (look at the bottom of the index.php page). So, there isn't really a query, it's in the cache. I'm not sure if that helps you at all.

Mark.B
10-17-2009, 04:27 PM
I *think* that information is grabbed when you grab the $forumcache (look at the bottom of the index.php page). So, there isn't really a query, it's in the cache. I'm not sure if that helps you at all.
Sort of....I had a horrid feeling it was going to be something like that.

I guess that means, in practical terms, I can't really modify it?

Lynne
10-17-2009, 04:41 PM
I would imagine you can modify the template. Have you tried that?

Mark.B
10-17-2009, 04:50 PM
I would imagine you can modify the template. Have you tried that?
I can do the template, but I need to change the database query so it pulls the information from the relevant custom profile field (fieldxx) as well as the standard username.

If I can get that query in somewhere (modifying an existing one actually else it will add queries to the page) I can use a template conditional to display the correct username.

Lynne
10-17-2009, 05:51 PM
Ah, I see the problem. Hmmmm. I'm not really sure how to do that without adding an extra query in there per Last Post. Or, just don't show the username for the Last Post when you are running the board in that 'mode'.

Mark.B
10-17-2009, 06:19 PM
Ah, I see the problem. Hmmmm. I'm not really sure how to do that without adding an extra query in there per Last Post. Or, just don't show the username for the Last Post when you are running the board in that 'mode'.
I suppose it would be ok to add a query, as long as it could be made just one query for the whole lot, as opposed to one query for each forumbit. Not sure if that's achievable though, nor where to "hook" it.

Lynne
10-17-2009, 06:59 PM
I don't think you can hook it. I think you would have to hard code it. You would want to look at the function construct_forum_bit.

Mark.B
10-17-2009, 10:21 PM
I don't think you can hook it. I think you would have to hard code it. You would want to look at the function construct_forum_bit.
Thanks, that's the pointer I need....I'll have a play with this next week and see if I can crack it. I'm no expert coder but I usually manage to cobble it together eventually.