public function testFlipData() { $dao = new CRM_Core_BAO_PrevNextCache(); $dao->entity_id1 = 1; $dao->entity_id2 = 2; $dao->data = serialize(array('srcID' => 1, 'srcName' => 'Ms. Meliissa Mouse II', 'dstID' => 2, 'dstName' => 'Mr. Maurice Mouse II', 'weight' => 20, 'canMerge' => TRUE)); $dao->save(); $dao = new CRM_Core_BAO_PrevNextCache(); $dao->id = 1; CRM_Core_BAO_PrevNextCache::flipPair(array(1), 0); $dao->find(TRUE); $this->assertEquals(1, $dao->entity_id1); $this->assertEquals(2, $dao->entity_id2); $this->assertEquals(serialize(array('srcName' => 'Mr. Maurice Mouse II', 'dstID' => 1, 'dstName' => 'Ms. Meliissa Mouse II', 'weight' => 20, 'canMerge' => TRUE, 'srcID' => 2)), $dao->data); $this->quickCleanup(array('civicrm_prevnext_cache')); }
/** * Swap contacts in a dupe pair i.e main with duplicate contact. * * @param int $prevNextId */ public static function flipDupePairs($prevNextId = NULL) { if (!$prevNextId) { // @todo figure out if this is always POST & specify that rather than inexact GET $prevNextId = CRM_Utils_Request::retrieve('pnid', 'Integer'); } $onlySelected = FALSE; if (is_array($prevNextId) && !CRM_Utils_Array::crmIsEmptyArray($prevNextId)) { $onlySelected = TRUE; } $prevNextId = CRM_Utils_Type::escapeAll((array) $prevNextId, 'Positive'); CRM_Core_BAO_PrevNextCache::flipPair($prevNextId, $onlySelected); CRM_Utils_System::civiExit(); }