Skip to content
Snippets Groups Projects
Commit a4ef4fb8 authored by bgm's avatar bgm
Browse files

Update civix, bump minimum 5.60

parent bec55884
No related branches found
No related tags found
No related merge requests found
......@@ -24,7 +24,7 @@ class CRM_CiviExportExcel_ExtensionUtil {
* Translated text.
* @see ts
*/
public static function ts($text, $params = []) {
public static function ts($text, $params = []): string {
if (!array_key_exists('domain', $params)) {
$params['domain'] = [self::LONG_NAME, NULL];
}
......@@ -41,7 +41,7 @@ class CRM_CiviExportExcel_ExtensionUtil {
* Ex: 'http://example.org/sites/default/ext/org.example.foo'.
* Ex: 'http://example.org/sites/default/ext/org.example.foo/css/foo.css'.
*/
public static function url($file = NULL) {
public static function url($file = NULL): string {
if ($file === NULL) {
return rtrim(CRM_Core_Resources::singleton()->getUrl(self::LONG_NAME), '/');
}
......@@ -84,40 +84,17 @@ use CRM_CiviExportExcel_ExtensionUtil as E;
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_config
*/
function _civiexportexcel_civix_civicrm_config(&$config = NULL) {
function _civiexportexcel_civix_civicrm_config($config = NULL) {
static $configured = FALSE;
if ($configured) {
return;
}
$configured = TRUE;
$template =& CRM_Core_Smarty::singleton();
$extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
$extDir = $extRoot . 'templates';
if (is_array($template->template_dir)) {
array_unshift($template->template_dir, $extDir);
}
else {
$template->template_dir = [$extDir, $template->template_dir];
}
$extRoot = __DIR__ . DIRECTORY_SEPARATOR;
$include_path = $extRoot . PATH_SEPARATOR . get_include_path();
set_include_path($include_path);
}
/**
* (Delegated) Implements hook_civicrm_xmlMenu().
*
* @param $files array(string)
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_xmlMenu
*/
function _civiexportexcel_civix_civicrm_xmlMenu(&$files) {
foreach (_civiexportexcel_civix_glob(__DIR__ . '/xml/Menu/*.xml') as $file) {
$files[] = $file;
}
// Based on <compatibility>, this does not currently require mixin/polyfill.php.
}
/**
......@@ -127,35 +104,7 @@ function _civiexportexcel_civix_civicrm_xmlMenu(&$files) {
*/
function _civiexportexcel_civix_civicrm_install() {
_civiexportexcel_civix_civicrm_config();
if ($upgrader = _civiexportexcel_civix_upgrader()) {
$upgrader->onInstall();
}
}
/**
* Implements hook_civicrm_postInstall().
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_postInstall
*/
function _civiexportexcel_civix_civicrm_postInstall() {
_civiexportexcel_civix_civicrm_config();
if ($upgrader = _civiexportexcel_civix_upgrader()) {
if (is_callable([$upgrader, 'onPostInstall'])) {
$upgrader->onPostInstall();
}
}
}
/**
* Implements hook_civicrm_uninstall().
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_uninstall
*/
function _civiexportexcel_civix_civicrm_uninstall() {
_civiexportexcel_civix_civicrm_config();
if ($upgrader = _civiexportexcel_civix_upgrader()) {
$upgrader->onUninstall();
}
// Based on <compatibility>, this does not currently require mixin/polyfill.php.
}
/**
......@@ -163,188 +112,9 @@ function _civiexportexcel_civix_civicrm_uninstall() {
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_enable
*/
function _civiexportexcel_civix_civicrm_enable() {
_civiexportexcel_civix_civicrm_config();
if ($upgrader = _civiexportexcel_civix_upgrader()) {
if (is_callable([$upgrader, 'onEnable'])) {
$upgrader->onEnable();
}
}
}
/**
* (Delegated) Implements hook_civicrm_disable().
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_disable
* @return mixed
*/
function _civiexportexcel_civix_civicrm_disable() {
function _civiexportexcel_civix_civicrm_enable(): void {
_civiexportexcel_civix_civicrm_config();
if ($upgrader = _civiexportexcel_civix_upgrader()) {
if (is_callable([$upgrader, 'onDisable'])) {
$upgrader->onDisable();
}
}
}
/**
* (Delegated) Implements hook_civicrm_upgrade().
*
* @param $op string, the type of operation being performed; 'check' or 'enqueue'
* @param $queue CRM_Queue_Queue, (for 'enqueue') the modifiable list of pending up upgrade tasks
*
* @return mixed
* based on op. for 'check', returns array(boolean) (TRUE if upgrades are pending)
* for 'enqueue', returns void
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_upgrade
*/
function _civiexportexcel_civix_civicrm_upgrade($op, CRM_Queue_Queue $queue = NULL) {
if ($upgrader = _civiexportexcel_civix_upgrader()) {
return $upgrader->onUpgrade($op, $queue);
}
}
/**
* @return CRM_CiviExportExcel_Upgrader
*/
function _civiexportexcel_civix_upgrader() {
if (!file_exists(__DIR__ . '/CRM/CiviExportExcel/Upgrader.php')) {
return NULL;
}
else {
return CRM_CiviExportExcel_Upgrader_Base::instance();
}
}
/**
* Search directory tree for files which match a glob pattern.
*
* Note: Dot-directories (like "..", ".git", or ".svn") will be ignored.
* Note: Delegate to CRM_Utils_File::findFiles(), this function kept only
* for backward compatibility of extension code that uses it.
*
* @param string $dir base dir
* @param string $pattern , glob pattern, eg "*.txt"
*
* @return array
*/
function _civiexportexcel_civix_find_files($dir, $pattern) {
return CRM_Utils_File::findFiles($dir, $pattern);
}
/**
* (Delegated) Implements hook_civicrm_managed().
*
* Find any *.mgd.php files, merge their content, and return.
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_managed
*/
function _civiexportexcel_civix_civicrm_managed(&$entities) {
$mgdFiles = _civiexportexcel_civix_find_files(__DIR__, '*.mgd.php');
sort($mgdFiles);
foreach ($mgdFiles as $file) {
$es = include $file;
foreach ($es as $e) {
if (empty($e['module'])) {
$e['module'] = E::LONG_NAME;
}
if (empty($e['params']['version'])) {
$e['params']['version'] = '3';
}
$entities[] = $e;
}
}
}
/**
* (Delegated) Implements hook_civicrm_caseTypes().
*
* Find any and return any files matching "xml/case/*.xml"
*
* Note: This hook only runs in CiviCRM 4.4+.
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_caseTypes
*/
function _civiexportexcel_civix_civicrm_caseTypes(&$caseTypes) {
if (!is_dir(__DIR__ . '/xml/case')) {
return;
}
foreach (_civiexportexcel_civix_glob(__DIR__ . '/xml/case/*.xml') as $file) {
$name = preg_replace('/\.xml$/', '', basename($file));
if ($name != CRM_Case_XMLProcessor::mungeCaseType($name)) {
$errorMessage = sprintf("Case-type file name is malformed (%s vs %s)", $name, CRM_Case_XMLProcessor::mungeCaseType($name));
throw new CRM_Core_Exception($errorMessage);
}
$caseTypes[$name] = [
'module' => E::LONG_NAME,
'name' => $name,
'file' => $file,
];
}
}
/**
* (Delegated) Implements hook_civicrm_angularModules().
*
* Find any and return any files matching "ang/*.ang.php"
*
* Note: This hook only runs in CiviCRM 4.5+.
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_angularModules
*/
function _civiexportexcel_civix_civicrm_angularModules(&$angularModules) {
if (!is_dir(__DIR__ . '/ang')) {
return;
}
$files = _civiexportexcel_civix_glob(__DIR__ . '/ang/*.ang.php');
foreach ($files as $file) {
$name = preg_replace(':\.ang\.php$:', '', basename($file));
$module = include $file;
if (empty($module['ext'])) {
$module['ext'] = E::LONG_NAME;
}
$angularModules[$name] = $module;
}
}
/**
* (Delegated) Implements hook_civicrm_themes().
*
* Find any and return any files matching "*.theme.php"
*/
function _civiexportexcel_civix_civicrm_themes(&$themes) {
$files = _civiexportexcel_civix_glob(__DIR__ . '/*.theme.php');
foreach ($files as $file) {
$themeMeta = include $file;
if (empty($themeMeta['name'])) {
$themeMeta['name'] = preg_replace(':\.theme\.php$:', '', basename($file));
}
if (empty($themeMeta['ext'])) {
$themeMeta['ext'] = E::LONG_NAME;
}
$themes[$themeMeta['name']] = $themeMeta;
}
}
/**
* Glob wrapper which is guaranteed to return an array.
*
* The documentation for glob() says, "On some systems it is impossible to
* distinguish between empty match and an error." Anecdotally, the return
* result for an empty match is sometimes array() and sometimes FALSE.
* This wrapper provides consistency.
*
* @link http://php.net/glob
* @param string $pattern
*
* @return array
*/
function _civiexportexcel_civix_glob($pattern) {
$result = glob($pattern);
return is_array($result) ? $result : [];
// Based on <compatibility>, this does not currently require mixin/polyfill.php.
}
/**
......@@ -363,8 +133,8 @@ function _civiexportexcel_civix_insert_navigation_menu(&$menu, $path, $item) {
if (empty($path)) {
$menu[] = [
'attributes' => array_merge([
'label' => CRM_Utils_Array::value('name', $item),
'active' => 1,
'label' => $item['name'] ?? NULL,
'active' => 1,
], $item),
];
return TRUE;
......@@ -428,26 +198,3 @@ function _civiexportexcel_civix_fixNavigationMenuItems(&$nodes, &$maxNavID, $par
}
}
}
/**
* (Delegated) Implements hook_civicrm_alterSettingsFolders().
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_alterSettingsFolders
*/
function _civiexportexcel_civix_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) {
$settingsDir = __DIR__ . DIRECTORY_SEPARATOR . 'settings';
if (!in_array($settingsDir, $metaDataFolders) && is_dir($settingsDir)) {
$metaDataFolders[] = $settingsDir;
}
}
/**
* (Delegated) Implements hook_civicrm_entityTypes().
*
* Find any *.entityType.php files, merge their content, and return.
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes
*/
function _civiexportexcel_civix_civicrm_entityTypes(&$entityTypes) {
$entityTypes = array_merge($entityTypes, []);
}
......@@ -20,15 +20,6 @@ function civiexportexcel_civicrm_config(&$config) {
_civiexportexcel_civix_civicrm_config($config);
}
/**
* Implementation of hook_civicrm_xmlMenu
*
* @param $files array(string)
*/
function civiexportexcel_civicrm_xmlMenu(&$files) {
_civiexportexcel_civix_civicrm_xmlMenu($files);
}
/**
* Implementation of hook_civicrm_install
*/
......@@ -36,20 +27,6 @@ function civiexportexcel_civicrm_install() {
_civiexportexcel_civix_civicrm_install();
}
/**
* Implements hook_civicrm_postInstall().
*/
function civiexportexcel_civicrm_postInstall() {
_civiexportexcel_civix_civicrm_postInstall();
}
/**
* Implementation of hook_civicrm_uninstall
*/
function civiexportexcel_civicrm_uninstall() {
_civiexportexcel_civix_civicrm_uninstall();
}
/**
* Implementation of hook_civicrm_enable
*/
......@@ -57,43 +34,6 @@ function civiexportexcel_civicrm_enable() {
_civiexportexcel_civix_civicrm_enable();
}
/**
* Implementation of hook_civicrm_disable
*/
function civiexportexcel_civicrm_disable() {
return _civiexportexcel_civix_civicrm_disable();
}
/**
* Implementation of hook_civicrm_upgrade
*
* @param $op string, the type of operation being performed; 'check' or 'enqueue'
* @param $queue CRM_Queue_Queue, (for 'enqueue') the modifiable list of pending up upgrade tasks
*
* @return mixed based on op. for 'check', returns array(boolean) (TRUE if upgrades are pending)
* for 'enqueue', returns void
*/
function civiexportexcel_civicrm_upgrade($op, CRM_Queue_Queue $queue = NULL) {
return _civiexportexcel_civix_civicrm_upgrade($op, $queue);
}
/**
* Implementation of hook_civicrm_managed
*
* Generate a list of entities to create/deactivate/delete when this module
* is installed, disabled, uninstalled.
*/
function civiexportexcel_civicrm_managed(&$entities) {
_civiexportexcel_civix_civicrm_managed($entities);
}
/**
* Implements hook_civicrm_alterSettingsFolders().
*/
function civiexportexcel_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) {
_civiexportexcel_civix_civicrm_alterSettingsFolders($metaDataFolders);
}
/**
* Implementation of hook_civicrm_buildForm().
*
......
......@@ -12,7 +12,7 @@
<version>2.5</version>
<develStage>stable</develStage>
<compatibility>
<ver>5.31</ver>
<ver>5.60</ver>
</compatibility>
<urls>
<url desc="Main Extension Page">https://lab.civicrm.org/extensions/civiexportexcel/</url>
......@@ -22,8 +22,15 @@
</urls>
<civix>
<namespace>CRM/CiviExportExcel</namespace>
<format>23.02.1</format>
</civix>
<classloader>
<psr4 prefix="Civi\" path="Civi"/>
<psr0 prefix="CRM_" path="."/>
</classloader>
<mixins>
<mixin>menu-xml@1.0.0</mixin>
<mixin>setting-php@1.0.0</mixin>
<mixin>smarty-v2@1.0.1</mixin>
</mixins>
</extension>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment