/** * Create a new BatchSettings based on array-data * * @param array $params key-value pairs * * @return CRM_Civigiftaid_DAO_BatchSettings|NULL */ public static function create($params) { static::addDefaults($params); static::preProcessParams($params); $entityName = 'BatchSettings'; $hook = empty($params['id']) ? 'create' : 'edit'; CRM_Utils_Hook::pre($hook, $entityName, CRM_Utils_Array::value('id', $params), $params); $instance = new static(); $instance->copyValues($params); $instance->save(); CRM_Utils_Hook::post($hook, $entityName, $instance->id, $instance); return $instance; }
/** * Add the mailings. * * @param array $params * Reference array contains the values submitted by the form. * @param array $ids * Reference array contains the id. * * * @return CRM_Mailing_DAO_Mailing */ public static function add(&$params, $ids = array()) { $id = CRM_Utils_Array::value('mailing_id', $ids, CRM_Utils_Array::value('id', $params)); if ($id) { CRM_Utils_Hook::pre('edit', 'Mailing', $id, $params); } else { CRM_Utils_Hook::pre('create', 'Mailing', NULL, $params); } $mailing = new static(); if ($id) { $mailing->id = $id; $mailing->find(TRUE); } $mailing->domain_id = CRM_Utils_Array::value('domain_id', $params, CRM_Core_Config::domainID()); if (!isset($params['replyto_email']) && isset($params['from_email'])) { $params['replyto_email'] = $params['from_email']; } $mailing->copyValues($params); $result = $mailing->save(); if (!empty($ids['mailing'])) { CRM_Utils_Hook::post('edit', 'Mailing', $mailing->id, $mailing); } else { CRM_Utils_Hook::post('create', 'Mailing', $mailing->id, $mailing); } return $result; }
/** * Create or update a SimpleMail mailing and the corresponding CiviCRM mailing, along with other related tasks, such * as creating a mailing job for scheduling mass emailing. * * @param array $params key-value pairs * * @return \CRM_Simplemail_DAO_SimpleMail|NULL * @throws \CRM_Extension_Exception */ public static function create($params) { if (!static::isActionAllowed(static::ACTION_ALLOWED_UPDATE, $params)) { throw new CRM_Extension_Exception('Cannot update a scheduled mailing', 405); } if (simplemail_civicrm_getFromSessionScope('createdFromSearch')) { static::createSmartContactGroupForSearchContacts(); } static::sanitiseParams($params); // buids the mailing to be sent // things like the email body etc $civiMailing = static::createCiviMailing($params); if ($civiMailing->id) { $params['crm_mailing_id'] = $civiMailing->id; } static::updateRecipientGroups($params); static::setMailingCategory($params); $entityName = 'SimpleMail'; $hook = empty($params['id']) ? 'create' : 'edit'; CRM_Utils_Hook::pre($hook, $entityName, CRM_Utils_Array::value('id', $params), $params); $instance = new static(); $instance->copyValues($params); $instance->save(); CRM_Utils_Hook::post($hook, $entityName, $instance->id, $instance); return $instance; }