Merge pull request #22086 from civicrm/5.44
[civicrm-core.git] / CRM / Extension / Info.php
index 67a58af265e9a1155353f3f68e4dd926bf34c0b2..8b8ee51143794cc307561b1101f4036bf823c3c7 100644 (file)
@@ -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 = [];