X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FExtension%2FInfo.php;h=8b8ee51143794cc307561b1101f4036bf823c3c7;hb=c6da7104e771b5039d040499629d4da1a5780bdb;hp=67a58af265e9a1155353f3f68e4dd926bf34c0b2;hpb=93f40fc663d05dd47882ef7bd98f4c2b40b392de;p=civicrm-core.git diff --git a/CRM/Extension/Info.php b/CRM/Extension/Info.php index 67a58af265..8b8ee51143 100644 --- a/CRM/Extension/Info.php +++ b/CRM/Extension/Info.php @@ -65,6 +65,13 @@ class CRM_Extension_Info { */ public $maintainer = NULL; + /** + * @var string|null + * The name of a class which handles the install/upgrade lifecycle. + * @see \CRM_Extension_Upgrader_Interface + */ + public $upgrader = NULL; + /** * Load extension info an XML file. * @@ -150,13 +157,14 @@ class CRM_Extension_Info { $this->type = (string) $info->attributes()->type; $this->file = (string) $info->file; $this->label = (string) $info->name; + $this->upgrader = (string) $info->upgrader; // Convert first level variables to CRM_Core_Extension properties // and deeper into arrays. An exception for URLS section, since // we want them in special format. foreach ($info as $attr => $val) { if (count($val->children()) == 0) { - $this->$attr = (string) $val; + $this->$attr = trim((string) $val); } elseif ($attr === 'urls') { $this->urls = [];