Eileen has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/290828

Change subject: basic merge command
......................................................................

basic merge command

Change-Id: I2f00b8313d228b3fb0053b570f152f03eae9314c
---
A sites/all/modules/wmf_civicrm/scripts/civicrm_merge.drush.inc
1 file changed, 47 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm 
refs/changes/28/290828/1

diff --git a/sites/all/modules/wmf_civicrm/scripts/civicrm_merge.drush.inc 
b/sites/all/modules/wmf_civicrm/scripts/civicrm_merge.drush.inc
new file mode 100644
index 0000000..ff22e5b
--- /dev/null
+++ b/sites/all/modules/wmf_civicrm/scripts/civicrm_merge.drush.inc
@@ -0,0 +1,47 @@
+<?php
+
+/**
+* Implementation of hook_drush_command()
+*/
+function civicrm_merge_drush_command() {
+    $items = array();
+
+    $items['civicrm_merge'] = array(
+        'description' => 'Merge CiviCRM contacts in batches',
+        'options' => array(
+          'batch' => "Batch size",
+        ),
+    );
+
+    return $items;
+}
+
+/**
+ * Implementation of hook_drush_help()
+ */
+function civicrm_merge_drush_help( $section ) {
+    switch ( $section ) {
+    case 'drush:civicrm_merge':
+        return dt( 'Merge a bunch of CiviCRM contacts' );
+    }
+}
+
+/**
+ * Merge a bactch of contacts using the default rule.
+ *
+ * @throws \CiviCRM_API3_Exception
+ */
+function drush_civicrm_merge() {
+    module_invoke( 'civicrm', 'initialize' );
+    $start = variable_get('civicrm_merge_batch', 1);
+    $batch_size = (integer) drush_get_option( 'batch', variable_get( 
'wmf_civicrm_merge_batch_size', 100));
+    $result = civicrm_api3('Job', 'process_batch_merge', array(
+      'rgid' => 4,
+      'criteria' => array(
+        'contact' => array('id' => array('BETWEEN' => array($start, $start + 
$batch_size))),
+      ),
+    ));
+    variable_set('civicrm_merge_batch', $start + $batch_size);
+    drush_print("Processed id range $start to " . $start + $batch_size . '
+    Merged ' . count($result['values']['merged']) . ". Skipped " . 
count($result['values']['skipped']));
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/290828
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2f00b8313d228b3fb0053b570f152f03eae9314c
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: master
Gerrit-Owner: Eileen <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to