(NFC) smarty-v2 - Add more explanatory comments
authorTim Otten <totten@civicrm.org>
Thu, 19 Jan 2023 21:52:05 +0000 (13:52 -0800)
committerTim Otten <totten@civicrm.org>
Thu, 19 Jan 2023 21:52:35 +0000 (13:52 -0800)
mixin/smarty-v2@1/mixin.php

index 137eb5ab47a76da057cb36521d9b93f979e4e664..65e4396d22a4629bf01583ea6d16ace00b487bdd 100644 (file)
@@ -30,9 +30,15 @@ return function ($mixInfo, $bootCache) {
   };
 
   if ($mixInfo->isActive()) {
+    // Typical: The extension is already installed, and we're booting Civi normally.
+    // We put this first because it's most common.
+    // We defer the actual registration for a moment -- to ensure that Smarty is online.
     \Civi::dispatcher()->addListener('hook_civicrm_config', $register);
   }
   elseif (CRM_Extension_System::singleton()->getManager()->extensionIsBeingInstalledOrEnabled($mixInfo->longName)) {
+    // New Install: The extension has just been enabled, and we're now setting it up.
+    // We put this second because it's less common, and checking it requires more resources (eg `Manager` instance).
+    // We register immediately because Smarty is already online, and the new templates may be needed for upcoming installation steps.
     $register();
   }