-
-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Files changed: M civiquickbooks.civix.php M civiquickbooks.php M info.xml A mixin/[email protected]
- Loading branch information
Showing
4 changed files
with
56 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,15 +26,17 @@ | |
<comments>Development and support for this Extension is funded solely by Agileware and CiviCRM community contributions. Agileware does not receive any funding at all for this Extension from the CiviCRM Partner program or CiviCRM LLC. Agileware welcome any funding to help continue paying Agileware staff to continue contributing to the CiviCRM community and Extensions. You can donate to Agileware using https://www.paypal.me/agileware</comments> | ||
<civix> | ||
<namespace>CRM/Civiquickbooks</namespace> | ||
<format>22.12.1</format> | ||
<format>23.02.1</format> | ||
</civix> | ||
<mixins> | ||
<mixin>[email protected]</mixin> | ||
<mixin>[email protected]</mixin> | ||
<mixin>[email protected]</mixin> | ||
<mixin>[email protected]</mixin> | ||
</mixins> | ||
<classloader> | ||
<psr0 prefix="CRM_" path="."/> | ||
<psr4 prefix="Civi\" path="Civi"/> | ||
</classloader> | ||
<upgrader>CRM_Civiquickbooks_Upgrader</upgrader> | ||
</extension> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
<?php | ||
|
||
/** | ||
* Auto-register "templates/" folder. | ||
* | ||
* @mixinName smarty-v2 | ||
* @mixinVersion 1.0.1 | ||
* @since 5.59 | ||
* | ||
* @param CRM_Extension_MixInfo $mixInfo | ||
* On newer deployments, this will be an instance of MixInfo. On older deployments, Civix may polyfill with a work-a-like. | ||
* @param \CRM_Extension_BootCache $bootCache | ||
* On newer deployments, this will be an instance of MixInfo. On older deployments, Civix may polyfill with a work-a-like. | ||
*/ | ||
return function ($mixInfo, $bootCache) { | ||
$dir = $mixInfo->getPath('templates'); | ||
if (!file_exists($dir)) { | ||
return; | ||
} | ||
|
||
$register = function() use ($dir) { | ||
// This implementation has a theoretical edge-case bug on older versions of CiviCRM where a template could | ||
// be registered more than once. | ||
CRM_Core_Smarty::singleton()->addTemplateDir($dir); | ||
}; | ||
|
||
// Let's figure out what environment we're in -- so that we know the best way to call $register(). | ||
|
||
if (!empty($GLOBALS['_CIVIX_MIXIN_POLYFILL'])) { | ||
// Polyfill Loader (v<=5.45): We're already in the middle of firing `hook_config`. | ||
if ($mixInfo->isActive()) { | ||
$register(); | ||
} | ||
return; | ||
} | ||
|
||
if (CRM_Extension_System::singleton()->getManager()->extensionIsBeingInstalledOrEnabled($mixInfo->longName)) { | ||
// New Install, Standard Loader: The extension has just been enabled, and we're now setting it up. | ||
// System has already booted. New templates may be needed for upcoming installation steps. | ||
$register(); | ||
return; | ||
} | ||
|
||
// Typical Pageview, Standard Loader: Defer the actual registration for a moment -- to ensure that Smarty is online. | ||
\Civi::dispatcher()->addListener('hook_civicrm_config', function() use ($mixInfo, $register) { | ||
if ($mixInfo->isActive()) { | ||
$register(); | ||
} | ||
}); | ||
|
||
}; |