CRM-15832 - crmResource - Fix handling of domains
[civicrm-core.git] / Civi / Angular / Page / Modules.php
CommitLineData
e5afbdad
TO
1<?php
2
3namespace Civi\Angular\Page;
4
5/**
6 * This page returns HTML partials used by Angular.
7 */
8class Modules extends \CRM_Core_Page {
9
10 /**
11 * This page aggregates HTML partials used by Angular.
12 */
13 public function run() {
14 //$config = \CRM_Core_Config::singleton();
15 //\CRM_Core_Page_AJAX::setJsHeaders($config->debug ? 30 : NULL);
16 \CRM_Core_Page_AJAX::setJsHeaders();
17
18 /**
19 * @var \Civi\Angular\Manager $angular
20 */
21 $angular = \Civi\Core\Container::singleton()->get('angular');
22 $modules = $angular->getModules();
23
24 $modulesExpr = \CRM_Utils_Request::retrieve('modules', 'String');
25 if ($modulesExpr) {
26 $moduleNames = preg_grep(
27 '/^[a-zA-Z0-9\-_\.]+$/',
28 explode(',', $modulesExpr)
29 );
30 }
31 else {
32 $moduleNames = array_keys($modules);
33 }
34
35 $result = array();
36 foreach ($moduleNames as $moduleName) {
37 if (isset($modules[$moduleName])) {
38 $result[$moduleName] = array();
e3d90d6c 39 $result[$moduleName]['domain'] = $modules[$moduleName]['ext'];
e5afbdad
TO
40 $result[$moduleName]['js'] = $angular->getScriptUrls($moduleName);
41 $result[$moduleName]['css'] = $angular->getStyleUrls($moduleName);
42 $result[$moduleName]['partials'] = $angular->getPartials($moduleName);
43 $result[$moduleName]['strings'] = $angular->getTranslatedStrings($moduleName);
44 }
45 }
46
47 echo json_encode($result);
48 \CRM_Utils_System::civiExit();
49 }
50
51}