Skip to content
  • totten's avatar
    CRM-15578 - Add Civi\Core\Resolver. Fix loading of Angular content after updating components. · c8074a93
    totten authored
    After enabling or disabling components, the Angular content may have
    changed, so we must call CRM_Core_Resources::singleton()->resetCacheCode.
    This commit does so in a few pieces:
    
     * It updates the admin UI so that it uses the API for saving changes to
       "enable_components". (This resolves a split where UI+API were different.)
     * It updates the "enable_components" setting so that changes trigger
       a cache-code reset.
     * It updates the settings framework so that callbacks can reference
       non-static functions. (The objects must be registered in "Container".)
     * It exposes some of our singletons (eg CRM_Core_Resources) as objects
       in "Container".
     * It adds a helper function (Civi\Core\Resolver) which can be used to
       convert references from data files (*.setting.php, *.xml, *.yml, etc)
       into objects/callables.
     * It updates various places that use callbacks from data files to
       go through Resolver.
    
    See also: http://forum.civicrm.org/index.php/topic,35579.0.html
    c8074a93