public static function subscribeToEvent($eventModule, $eventName, $module, $callback)
{
trigger_error('Deprecated, all events will be replaced with symfony events', E_USER_DEPRECATED);
// validate
if (!is_callable($callback)) {
throw new \Exception('Invalid callback!');
}
// build record
$item['event_module'] = (string) $eventModule;
$item['event_name'] = (string) $eventName;
$item['module'] = (string) $module;
$item['callback'] = serialize($callback);
$item['created_on'] = self::getUTCDate();
// get db
$db = self::getContainer()->get('database');
// check if the subscription already exists
$exists = (bool) $db->getVar('SELECT 1
FROM hooks_subscriptions AS i
WHERE i.event_module = ? AND i.event_name = ? AND i.module = ?
LIMIT 1', array($eventModule, $eventName, $module));
// update
if ($exists) {
$db->update('hooks_subscriptions', $item, 'event_module = ? AND event_name = ? AND module = ?', array($eventModule, $eventName, $module));
} else {
// insert
$db->insert('hooks_subscriptions', $item);
}
}