function pcpteams_civicrm_custom($op, $groupID, $entityID, &$params) { if ($op != 'create' && $op != 'edit') { return; } $customFields = array(); if ($groupID == CRM_Pcpteams_Utils::getPcpCustomSetId()) { foreach ($params as $key => $value) { $customFields[$value['column_name']] = $value['value']; } $teamContactId = CRM_Pcpteams_Utils::getcontactIdbyPcpId($entityID); if ('Team' == CRM_Pcpteams_Utils::checkPcpType($entityID)) { $cfpcpab = CRM_Pcpteams_Utils::getPcpABCustomFieldId(); $customParams = array("custom_{$cfpcpab}" => $entityID); CRM_Pcpteams_Utils::reCreateRelationship($teamContactId, $customFields['org_id'], CRM_Pcpteams_Constant::C_CORPORATE_REL_TYPE, $customParams); } } }
static function adjustTeamTarget($pcpId) { if (empty($pcpId)) { return NULL; } $pcpType = CRM_Pcpteams_Utils::checkPcpType($pcpId); // only for indiviual pcp if ($pcpType != CRM_Pcpteams_Constant::C_CONTACT_SUB_TYPE_TEAM) { $selectTeamPcpQuery = "SELECT team_pcp_id FROM civicrm_value_pcp_custom_set WHERE entity_id ={$pcpId}"; $teamPcpId = CRM_Core_DAO::singleValueQuery($selectTeamPcpQuery); $isEdit = CRM_Pcpteams_Utils::hasPermission($teamPcpId, NULL, CRM_Core_Permission::EDIT); if ($isEdit) { $query = "\n UPDATE civicrm_pcp p1 \n INNER JOIN civicrm_value_pcp_custom_set cs ON cs.team_pcp_id = p1.id\n INNER JOIN civicrm_pcp p2 ON p2.id = cs.entity_id\n SET p1.goal_amount = p2.goal_amount\n WHERE cs.entity_id = %1 AND (p1.goal_amount is NULL OR p1.goal_amount = 0) AND (p2.goal_amount IS NOT NULL OR p2.goal_amount <> 0)"; $queryParams = array(1 => array($pcpId, 'String')); CRM_Core_DAO::executeQuery($query, $queryParams); } } }