protected $res = NULL;
/**
- * @var array|NULL
+ * Modules.
+ *
+ * @var array|null
* Each item has some combination of these keys:
* - ext: string
* The Civi extension which defines the Angular module.
/**
* @param \CRM_Core_Resources $res
* The resource manager.
+ * @param $cache
*/
public function __construct($res, \CRM_Utils_Cache_Interface $cache = NULL) {
$this->res = $res;
- $this->cache = $cache ? $cache : new \CRM_Utils_Cache_Arraycache(array());
+ $this->cache = $cache ? $cache : new \CRM_Utils_Cache_ArrayCache([]);
}
/**
// Note: It would be nice to just glob("$civicrm_root/ang/*.ang.php"), but at time
// of writing CiviMail and CiviCase have special conditionals.
- $angularModules = array();
+ $angularModules = [];
$angularModules['angularFileUpload'] = include "$civicrm_root/ang/angularFileUpload.ang.php";
+ $angularModules['checklist-model'] = include "$civicrm_root/ang/checklist-model.ang.php";
$angularModules['crmApp'] = include "$civicrm_root/ang/crmApp.ang.php";
$angularModules['crmAttachment'] = include "$civicrm_root/ang/crmAttachment.ang.php";
$angularModules['crmAutosave'] = include "$civicrm_root/ang/crmAutosave.ang.php";
\CRM_Utils_Hook::angularModules($angularModules);
foreach (array_keys($angularModules) as $module) {
if (!isset($angularModules[$module]['basePages'])) {
- $angularModules[$module]['basePages'] = array('civicrm/a');
+ $angularModules[$module]['basePages'] = ['civicrm/a'];
}
}
$this->modules = $this->resolvePatterns($angularModules);
*/
public function resolveDependencies($names) {
$allModules = $this->getModules();
- $visited = array();
+ $visited = [];
$result = $names;
while (($missingModules = array_diff($result, array_keys($visited))) && !empty($missingModules)) {
foreach ($missingModules as $module) {
$visited[$module] = 1;
if (!isset($allModules[$module])) {
- \Civi::log()->warning('Unrecognized Angular module {name}. Please ensure that all Angular modules are declared.', array(
+ \Civi::log()->warning('Unrecognized Angular module {name}. Please ensure that all Angular modules are declared.', [
'name' => $module,
'civi.tag' => 'deprecated',
- ));
+ ]);
}
elseif (isset($allModules[$module]['requires'])) {
$result = array_unique(array_merge($result, $allModules[$module]['requires']));
*/
public function resolveDefaultModules($basePage) {
$modules = $this->getModules();
- $result = array();
+ $result = [];
foreach ($modules as $moduleName => $module) {
if (in_array($basePage, $module['basePages']) || in_array('*', $module['basePages'])) {
$result[] = $moduleName;
* Updated list of Angular modules
*/
protected function resolvePatterns($modules) {
- $newModules = array();
+ $newModules = [];
foreach ($modules as $moduleKey => $module) {
- foreach (array('js', 'css', 'partials') as $fileset) {
+ foreach (['js', 'css', 'partials'] as $fileset) {
if (!isset($module[$fileset])) {
continue;
}
*/
public function getRawPartials($name) {
$module = $this->getModule($name);
- $result = array();
+ $result = [];
if (isset($module['partials'])) {
foreach ($module['partials'] as $partialDir) {
$partialDir = $this->res->getPath($module['ext']) . '/' . $partialDir;
*/
public function getTranslatedStrings($name) {
$module = $this->getModule($name);
- $result = array();
+ $result = [];
$strings = $this->getStrings($name);
foreach ($strings as $string) {
// TODO: should we pass translation domain based on $module[ext] or $module[tsDomain]?
// It doesn't look like client side really supports the domain right now...
- $translated = ts($string, array(
- 'domain' => array($module['ext'], NULL),
- ));
+ $translated = ts($string, [
+ 'domain' => [$module['ext'], NULL],
+ ]);
if ($translated != $string) {
$result[$string] = $translated;
}
*/
public function getStrings($name) {
$module = $this->getModule($name);
- $result = array();
+ $result = [];
if (isset($module['js'])) {
foreach ($module['js'] as $file) {
$strings = $this->res->getStrings()->get(
* @throws \CRM_Core_Exception
*/
public function getResources($moduleNames, $resType, $refType) {
- $result = array();
+ $result = [];
$moduleNames = (array) $moduleNames;
foreach ($moduleNames as $moduleName) {
$module = $this->getModule($moduleName);
case 'path-assetBuilder':
$assetName = parse_url($file, PHP_URL_HOST) . parse_url($file, PHP_URL_PATH);
- $assetParams = array();
+ $assetParams = [];
parse_str('' . parse_url($file, PHP_URL_QUERY), $assetParams);
$result[] = \Civi::service('asset_builder')->getPath($assetName, $assetParams);
break;
case 'rawUrl-assetBuilder':
case 'cacheUrl-assetBuilder':
$assetName = parse_url($file, PHP_URL_HOST) . parse_url($file, PHP_URL_PATH);
- $assetParams = array();
+ $assetParams = [];
parse_str('' . parse_url($file, PHP_URL_QUERY), $assetParams);
$result[] = \Civi::service('asset_builder')->getUrl($assetName, $assetParams);
break;
*/
public function getChangeSets() {
if ($this->changeSets === NULL) {
- $this->changeSets = array();
+ $this->changeSets = [];
\CRM_Utils_Hook::alterAngular($this);
}
return $this->changeSets;