1 edb Jan 19, 2008 21:22
3 afwas Jan 20, 2008 01:21
It does work as advertised and it should.
The author_User is a registered user. The get('nickname') and get('email') are stored in the DB for this registered user.
Are you sure you used a registered user who's nickname and email is known when you tried this at home?
It works if I make myself known through openD. It checks the user DB for a user with *this* openID.
Only thing I didn't check is a not known user signing in with openID. Try me at http://www.blog.hemminga.net/index.php?blog=9&blog=9&title=title-4&disp=single&more=1&c=1&tb=1&pb=1#c377 . openID may be able to provide email if you allow it to. It is a setting at my getopenid.com. I think this scenario is similar to your failed attempt with openID together with the wonderful Visiglyph plugin.
openID rocks. http://www.blog.hemminga.net/rsc/smilies/smiley_fruitcake.gif
4 edb Jan 20, 2008 01:49
In my test I was unknown to my blog, so it failed. The full check that I pasted a bit of above is as follows:
if( $params['Comment']->get('author') == '' ) {
$this_name = $params['Comment']->author_User->get('nickname');
$this_email = $params['Comment']->author_User->get('email');
} else {
$this_name = $params['Comment']->get('author');
$this_email = $params['Comment']->get('author_email');
}
FIRST TIME commenters via OpenID are simply not known to the database at all, even though they get stuck in the database in the same way that a regular "non member commenter" would be placed. More to the immediate issue: I do not have author and email info available in the traditional manner when the info is injected into the database. I believe the problem is that I'm using params to do this even though using params is the right way. I simply don't know what OpenID is returning, or more accurately I don't know how to intercept the name and email fields that OpenID is returning and therefore can't imagine how to work with it.
Even if I could get past the name and email parts I'll then be up against the IP address. I *think* it would still be the originator's IP, but I don't know that for sure.
What I really need is to know *exactly* what information OpenID is returning for both a first-timer and a returner. THEN I could make Visiglyphs jump through every hoop on the planet to get it done.
Maybe on display I should render the stored info into a glyph? The back of my brain says too much rendering slows down the page delivery, but if that's the only route...
Ah well. For me on my blog I'd rather have my glyphs than offer visitors the convenience of OpenID. But dammit I want BOTH! Perhaps I should try to find blueyed in IRC or the list?
Okay changed my mind. Dropped visiglyphs and commented on my blog via my OpenID - it worked as one would expect. I snagged the view source page but I don't think that'll be enough info for me to work with on figuring this out.
Maybe visiglyphs should be a renderer instead of actively and permanently altering the comment prior to sticking it in the database, but somehow I think visiglyphs can learn "if there is an element on the page with id=ffield_openid_url then do things differently" but I honestly don't know what it would do other than use the hook it's using prior to committing to the database.
I should test the priority bits ?