Support from Acquia helps fund testing for Drupal Acquia logo

Comments

mooffie’s picture

Status: Active » Needs review

The code was taken straight from Flag (except the new "$info = _activity_activity_info()" line). I'm marking this "needs review" (though I myself won't be able to work on this: I'm not familiar with Activity).

jcmarco’s picture

Tested and it works fine.
It doesn't require any change in the existing settings.

pribeh’s picture

subscribing.

NathanM’s picture

subscribing

mazdakaps’s picture

subscribing

katbailey’s picture

Version: 6.x-2.x-dev » 7.x-1.x-dev
FileSize
7.47 KB

Not sure if I should have opened a separate issue but here's a start at a D7 patch...

katbailey’s picture

This version of the patch fixes tokenization and allows the patch to be used by drush make (i.e. rolled with --no-prefix).

katbailey’s picture

This patch has just one extra line over the previous one: explicity declaring $realms as an empty array in flag_activity_api() in activity.contrib.module - this was causing my unit test to crap out...

katbailey’s picture

It's amazing the things you find when you try running a few simple tests... here's another fix for the patch (there was a bad query that crapped out with table prefixes)

lesleyfernandes’s picture

subscribing

katbailey’s picture

So it turns out that the whole preparation of objects for tokenization bit was not in good shape at all. Here's yet another patch that hopefully gets this in decent shape. Curious to know if anybody else is waiting for this for D7 or am I the only one?

lesleyfernandes’s picture

I'm also waiting for the new version.

katbailey’s picture

So, the objects created in the loadObjects method aren't only for the purposes of tokenization, we also need to grab the nid of hte activity from one of the objects. Yet another patch, this time overriding the determineNid method, so that it grabs the nid from the flag-action object we created during loadObjects.

Wheeeeeeeeee - having so much fun wiht this patch... all on my lonesome :-P

katbailey’s picture

Fixing a NULL parameter being passed to url() instead of an empty array (this was affecting comment flagging). New patch...
Oh, and no more 2-part patches from me - I haz teh git rebase interactive skillz :-)

katbailey’s picture

I was incorrectly passing an array into user_load (as per the D6 way) causing entiy->load() to barf. New patch...

katbailey’s picture

Yet another minor fix... I was using "current_user" as the message key for the person who performed the flagging - this works when the message is first generated, i.e.when the flagging actually takes place - but when an admin then does a bulk recreation of messages, the "You flagged..." message gets incorrectly set for the admin user who carried out the bulk operation rather than for the person who did the flagging.

katbailey’s picture

With the fix in the previous version, I see no reason not to be able to batch regenerate flag-based activity messages now. Setting batch to TRUE in this version.

g76’s picture

subscribe

pribeh’s picture

Hey, how easy will this be to backport to Activity for D6?

katbailey’s picture

@pribeh my understanding is that the D7 version of activity module is a complete overhaul - I haven't looked at the D6 version at all so I can't say :-/

ngstigator’s picture

using patch from #17, Fatal error: require_once() [function.require]: Failed opening required './sites/all/modules/contrib/activity/modules/flag.activity.inc'

fixed by moving "sites/all/modules/contrib/activity/flag.activity.inc" to "module" subfolder.

thanks for all the work, kat!

ngstigator’s picture

Are there any plans to make available the title of the node that was flagged in the flag entity hook?

katbailey’s picture

To grab the node title of the flagged node, use [flag-action:content-title]. And yes, this should totally appear in the available tokens... ;-)

ngstigator’s picture

Thx Katherine! I had a look at exposing those tokens and it was not intuitively obvious to me :-P

Another hidden token is [flag-action:content-url], so to display as a link we can do this:
<a href="[flag-action:content-url]">[flag-action:content-title]</a>

likewhoa’s picture

subscribing