Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
cmsuser
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Extensions
cmsuser
Commits
520add76
Commit
520add76
authored
2 years ago
by
mattwire
Browse files
Options
Downloads
Patches
Plain Diff
Release 1.1
parent
49ced528
No related branches found
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
LICENSE.txt
+1
-1
1 addition, 1 deletion
LICENSE.txt
cmsuser.civix.php
+13
-156
13 additions, 156 deletions
cmsuser.civix.php
cmsuser.php
+0
-19
0 additions, 19 deletions
cmsuser.php
info.xml
+7
-3
7 additions, 3 deletions
info.xml
with
21 additions
and
179 deletions
LICENSE.txt
+
1
−
1
View file @
520add76
Package: cmsuser
Copyright (C) 202
1
, Matthew Wire <mjw@mjwconsult.co.uk>
Copyright (C) 202
2
, Matthew Wire <mjw@mjwconsult.co.uk>
Licensed under the GNU Affero Public License 3.0 (below).
-------------------------------------------------------------------------------
...
...
This diff is collapsed.
Click to expand it.
cmsuser.civix.php
+
13
−
156
View file @
520add76
...
...
@@ -79,6 +79,14 @@ class CRM_Cmsuser_ExtensionUtil {
use
CRM_Cmsuser_ExtensionUtil
as
E
;
function
_cmsuser_civix_mixin_polyfill
()
{
if
(
!
class_exists
(
'CRM_Extension_MixInfo'
))
{
$polyfill
=
__DIR__
.
'/mixin/polyfill.php'
;
(
require
$polyfill
)(
E
::
LONG_NAME
,
E
::
SHORT_NAME
,
E
::
path
());
}
}
/**
* (Delegated) Implements hook_civicrm_config().
*
...
...
@@ -91,9 +99,9 @@ function _cmsuser_civix_civicrm_config(&$config = NULL) {
}
$configured
=
TRUE
;
$template
=
&
CRM_Core_Smarty
::
singleton
();
$template
=
CRM_Core_Smarty
::
singleton
();
$extRoot
=
dirname
(
__FILE
__
)
.
DIRECTORY_SEPARATOR
;
$extRoot
=
__DIR
__
.
DIRECTORY_SEPARATOR
;
$extDir
=
$extRoot
.
'templates'
;
if
(
is_array
(
$template
->
template_dir
))
{
...
...
@@ -105,19 +113,8 @@ function _cmsuser_civix_civicrm_config(&$config = NULL) {
$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
_cmsuser_civix_civicrm_xmlMenu
(
&
$files
)
{
foreach
(
_cmsuser_civix_glob
(
__DIR__
.
'/xml/Menu/*.xml'
)
as
$file
)
{
$files
[]
=
$file
;
}
_cmsuser_civix_mixin_polyfill
();
}
/**
...
...
@@ -130,6 +127,7 @@ function _cmsuser_civix_civicrm_install() {
if
(
$upgrader
=
_cmsuser_civix_upgrader
())
{
$upgrader
->
onInstall
();
}
_cmsuser_civix_mixin_polyfill
();
}
/**
...
...
@@ -170,6 +168,7 @@ function _cmsuser_civix_civicrm_enable() {
$upgrader
->
onEnable
();
}
}
_cmsuser_civix_mixin_polyfill
();
}
/**
...
...
@@ -217,136 +216,6 @@ function _cmsuser_civix_upgrader() {
}
}
/**
* 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
_cmsuser_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
_cmsuser_civix_civicrm_managed
(
&
$entities
)
{
$mgdFiles
=
_cmsuser_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
_cmsuser_civix_civicrm_caseTypes
(
&
$caseTypes
)
{
if
(
!
is_dir
(
__DIR__
.
'/xml/case'
))
{
return
;
}
foreach
(
_cmsuser_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
_cmsuser_civix_civicrm_angularModules
(
&
$angularModules
)
{
if
(
!
is_dir
(
__DIR__
.
'/ang'
))
{
return
;
}
$files
=
_cmsuser_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
_cmsuser_civix_civicrm_themes
(
&
$themes
)
{
$files
=
_cmsuser_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
_cmsuser_civix_glob
(
$pattern
)
{
$result
=
glob
(
$pattern
);
return
is_array
(
$result
)
?
$result
:
[];
}
/**
* Inserts a navigation menu item at a given place in the hierarchy.
*
...
...
@@ -429,18 +298,6 @@ function _cmsuser_civix_fixNavigationMenuItems(&$nodes, &$maxNavID, $parentID) {
}
}
/**
* (Delegated) Implements hook_civicrm_alterSettingsFolders().
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_alterSettingsFolders
*/
function
_cmsuser_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().
*
...
...
This diff is collapsed.
Click to expand it.
cmsuser.php
+
0
−
19
View file @
520add76
...
...
@@ -14,15 +14,6 @@ function cmsuser_civicrm_config(&$config) {
_cmsuser_civix_civicrm_config
(
$config
);
}
/**
* Implements hook_civicrm_xmlMenu().
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_xmlMenu
*/
function
cmsuser_civicrm_xmlMenu
(
&
$files
)
{
_cmsuser_civix_civicrm_xmlMenu
(
$files
);
}
/**
* Implements hook_civicrm_install().
*
...
...
@@ -86,7 +77,6 @@ function cmsuser_civicrm_upgrade($op, CRM_Queue_Queue $queue = NULL) {
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_managed
*/
function
cmsuser_civicrm_managed
(
&
$entities
)
{
_cmsuser_civix_civicrm_managed
(
$entities
);
$actions
=
civicrm_api3
(
'CiviRuleAction'
,
'get'
,
[
'name'
=>
[
'IN'
=>
[
'cmsuser_create'
]]]);
if
(
empty
(
$actions
[
'values'
]))
{
...
...
@@ -109,15 +99,6 @@ function cmsuser_civicrm_managed(&$entities) {
}
}
/**
* Implements hook_civicrm_alterSettingsFolders().
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_alterSettingsFolders
*/
function
cmsuser_civicrm_alterSettingsFolders
(
&
$metaDataFolders
=
NULL
)
{
_cmsuser_civix_civicrm_alterSettingsFolders
(
$metaDataFolders
);
}
/**
* Implements hook_civicrm_entityTypes().
*
...
...
This diff is collapsed.
Click to expand it.
info.xml
+
7
−
3
View file @
520add76
...
...
@@ -13,16 +13,20 @@
<url
desc=
"Support"
>
https://mjw.pt/support/cmsuser
</url>
<url
desc=
"Licensing"
>
http://www.gnu.org/licenses/agpl-3.0.html
</url>
</urls>
<releaseDate>
202
1-12-22
</releaseDate>
<version>
1.
0
</version>
<releaseDate>
202
2-05-31
</releaseDate>
<version>
1.
1
</version>
<develStage>
stable
</develStage>
<compatibility>
<ver>
5.
36
</ver>
<ver>
5.
49
</ver>
</compatibility>
<classloader>
<psr4
prefix=
"Civi\"
path=
"Civi"
/>
</classloader>
<civix>
<namespace>
CRM/Cmsuser
</namespace>
<format>
22.05.0
</format>
</civix>
<mixins>
<mixin>
menu-xml@1.0.0
</mixin>
</mixins>
</extension>
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment