Using Dependencies in Logic Hooks
Overview
Dependencies can not only be executed on the server side but can be useful entirely on the server. For example, you could have a dependency that sets a rating based on a formula defined in a language file.
<?php
require_once "include/Expressions/Dependency.php";
require_once "include/Expressions/Trigger.php";
require_once "include/Expressions/Expression/Parser/Parser.php";
require_once "include/Expressions/Actions/ActionFactory.php";
class Update_Account_Hook
{
function updateAccount($bean, $event, $args)
{
$formula = translate('RATING_FORMULA', 'Accounts');
$triggerFields = Parser::getFieldsFromExpression($formula);
$dep = new Dependency('updateRating');
$dep->setTrigger(new Trigger('true', $triggerFields));
$dep->addAction(ActionFactory::getNewAction('SetValue', array(
'target' => 'rating',
'value' => $formula
)));
$dep->fire($bean);
}
}