本文整理汇总了PHP中CRM_Mailing_Event_BAO_Queue::bulkCreate方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Mailing_Event_BAO_Queue::bulkCreate方法的具体用法?PHP CRM_Mailing_Event_BAO_Queue::bulkCreate怎么用?PHP CRM_Mailing_Event_BAO_Queue::bulkCreate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Mailing_Event_BAO_Queue
的用法示例。
在下文中一共展示了CRM_Mailing_Event_BAO_Queue::bulkCreate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: queue
/**
* @param array $testParams
*/
public function queue($testParams = NULL)
{
$mailing = new CRM_Mailing_BAO_Mailing();
$mailing->id = $this->mailing_id;
if (!empty($testParams)) {
$mailing->getTestRecipients($testParams);
} else {
// We are still getting all the recipients from the parent job
// so we don't mess with the include/exclude logic.
$recipients = CRM_Mailing_BAO_Recipients::mailingQuery($this->mailing_id, $this->job_offset, $this->job_limit);
// FIXME: this is not very smart, we should move this to one DB call
// INSERT INTO ... SELECT FROM ..
// the thing we need to figure out is how to generate the hash automatically
$now = time();
$params = array();
$count = 0;
while ($recipients->fetch()) {
if ($recipients->phone_id) {
$recipients->email_id = "null";
} else {
$recipients->phone_id = "null";
}
$params[] = array($this->id, $recipients->email_id, $recipients->contact_id, $recipients->phone_id);
$count++;
if ($count % CRM_Core_DAO::BULK_MAIL_INSERT_COUNT == 0) {
CRM_Mailing_Event_BAO_Queue::bulkCreate($params, $now);
$count = 0;
$params = array();
}
}
if (!empty($params)) {
CRM_Mailing_Event_BAO_Queue::bulkCreate($params, $now);
}
}
}