3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
13 * The extension manager handles installing, disabling enabling, and
14 * uninstalling extensions.
17 * @copyright CiviCRM LLC https://civicrm.org/licensing
19 interface CRM_Extension_Manager_Interface
{
22 * Perform type-specific installation logic (before marking the
23 * extension as installed or clearing the caches).
25 * @param CRM_Extension_Info $info
27 public function onPreInstall(CRM_Extension_Info
$info);
30 * Perform type-specific installation logic (after marking the
31 * extension as installed but before clearing the caches).
33 * @param CRM_Extension_Info $info
35 public function onPostInstall(CRM_Extension_Info
$info);
38 * Perform type-specific installation logic (after marking the
39 * extension as installed and clearing the caches).
41 * @param CRM_Extension_Info $info
43 public function onPostPostInstall(CRM_Extension_Info
$info);
46 * @param CRM_Extension_Info $info
48 public function onPreEnable(CRM_Extension_Info
$info);
51 * @param CRM_Extension_Info $info
53 public function onPostEnable(CRM_Extension_Info
$info);
56 * Perform type-specific removal logic (before updating the extension
57 * row in the "civicrm_extension" table).
59 * @param CRM_Extension_Info $info
60 * May be generated from xml or DB (which is lossy).
61 * @see CRM_Extension_Manager::createInfoFromDB
63 public function onPreDisable(CRM_Extension_Info
$info);
66 * Perform type-specific removal logic (after updating the extension
67 * row in the "civicrm_extension" table).
69 * @param CRM_Extension_Info $info
70 * May be generated from xml or DB (which is lossy).
71 * @see CRM_Extension_Manager::createInfoFromDB
73 public function onPostDisable(CRM_Extension_Info
$info);
76 * Perform type-specific removal logic (before removing the extension
77 * row in the "civicrm_extension" table).
79 * @param CRM_Extension_Info $info
80 * May be generated from xml or DB (which is lossy).
81 * @see CRM_Extension_Manager::createInfoFromDB
83 public function onPreUninstall(CRM_Extension_Info
$info);
86 * Perform type-specific removal logic (after removing the extension
87 * row in the "civicrm_extension" table).
89 * @param CRM_Extension_Info $info
90 * May be generated from xml or DB (which is lossy).
91 * @see CRM_Extension_Manager::createInfoFromDB
93 public function onPostUninstall(CRM_Extension_Info
$info);
96 * @param CRM_Extension_Info $oldInfo
97 * @param CRM_Extension_Info $newInfo
99 public function onPreReplace(CRM_Extension_Info
$oldInfo, CRM_Extension_Info
$newInfo);
102 * @param CRM_Extension_Info $oldInfo
103 * @param CRM_Extension_Info $newInfo
105 public function onPostReplace(CRM_Extension_Info
$oldInfo, CRM_Extension_Info
$newInfo);