Ejemplo n.º 1
0
 /**
  * @param \Symfony\Component\EventDispatcher\EventDispatcher $dispatcher
  * @param $magicFunctionProvider
  *
  * @return \Civi\API\Kernel
  */
 public function createApiKernel($dispatcher, $magicFunctionProvider)
 {
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\ChainSubscriber());
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\TransactionSubscriber());
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\I18nSubscriber());
     $dispatcher->addSubscriber($magicFunctionProvider);
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\PermissionCheck());
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\APIv3SchemaAdapter());
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\WrapperAdapter(array(\CRM_Utils_API_HTMLInputCoder::singleton(), \CRM_Utils_API_NullOutputCoder::singleton(), \CRM_Utils_API_ReloadOption::singleton(), \CRM_Utils_API_MatchOption::singleton())));
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\XDebugSubscriber());
     $kernel = new \Civi\API\Kernel($dispatcher);
     $reflectionProvider = new \Civi\API\Provider\ReflectionProvider($kernel);
     $dispatcher->addSubscriber($reflectionProvider);
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\DynamicFKAuthorization($kernel, 'Attachment', array('create', 'get', 'delete'), 'SELECT if(cf.id,1,0) as is_valid, cef.entity_table, cef.entity_id
      FROM civicrm_file cf
      LEFT JOIN civicrm_entity_file cef ON cf.id = cef.file_id
      WHERE cf.id = %1', 'SELECT concat("custom_",fld.id) as field_name,
     grp.table_name as table_name,
     grp.extends as extends
    FROM civicrm_custom_field fld
    INNER JOIN civicrm_custom_group grp ON fld.custom_group_id = grp.id
    WHERE fld.data_type = "File"
   ', array('civicrm_activity', 'civicrm_mailing', 'civicrm_contact')));
     $kernel->setApiProviders(array($reflectionProvider, $magicFunctionProvider));
     return $kernel;
 }
Ejemplo n.º 2
0
 /**
  * @param \Symfony\Component\EventDispatcher\EventDispatcher $dispatcher
  * @param $magicFunctionProvider
  *
  * @return \Civi\API\Kernel
  */
 public function createApiKernel($dispatcher, $magicFunctionProvider)
 {
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\ChainSubscriber());
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\TransactionSubscriber());
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\I18nSubscriber());
     $dispatcher->addSubscriber($magicFunctionProvider);
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\PermissionCheck());
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\APIv3SchemaAdapter());
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\WrapperAdapter(array(\CRM_Utils_API_HTMLInputCoder::singleton(), \CRM_Utils_API_NullOutputCoder::singleton(), \CRM_Utils_API_ReloadOption::singleton(), \CRM_Utils_API_MatchOption::singleton())));
     $dispatcher->addSubscriber(new \Civi\API\Subscriber\XDebugSubscriber());
     $kernel = new \Civi\API\Kernel($dispatcher);
     $reflectionProvider = new \Civi\API\Provider\ReflectionProvider($kernel);
     $dispatcher->addSubscriber($reflectionProvider);
     $kernel->setApiProviders(array($reflectionProvider, $magicFunctionProvider));
     return $kernel;
 }