require_once $file;
$c = new \CachedCiviContainer();
- $c->set('service_container', $c);
return $c;
}
'Civi\Angular\Manager',
array()
))
- ->setFactoryService(self::SELF)->setFactoryMethod('createAngularManager');
+ ->setFactory(array(new Reference(self::SELF), 'createAngularManager'));
$container->setDefinition('dispatcher', new Definition(
'Civi\Core\CiviEventDispatcher',
array(new Reference('service_container'))
))
- ->setFactoryService(self::SELF)->setFactoryMethod('createEventDispatcher');
+ ->setFactory(array(new Reference(self::SELF), 'createEventDispatcher'));
$container->setDefinition('magic_function_provider', new Definition(
'Civi\API\Provider\MagicFunctionProvider',
'Civi\API\Kernel',
array(new Reference('dispatcher'), new Reference('magic_function_provider'))
))
- ->setFactoryService(self::SELF)->setFactoryMethod('createApiKernel');
+ ->setFactory(array(new Reference(self::SELF), 'createApiKernel'));
$container->setDefinition('cxn_reg_client', new Definition(
'Civi\Cxn\Rpc\RegistrationClient',
array()
))
- ->setFactoryClass('CRM_Cxn_BAO_Cxn')->setFactoryMethod('createRegistrationClient');
+ ->setFactory('CRM_Cxn_BAO_Cxn::createRegistrationClient');
$container->setDefinition('psr_log', new Definition('CRM_Core_Error_Log', array()));
'type' => array('*memory*', 'SqlGroup', 'ArrayCache'),
),
)
- ))->setFactoryClass('CRM_Utils_Cache')->setFactoryMethod('create');
+ ))->setFactory('CRM_Utils_Cache::create');
}
$container->setDefinition('sql_triggers', new Definition(
));
$container->setDefinition('pear_mail', new Definition('Mail'))
- ->setFactoryClass('CRM_Utils_Mail')->setFactoryMethod('createMailer');
+ ->setFactory('CRM_Utils_Mail::createMailer');
if (empty(\Civi::$statics[__CLASS__]['boot'])) {
throw new \RuntimeException("Cannot initialize container. Boot services are undefined.");
$container->setDefinition($name, new Definition(
$class
))
- ->setFactoryClass($class)->setFactoryMethod('singleton');
+ ->setFactory(array($class, 'singleton'));
}
+ $container->setDefinition('civi.activity.triggers', new Definition(
+ 'Civi\Core\SqlTrigger\TimestampTriggers',
+ array('civicrm_activity', 'Activity')
+ ))->addTag('kernel.event_listener', array('event' => 'hook_civicrm_triggerInfo', 'method' => 'onTriggerInfo'));
+
+ $container->setDefinition('civi.case.triggers', new Definition(
+ 'Civi\Core\SqlTrigger\TimestampTriggers',
+ array('civicrm_case', 'Case')
+ ))->addTag('kernel.event_listener', array('event' => 'hook_civicrm_triggerInfo', 'method' => 'onTriggerInfo'));
+
+ $container->setDefinition('civi.case.staticTriggers', new Definition(
+ 'Civi\Core\SqlTrigger\StaticTriggers',
+ array(
+ array(
+ array(
+ 'upgrade_check' => array('table' => 'civicrm_case', 'column' => 'modified_date'),
+ 'table' => 'civicrm_case_activity',
+ 'when' => 'AFTER',
+ 'event' => array('INSERT'),
+ 'sql' => "\nUPDATE civicrm_case SET modified_date = CURRENT_TIMESTAMP WHERE id = NEW.case_id;\n",
+ ),
+ array(
+ 'upgrade_check' => array('table' => 'civicrm_case', 'column' => 'modified_date'),
+ 'table' => 'civicrm_activity',
+ 'when' => 'BEFORE',
+ 'event' => array('UPDATE', 'DELETE'),
+ 'sql' => "\nUPDATE civicrm_case SET modified_date = CURRENT_TIMESTAMP WHERE id IN (SELECT ca.case_id FROM civicrm_case_activity ca WHERE ca.activity_id = OLD.id);\n",
+ ),
+ ),
+ )
+ ))
+ ->addTag('kernel.event_listener', array('event' => 'hook_civicrm_triggerInfo', 'method' => 'onTriggerInfo'));
+
$container->setDefinition('civi_token_compat', new Definition(
'Civi\Token\TokenCompatSubscriber',
array()