X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FExtension%2FInfo.php;h=8a1fc017933bf32f461928acdb05123be1bdbb07;hb=7fc328b34ceee79a202cc896b150c54b84ad03dc;hp=8b8ee51143794cc307561b1101f4036bf823c3c7;hpb=b7412ea74b71e2c3c457639e301d57147655bd4e;p=civicrm-core.git diff --git a/CRM/Extension/Info.php b/CRM/Extension/Info.php index 8b8ee51143..8a1fc01793 100644 --- a/CRM/Extension/Info.php +++ b/CRM/Extension/Info.php @@ -23,12 +23,28 @@ class CRM_Extension_Info { const FILENAME = 'info.xml'; /** - * @var string + * @var string|null */ public $key = NULL; + + /** + * @var string|null + */ public $type = NULL; + + /** + * @var string|null + */ public $name = NULL; + + /** + * @var string|null + */ public $label = NULL; + + /** + * @var string|null + */ public $file = NULL; /** @@ -44,6 +60,13 @@ class CRM_Extension_Info { */ public $requires = []; + /** + * @var array + * List of expected mixins. + * Ex: ['civix@2.0.0'] + */ + public $mixins = []; + /** * @var array * List of strings (tag-names). @@ -75,7 +98,7 @@ class CRM_Extension_Info { /** * Load extension info an XML file. * - * @param $file + * @param string $file * * @throws CRM_Extension_Exception_ParseException * @return CRM_Extension_Info @@ -133,11 +156,11 @@ class CRM_Extension_Info { } /** - * @param null $key - * @param null $type - * @param null $name - * @param null $label - * @param null $file + * @param string|null $key + * @param string|null $type + * @param string|null $name + * @param string|null $label + * @param string|null $file */ public function __construct($key = NULL, $type = NULL, $name = NULL, $label = NULL, $file = NULL) { $this->key = $key; @@ -197,6 +220,12 @@ class CRM_Extension_Info { $this->tags[] = (string) $tag; } } + elseif ($attr === 'mixins') { + $this->mixins = []; + foreach ($val->mixin as $mixin) { + $this->mixins[] = (string) $mixin; + } + } elseif ($attr === 'requires') { $this->requires = $this->filterRequirements($val); }