/** * Add the Message Templates. * * @param array $params * Reference array contains the values submitted by the form. * * * @return object */ public static function add(&$params) { $hook = empty($params['id']) ? 'create' : 'edit'; CRM_Utils_Hook::pre($hook, 'MessageTemplate', CRM_Utils_Array::value('id', $params), $params); $messageTemplates = new CRM_Core_DAO_MessageTemplate(); $messageTemplates->copyValues($params); $messageTemplates->save(); CRM_Utils_Hook::post($hook, 'MessageTemplate', $messageTemplates->id, $messageTemplates); return $messageTemplates; }
/** * Add the Message Templates. * * @param array $params * Reference array contains the values submitted by the form. * * * @return object */ public static function add(&$params) { $hook = empty($params['id']) ? 'create' : 'edit'; CRM_Utils_Hook::pre($hook, 'MessageTemplate', CRM_Utils_Array::value('id', $params), $params); if (!empty($params['file_id']) && is_array($params['file_id']) && count($params['file_id'])) { $fileParams = $params['file_id']; unset($params['file_id']); } $messageTemplates = new CRM_Core_DAO_MessageTemplate(); $messageTemplates->copyValues($params); $messageTemplates->save(); if (!empty($fileParams)) { $params['file_id'] = $fileParams; CRM_Core_BAO_File::filePostProcess($params['file_id']['location'], NULL, 'civicrm_msg_template', $messageTemplates->id, NULL, TRUE, $params['file_id'], 'file_id', $params['file_id']['type']); } CRM_Utils_Hook::post($hook, 'MessageTemplate', $messageTemplates->id, $messageTemplates); return $messageTemplates; }
static function copyTemplate() { $msgTplId = CRM_Utils_Request::retrieve('id', 'Positive', CRM_Core_DAO::$_nullObject, TRUE); $mosaicoMsgTplId = CRM_Mosaico_Utils::getMosaicoMsgTplIdFromMsgTplId($msgTplId); // get the message template which is going to be copied. $messageTemplate = new CRM_Core_DAO_MessageTemplate(); $messageTemplate->id = $msgTplId; if ($messageTemplate->find(TRUE)) { $buildNewMsgTemplate = array(); $buildNewMsgTemplate['msg_title'] = 'Copy of ' . $messageTemplate->msg_title; $buildNewMsgTemplate['msg_subject'] = 'Copy of ' . $messageTemplate->msg_subject; $buildNewMsgTemplate['msg_html'] = $messageTemplate->msg_html; $newMessageTemplate = new CRM_Core_DAO_MessageTemplate(); $newMessageTemplate->copyValues($buildNewMsgTemplate); $newMessageTemplate->save(); $copiedMsgTplId = $newMessageTemplate->id; $copiedMsgTplName = $newMessageTemplate->msg_title; // Build mosaico message template params to create new mosaico msg template $mosaicoTemplate = CRM_Mosaico_Utils::getMosaicoMsgTemplate($mosaicoMsgTplId); $mosaicoTemplate['msg_tpl_id'] = $copiedMsgTplId; $mosaicoTemplate['name'] = $copiedMsgTplName; $mosTpl = new CRM_Mosaico_DAO_MessageTemplate(); $mosTpl->copyValues($mosaicoTemplate); $mosTpl->save(); $result = array('newMosaicoTplId' => $mosTpl->id, 'from_hash_key' => $mosTpl->hash_key, 'name' => $mosTpl->name); CRM_Utils_JSON::output($result); } }