I have the block "Facebook-style Status" inserted in a panel page. Upon submitting a status, I receive the following error message:
warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'rules_input_evaluator_php_apply' was given in /var/www/sites/all/modules/rules/rules/rules.input_evaluators.inc on line 55.
warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'rules_input_evaluator_php_apply' was given in /var/www/sites/all/modules/rules/rules/rules.input_evaluators.inc on line 55.
The status updates weren't appearing on my Heartbeat activity log, but then I saw a Trigger rule that needed to be enabled. Once I did that, I received the error above. The status is not logged with Heartbeat.
I started out with the current recommended stable version of Facebook-style Status and Heartbeat modules.
I'm now using the current dev version of Facebook-style Satus, the current recommended version of the Rules module, Heartbeat (current dev version) and still receiving the same error message.
| Comment | File | Size | Author |
|---|---|---|---|
| #3 | fbss_rule.txt | 1.03 KB | icecreamyou |
Comments
Comment #1
icecreamyou commentedThis is unlikely to be FBSS's fault. The only thing FBSS has to do with this is telling Rules when it should execute the relevant Rule; it has nothing to do with evaluating the rule itself.
I've attached a rule that you can import to demonstrate this for yourself. It just shows a system message when a status is submitted. There should be no problems.
So, moving to the Heartbeat queue. But I don't know how you could possibly expect this issue to be solved if you don't export your rule so a maintainer can try to replicate your problem.
Comment #2
icecreamyou commentedComment #3
icecreamyou commentedLet's try that attachment again.
Comment #4
Stalski commentedAs IceCreamYou said, really would need the rule you use.
I don't think this is related to fb_status or heartbeat as it is rules that tries to run "rules_input_evaluator_php_apply". As heartbeat only has two actions and none of them involve custom php code, i would try with the rule of IceCreamYou or diff it with yours.
I can certainly provide you default rules you can use as well. They seem to work just fine for me (with dev version as well). So i am leaving this with status "need more info" because I am willing to help if you provide more info on your specific problem.
regards,
Stalski
Comment #5
Stalski commentedFeel free to reopen this if it turns out to the a heartbeat issue.
Comment #6
teleted commentedSorry I was not clear. I enabled the rule that was supplied by Facebook-Style Status. I did not modify it other than to check the checkbox that said to enable the rule.
Here is an export of the rulesets for Facebook-style Status:
I imported your rule and it displayed "Hello, world."
My site's Facebook-Style Rules Export:
Comment #7
icecreamyou commentedWell obviously you have to add an action to log the status message to heartbeat. And your exported rule is not the same as the default, which is probably related to your error.
Delete the watchdog message action and add an action to record a message to heartbeat.
Comment #8
teleted commentedYes, I understand more configuration is necessary, but that rule wasn't created by me, and I can repeat the error by reverting the rule and then re-activating it. I don't know why it doesn't match your export since it surely came from your module.
It just seems to me that a default rule as a placeholder should not generate an error message. Maybe "Log to watchdog" should be replaced (since it fails) with displaying a custom message indicating the admin should add an appropriate action. Or no action at all.
But I'll close the issue since you don't think it's a bug. Thanks for the quick response.
Comment #9
icecreamyou commentedI can't reproduce the error you're experiencing, and your export is not what's in the module. (The default rules haven't been changed since Beta 4, which was over 11 months ago.) It's also a rule that's unrelated to Heartbeat -- it is supposed to log a message to your Drupal DB Log.
I can try to help you figure out why you're not seeing the same rule that's in the module if you'd like, although without you having changed it (or unless you're using some very weird version of Rules) I really have no idea why that would be.
Comment #10
jamesfk commentedHave you tried turning on the PHP input format filter? That did the trick for me :)
Comment #11
scw commentedyes, for me too, thx btw...
Comment #12
totocol commentedThanks too!
Comment #13
eidoscomthat's it!!!
enabling the PHP filter on modules also worked for me and seems to be the solution ;)