}
return $dao;
}
+
+ /**
+ * Update mode column in civicrm_recurring_entity table for event related tabs
+ *
+ * @params int $entityId event id
+ * @params string $linkedEntityTable Linked entity table name for this event
+ * @return array
+ */
+ public static function updateModeLinkedEntity($entityId, $linkedEntityTable, $mainEntityTable) {
+ $result = array();
+ if ( $entityId && $linkedEntityTable && $mainEntityTable ) {
+ if (CRM_Utils_Array::value($linkedEntityTable, self::$_tableDAOMapper)) {
+ $dao = self::$_tableDAOMapper[$linkedEntityTable];
+ }
+ else {
+ CRM_Core_Session::setStatus('Could not update mode for linked entities');
+ return;
+ }
+ $entityTable = $linkedEntityTable;
+ $params = array(
+ 'entity_id' => $entityId,
+ 'entity_table' => $mainEntityTable
+ );
+ $defaults = array();
+ CRM_Core_DAO::commonRetrieve($dao, $params, $defaults);
+ if (CRM_Utils_Array::value('id', $defaults)) {
+ $result['entityId'] = $defaults['id'];
+ $result['entityTable'] = $entityTable;
+ }
+ }
+ return $result;
+ }
}
if (CRM_Utils_Array::value('linkedEntityTable', $_REQUEST)) {
$result = array();
- $result = CRM_Event_Form_ManageEvent_Repeat::updateModeRecurringEntityForEvent($entityId, $_REQUEST['linkedEntityTable']);
+ $result = CRM_Core_BAO_RecurringEntity::updateModeLinkedEntity($entityId, $_REQUEST['linkedEntityTable'], $entityTable);
}
$dao = new CRM_Core_DAO_RecurringEntity();
return $participantDetails;
}
- /**
- * Update mode column in civicrm_recurring_entity table for event related tabs
- *
- * @params int $entityId event id
- * @params string $linkedEntityTable Linked entity table name for this event
- * @return array
- */
- public static function updateModeRecurringEntityForEvent($entityId, $linkedEntityTable) {
- $result = array();
- if ( $entityId && $linkedEntityTable ) {
- switch ($linkedEntityTable) {
- case 'civicrm_tell_friend':
- $dao = 'CRM_Friend_DAO_Friend';
- $entityTable = 'civicrm_tell_friend';
- break;
-
- case 'civicrm_pcp_block':
- $dao = 'CRM_PCP_DAO_PCPBlock';
- $entityTable = 'civicrm_pcp_block';
- break;
-
- case 'civicrm_price_set_entity':
- $dao = 'CRM_Price_DAO_PriceSetEntity';
- $entityTable = 'civicrm_price_set_entity';
- break;
-
- case 'civicrm_uf_join':
- $dao = 'CRM_Core_DAO_UFJoin';
- $entityTable = 'civicrm_uf_join';
- break;
- }
- $params = array(
- 'entity_id' => $entityId,
- 'entity_table' => 'civicrm_event'
- );
- $defaults = array();
- CRM_Core_DAO::commonRetrieve($dao, $params, $defaults);
- if (CRM_Utils_Array::value('id', $defaults)) {
- $result['entityId'] = $defaults['id'];
- $result['entityTable'] = $entityTable;
- }
- }
- return $result;
- }
-
/**
* This function checks if there was any registraion for related event ids,
* and returns array of ids with no regsitrations