Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dataprocessor
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
Container Registry
Model registry
Operate
Environments
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
dataprocessor
Commits
cdfa9dc8
Commit
cdfa9dc8
authored
4 years ago
by
mattwire
Browse files
Options
Downloads
Patches
Plain Diff
Remove deprecated function to get settings. Regenerate civix
parent
20331e23
No related branches found
No related tags found
1 merge request
!53
Remove deprecated function to get settings. Regenerate civix
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
CRM/Dataprocessor/Upgrader/Base.php
+56
-35
56 additions, 35 deletions
CRM/Dataprocessor/Upgrader/Base.php
CRM/Dataprocessor/Utils/Cache.php
+2
-2
2 additions, 2 deletions
CRM/Dataprocessor/Utils/Cache.php
dataprocessor.civix.php
+19
-23
19 additions, 23 deletions
dataprocessor.civix.php
with
77 additions
and
60 deletions
CRM/Dataprocessor/Upgrader/Base.php
+
56
−
35
View file @
cdfa9dc8
...
...
@@ -9,9 +9,9 @@ use CRM_Dataprocessor_ExtensionUtil as E;
class
CRM_Dataprocessor_Upgrader_Base
{
/**
* @var
varies, subclass of this
* @var
CRM_Dataprocessor_Upgrader_Base
*/
static
$instance
;
public
static
$instance
;
/**
* @var CRM_Queue_TaskContext
...
...
@@ -19,22 +19,25 @@ class CRM_Dataprocessor_Upgrader_Base {
protected
$ctx
;
/**
* @var string, eg 'com.example.myextension'
* @var string
* eg 'com.example.myextension'
*/
protected
$extensionName
;
/**
* @var string, full path to the extension's source tree
* @var string
* full path to the extension's source tree
*/
protected
$extensionDir
;
/**
* @var array(revisionNumber) sorted numerically
* @var revisionNumber[]
* sorted numerically
*/
private
$revisions
;
/**
* @var bool
ean
* @var bool
* Flag to clean up extension revision data in civicrm_setting
*/
private
$revisionStorageIsDeprecated
=
FALSE
;
...
...
@@ -42,7 +45,7 @@ class CRM_Dataprocessor_Upgrader_Base {
/**
* Obtain a reference to the active upgrade handler.
*/
static
publ
ic
function
instance
()
{
public
stat
ic
function
instance
()
{
if
(
!
self
::
$instance
)
{
// FIXME auto-generate
self
::
$instance
=
new
CRM_Dataprocessor_Upgrader
(
...
...
@@ -59,19 +62,25 @@ class CRM_Dataprocessor_Upgrader_Base {
* Note: Each upgrader instance should only be associated with one
* task-context; otherwise, this will be non-reentrant.
*
*
@code
*
```
* CRM_Dataprocessor_Upgrader_Base::_queueAdapter($ctx, 'methodName', 'arg1', 'arg2');
*
@endcode
*
```
*/
static
publ
ic
function
_queueAdapter
()
{
public
stat
ic
function
_queueAdapter
()
{
$instance
=
self
::
instance
();
$args
=
func_get_args
();
$instance
->
ctx
=
array_shift
(
$args
);
$instance
->
queue
=
$instance
->
ctx
->
queue
;
$method
=
array_shift
(
$args
);
return
call_user_func_array
(
array
(
$instance
,
$method
)
,
$args
);
return
call_user_func_array
(
[
$instance
,
$method
]
,
$args
);
}
/**
* CRM_Dataprocessor_Upgrader_Base constructor.
*
* @param $extensionName
* @param $extensionDir
*/
public
function
__construct
(
$extensionName
,
$extensionDir
)
{
$this
->
extensionName
=
$extensionName
;
$this
->
extensionDir
=
$extensionDir
;
...
...
@@ -82,7 +91,8 @@ class CRM_Dataprocessor_Upgrader_Base {
/**
* Run a CustomData file.
*
* @param string $relativePath the CustomData XML file path (relative to this extension's dir)
* @param string $relativePath
* the CustomData XML file path (relative to this extension's dir)
* @return bool
*/
public
function
executeCustomDataFile
(
$relativePath
)
{
...
...
@@ -93,11 +103,12 @@ class CRM_Dataprocessor_Upgrader_Base {
/**
* Run a CustomData file
*
* @param string $xml_file the CustomData XML file path (absolute path)
* @param string $xml_file
* the CustomData XML file path (absolute path)
*
* @return bool
*/
protected
static
function
executeCustomDataFileByAbsPath
(
$xml_file
)
{
protected
function
executeCustomDataFileByAbsPath
(
$xml_file
)
{
$import
=
new
CRM_Utils_Migrate_Import
();
$import
->
run
(
$xml_file
);
return
TRUE
;
...
...
@@ -106,7 +117,8 @@ class CRM_Dataprocessor_Upgrader_Base {
/**
* Run a SQL file.
*
* @param string $relativePath the SQL file path (relative to this extension's dir)
* @param string $relativePath
* the SQL file path (relative to this extension's dir)
*
* @return bool
*/
...
...
@@ -119,10 +131,14 @@ class CRM_Dataprocessor_Upgrader_Base {
}
/**
* Run the sql commands in the specified file.
*
* @param string $tplFile
* The SQL file path (relative to this extension's dir).
* Ex: "sql/mydata.mysql.tpl".
*
* @return bool
* @throws \CRM_Core_Exception
*/
public
function
executeSqlTemplate
(
$tplFile
)
{
// Assign multilingual variable to Smarty.
...
...
@@ -141,17 +157,19 @@ class CRM_Dataprocessor_Upgrader_Base {
* Run one SQL query.
*
* This is just a wrapper for CRM_Core_DAO::executeSql, but it
* provides syntatic sugar for queueing several tasks that
* provides synta
c
tic sugar for queueing several tasks that
* run different queries
*
* @return bool
*/
public
function
executeSql
(
$query
,
$params
=
array
()
)
{
public
function
executeSql
(
$query
,
$params
=
[]
)
{
// FIXME verify that we raise an exception on error
CRM_Core_DAO
::
executeQuery
(
$query
,
$params
);
return
TRUE
;
}
/**
* Syntatic sugar for enqueuing a task which calls a function in this class.
* Synta
c
tic sugar for enqueuing a task which calls a function in this class.
*
* The task is weighted so that it is processed
* as part of the currently-pending revision.
...
...
@@ -163,11 +181,11 @@ class CRM_Dataprocessor_Upgrader_Base {
$args
=
func_get_args
();
$title
=
array_shift
(
$args
);
$task
=
new
CRM_Queue_Task
(
array
(
get_class
(
$this
),
'_queueAdapter'
)
,
[
get_class
(
$this
),
'_queueAdapter'
]
,
$args
,
$title
);
return
$this
->
queue
->
createItem
(
$task
,
array
(
'weight'
=>
-
1
)
);
return
$this
->
queue
->
createItem
(
$task
,
[
'weight'
=>
-
1
]
);
}
// ******** Revision-tracking helpers ********
...
...
@@ -193,6 +211,8 @@ class CRM_Dataprocessor_Upgrader_Base {
/**
* Add any pending revisions to the queue.
*
* @param CRM_Queue_Queue $queue
*/
public
function
enqueuePendingRevisions
(
CRM_Queue_Queue
$queue
)
{
$this
->
queue
=
$queue
;
...
...
@@ -200,23 +220,23 @@ class CRM_Dataprocessor_Upgrader_Base {
$currentRevision
=
$this
->
getCurrentRevision
();
foreach
(
$this
->
getRevisions
()
as
$revision
)
{
if
(
$revision
>
$currentRevision
)
{
$title
=
ts
(
'Upgrade %1 to revision %2'
,
array
(
$title
=
E
::
ts
(
'Upgrade %1 to revision %2'
,
[
1
=>
$this
->
extensionName
,
2
=>
$revision
,
)
);
]
);
// note: don't use addTask() because it sets weight=-1
$task
=
new
CRM_Queue_Task
(
array
(
get_class
(
$this
),
'_queueAdapter'
)
,
array
(
'upgrade_'
.
$revision
)
,
[
get_class
(
$this
),
'_queueAdapter'
]
,
[
'upgrade_'
.
$revision
]
,
$title
);
$this
->
queue
->
createItem
(
$task
);
$task
=
new
CRM_Queue_Task
(
array
(
get_class
(
$this
),
'_queueAdapter'
)
,
array
(
'setCurrentRevision'
,
$revision
)
,
[
get_class
(
$this
),
'_queueAdapter'
]
,
[
'setCurrentRevision'
,
$revision
]
,
$title
);
$this
->
queue
->
createItem
(
$task
);
...
...
@@ -227,11 +247,12 @@ class CRM_Dataprocessor_Upgrader_Base {
/**
* Get a list of revisions.
*
* @return array(revisionNumbers) sorted numerically
* @return array
* revisionNumbers sorted numerically
*/
public
function
getRevisions
()
{
if
(
!
is_array
(
$this
->
revisions
))
{
$this
->
revisions
=
array
()
;
$this
->
revisions
=
[]
;
$clazz
=
new
ReflectionClass
(
get_class
(
$this
));
$methods
=
$clazz
->
getMethods
();
...
...
@@ -256,7 +277,7 @@ class CRM_Dataprocessor_Upgrader_Base {
private
function
getCurrentRevisionDeprecated
()
{
$key
=
$this
->
extensionName
.
':version'
;
if
(
$revision
=
CRM_Core_BAO_Setting
::
getItem
(
'Extension'
,
$key
))
{
if
(
$revision
=
\Civi
::
settings
()
->
get
(
$key
))
{
$this
->
revisionStorageIsDeprecated
=
TRUE
;
}
return
$revision
;
...
...
@@ -302,7 +323,7 @@ class CRM_Dataprocessor_Upgrader_Base {
$this
->
executeCustomDataFileByAbsPath
(
$file
);
}
}
if
(
is_callable
(
array
(
$this
,
'install'
)
))
{
if
(
is_callable
(
[
$this
,
'install'
]
))
{
$this
->
install
();
}
}
...
...
@@ -315,7 +336,7 @@ class CRM_Dataprocessor_Upgrader_Base {
if
(
!
empty
(
$revisions
))
{
$this
->
setCurrentRevision
(
max
(
$revisions
));
}
if
(
is_callable
(
array
(
$this
,
'postInstall'
)
))
{
if
(
is_callable
(
[
$this
,
'postInstall'
]
))
{
$this
->
postInstall
();
}
}
...
...
@@ -330,7 +351,7 @@ class CRM_Dataprocessor_Upgrader_Base {
$this
->
executeSqlTemplate
(
$file
);
}
}
if
(
is_callable
(
array
(
$this
,
'uninstall'
)
))
{
if
(
is_callable
(
[
$this
,
'uninstall'
]
))
{
$this
->
uninstall
();
}
$files
=
glob
(
$this
->
extensionDir
.
'/sql/*_uninstall.sql'
);
...
...
@@ -346,7 +367,7 @@ class CRM_Dataprocessor_Upgrader_Base {
*/
public
function
onEnable
()
{
// stub for possible future use
if
(
is_callable
(
array
(
$this
,
'enable'
)
))
{
if
(
is_callable
(
[
$this
,
'enable'
]
))
{
$this
->
enable
();
}
}
...
...
@@ -356,7 +377,7 @@ class CRM_Dataprocessor_Upgrader_Base {
*/
public
function
onDisable
()
{
// stub for possible future use
if
(
is_callable
(
array
(
$this
,
'disable'
)
))
{
if
(
is_callable
(
[
$this
,
'disable'
]
))
{
$this
->
disable
();
}
}
...
...
@@ -364,7 +385,7 @@ class CRM_Dataprocessor_Upgrader_Base {
public
function
onUpgrade
(
$op
,
CRM_Queue_Queue
$queue
=
NULL
)
{
switch
(
$op
)
{
case
'check'
:
return
array
(
$this
->
hasPendingRevisions
()
)
;
return
[
$this
->
hasPendingRevisions
()
]
;
case
'enqueue'
:
return
$this
->
enqueuePendingRevisions
(
$queue
);
...
...
This diff is collapsed.
Click to expand it.
CRM/Dataprocessor/Utils/Cache.php
+
2
−
2
View file @
cdfa9dc8
...
...
@@ -53,7 +53,7 @@ class CRM_Dataprocessor_Utils_Cache {
* @return mixed
*/
public
function
get
(
$key
,
$default
=
NULL
)
{
$environment
=
CRM_Core_BAO_Setting
::
getItem
(
''
,
'environment'
);
$environment
=
\Civi
::
settings
()
->
get
(
'environment'
);
if
(
$environment
==
'Production'
)
{
return
$this
->
cache
->
get
(
$key
,
$default
);
}
...
...
@@ -68,7 +68,7 @@ class CRM_Dataprocessor_Utils_Cache {
* @return bool
*/
public
function
set
(
$key
,
$value
,
$ttl
=
NULL
)
{
$environment
=
CRM_Core_BAO_Setting
::
getItem
(
''
,
'environment'
);
$environment
=
\Civi
::
settings
()
->
get
(
'environment'
);
if
(
$environment
==
'Production'
)
{
return
$this
->
cache
->
set
(
$key
,
$value
,
$ttl
);
}
...
...
This diff is collapsed.
Click to expand it.
dataprocessor.civix.php
+
19
−
23
View file @
cdfa9dc8
...
...
@@ -193,8 +193,9 @@ function _dataprocessor_civix_civicrm_disable() {
* @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
* @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
*/
...
...
@@ -225,7 +226,7 @@ function _dataprocessor_civix_upgrader() {
* @param string $dir base dir
* @param string $pattern , glob pattern, eg "*.txt"
*
* @return array
(string)
* @return array
*/
function
_dataprocessor_civix_find_files
(
$dir
,
$pattern
)
{
if
(
is_callable
([
'CRM_Utils_File'
,
'findFiles'
]))
{
...
...
@@ -244,7 +245,7 @@ function _dataprocessor_civix_find_files($dir, $pattern) {
if
(
$dh
=
opendir
(
$subdir
))
{
while
(
FALSE
!==
(
$entry
=
readdir
(
$dh
)))
{
$path
=
$subdir
.
DIRECTORY_SEPARATOR
.
$entry
;
if
(
$entry
{
0
}
==
'.'
)
{
if
(
$entry
[
0
]
==
'.'
)
{
}
elseif
(
is_dir
(
$path
))
{
$todos
[]
=
$path
;
...
...
@@ -255,6 +256,7 @@ function _dataprocessor_civix_find_files($dir, $pattern) {
}
return
$result
;
}
/**
* (Delegated) Implements hook_civicrm_managed().
*
...
...
@@ -362,7 +364,7 @@ function _dataprocessor_civix_civicrm_themes(&$themes) {
* @link http://php.net/glob
* @param string $pattern
*
* @return array
, possibly empty
* @return array
*/
function
_dataprocessor_civix_glob
(
$pattern
)
{
$result
=
glob
(
$pattern
);
...
...
@@ -470,38 +472,32 @@ function _dataprocessor_civix_civicrm_alterSettingsFolders(&$metaDataFolders = N
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes
*/
function
_dataprocessor_civix_civicrm_entityTypes
(
&
$entityTypes
)
{
$entityTypes
=
array_merge
(
$entityTypes
,
array
(
'CRM_Dataprocessor_DAO_DataProcessor'
=>
array
(
$entityTypes
=
array_merge
(
$entityTypes
,
[
'CRM_Dataprocessor_DAO_DataProcessor'
=>
[
'name'
=>
'DataProcessor'
,
'class'
=>
'CRM_Dataprocessor_DAO_DataProcessor'
,
'table'
=>
'civicrm_data_processor'
,
),
'CRM_Dataprocessor_DAO_DataProcessorField'
=>
array
(
],
'CRM_Dataprocessor_DAO_DataProcessorField'
=>
[
'name'
=>
'DataProcessorField'
,
'class'
=>
'CRM_Dataprocessor_DAO_DataProcessorField'
,
'table'
=>
'civicrm_data_processor_field'
,
),
'CRM_Dataprocessor_DAO_DataProcessorFilter'
=>
array
(
],
'CRM_Dataprocessor_DAO_DataProcessorFilter'
=>
[
'name'
=>
'DataProcessorFilter'
,
'class'
=>
'CRM_Dataprocessor_DAO_DataProcessorFilter'
,
'table'
=>
'civicrm_data_processor_filter'
,
),
'CRM_Dataprocessor_DAO_DataProcessorOutput'
=>
array
(
],
'CRM_Dataprocessor_DAO_DataProcessorOutput'
=>
[
'name'
=>
'DataProcessorOutput'
,
'class'
=>
'CRM_Dataprocessor_DAO_DataProcessorOutput'
,
'table'
=>
'civicrm_data_processor_output'
,
),
'CRM_Dataprocessor_DAO_DataProcessorSource'
=>
array
(
],
'CRM_Dataprocessor_DAO_DataProcessorSource'
=>
[
'name'
=>
'DataProcessorSource'
,
'class'
=>
'CRM_Dataprocessor_DAO_DataProcessorSource'
,
'table'
=>
'civicrm_data_processor_source'
,
)
,
)
);
]
,
]
);
}
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