private function sendEmail($password) { $batchJob = new BatchJob(); $batchJob->setPartnerId(Partner::ADMIN_CONSOLE_PARTNER_ID); $jobData = new kMailJobData(); $jobData->setMailPriority(kMailJobData::MAIL_PRIORITY_NORMAL); $jobData->setStatus(kMailJobData::MAIL_STATUS_PENDING); $jobData->setBodyParamsArray(array($password)); $jobData->setMailType(112); $jobData->setFromEmail(kConf::get("default_email")); $jobData->setFromName(kConf::get("default_email_name")); $jobData->setRecipientEmail($this->getEmail()); $jobData->setSubjectParamsArray(array()); kJobsManager::addJob($batchJob, $jobData, BatchJobType::MAIL, $jobData->getMailType()); }
public static function handleBulkDownloadFinished(BatchJob $dbBatchJob, kBulkDownloadJobData $data, BatchJob $twinJob = null) { if ($dbBatchJob->getAbort()) { return $dbBatchJob; } $partner = PartnerPeer::retrieveByPK($dbBatchJob->getPartnerId()); if (!$partner) { KalturaLog::err("Partner id [" . $dbBatchJob->getPartnerId() . "] not found, not sending mail"); return $dbBatchJob; } $adminName = $partner->getAdminName(); $entryIds = explode(",", $data->getEntryIds()); $flavorParamsId = $data->getFlavorParamsId(); $links = array(); foreach ($entryIds as $entryId) { $entry = entryPeer::retrieveByPK($entryId); if (is_null($entry)) { continue; } $link = $entry->getDownloadAssetUrl($flavorParamsId); if (is_null($link)) { $link = "Failed to prepare"; } else { $link = '<a href="' . $link . '">Download</a>'; } $links[] = $entry->getName() . " - " . $link; } $linksHtml = implode("<br />", $links); // add mail job $jobData = new kMailJobData(); $jobData->setIsHtml(true); $jobData->setMailPriority(kMailJobData::MAIL_PRIORITY_NORMAL); $jobData->setStatus(kMailJobData::MAIL_STATUS_PENDING); if (count($links) <= 1) { $jobData->setMailType(62); } else { $jobData->setMailType(63); } $jobData->setBodyParamsArray(array($adminName, $linksHtml)); $jobData->setFromEmail(kConf::get("batch_download_video_sender_email")); $jobData->setFromName(kConf::get("batch_download_video_sender_name")); $kuser = kuserPeer::getKuserByPartnerAndUid($dbBatchJob->getPartnerId(), $data->getPuserId()); if ($kuser) { $recipientEmail = $kuser->getEmail(); } else { KalturaLog::err('Cannot find kuser with puserId [' . $dbBatchJob->getPartnerId() . '] and partnerId [' . $data->getPuserId() . ']. Sending mail to admin user instead.'); $recipientEmail = $partner->getAdminEmail(); } $jobData->setRecipientEmail($recipientEmail); $jobData->setSubjectParamsArray(array()); kJobsManager::addJob($dbBatchJob->createChild(), $jobData, BatchJobType::MAIL, $jobData->getMailType()); return $dbBatchJob; }
public static function addMailJob(BatchJob $parentJob = null, $entryId, $partnerId, $mailType, $mailPriority, $fromEmail, $fromName, $toEmail, array $bodyParams = array(), array $subjectParams = array(), $toName = null, $toId = null, $camaignId = null, $templatePath = null, $separator = null) { $jobData = new kMailJobData(); $jobData->setMailPriority($mailPriority); $jobData->setMailType($mailType); $jobData->setFromEmail($fromEmail); $jobData->setFromName($fromName); if ($separator) { $jobData->setSeparator($separator); } $jobData->setBodyParamsArray($bodyParams); $jobData->setSubjectParamsArray($subjectParams); $jobData->setRecipientEmail($toEmail); $jobData->setRecipientName($toName); $jobData->setRecipientId($toId); $jobData->setCampaignId($camaignId); $jobData->setCampaignId($camaignId); $jobData->setTemplatePath($templatePath); $partner = PartnerPeer::retrieveByPK($partnerId); $jobData->setLanguage($partner->getLanguage()); $batchJob = null; if ($parentJob) { $batchJob = $parentJob->createChild(BatchJobType::MAIL, $mailType); } else { $batchJob = new BatchJob(); $batchJob->setEntryId($entryId); $batchJob->setPartnerId($partnerId); } return self::addJob($batchJob, $jobData, BatchJobType::MAIL, $mailType); }
public static function handleBulkDownloadFinished(BatchJob $dbBatchJob, kBulkDownloadJobData $data) { if ($dbBatchJob->getExecutionStatus() == BatchJobExecutionStatus::ABORTED) { return $dbBatchJob; } $partner = PartnerPeer::retrieveByPK($dbBatchJob->getPartnerId()); if (!$partner) { KalturaLog::err("Partner id [" . $dbBatchJob->getPartnerId() . "] not found, not sending mail"); return $dbBatchJob; } $entryIds = explode(",", $data->getEntryIds()); $flavorParamsId = $data->getFlavorParamsId(); $links = array(); foreach ($entryIds as $entryId) { $entry = entryPeer::retrieveByPK($entryId); if (is_null($entry)) { continue; } if ($entry->getType() != entryType::MEDIA_CLIP) { KalturaLog::info("This entry cannot be downloaded {$entryId}"); continue; } $link = $entry->getDownloadAssetUrl($flavorParamsId); if (is_null($link)) { $link = "Failed to prepare"; } else { $link = '<a href="' . $link . '">Download</a>'; } $links[] = $entry->getName() . " - " . $link; } $linksHtml = implode("<br />", $links); // add mail job $jobData = new kMailJobData(); $jobData->setIsHtml(true); $jobData->setMailPriority(kMailJobData::MAIL_PRIORITY_NORMAL); $jobData->setStatus(kMailJobData::MAIL_STATUS_PENDING); if (count($links) <= 1) { $jobData->setMailType(62); } else { $jobData->setMailType(63); } $jobData->setFromEmail(kConf::get("batch_download_video_sender_email")); $jobData->setFromName(kConf::get("batch_download_video_sender_name")); $adminName = $partner->getAdminName(); $recipientEmail = $partner->getAdminEmail(); $kuser = kuserPeer::getKuserByPartnerAndUid($dbBatchJob->getPartnerId(), $data->getPuserId()); if ($kuser) { $recipientEmail = $kuser->getEmail(); $adminName = $kuser->getFullName(); } if (!$adminName) { $adminName = $recipientEmail; } $jobData->setSeparator(self::BULK_DOWNLOAD_EMAIL_PARAMS_SEPARATOR); $jobData->setBodyParamsArray(array($adminName, $linksHtml)); $jobData->setRecipientEmail($recipientEmail); $jobData->setSubjectParamsArray(array()); kJobsManager::addJob($dbBatchJob->createChild(BatchJobType::MAIL, $jobData->getMailType()), $jobData, BatchJobType::MAIL, $jobData->getMailType()); return $dbBatchJob; }
protected static function alert(BatchJob $dbBatchJob, Exception $exception) { $jobData = new kMailJobData(); $jobData->setMailPriority(kMailJobData::MAIL_PRIORITY_HIGH); $jobData->setStatus(kMailJobData::MAIL_STATUS_PENDING); KalturaLog::alert("Error in job [{$dbBatchJob->getId()}]\n" . $exception); $jobData->setMailType(90); // is the email template $jobData->setBodyParamsArray(array($dbBatchJob->getId(), $exception->getFile(), $exception->getLine(), $exception->getMessage(), $exception->getTraceAsString())); $jobData->setFromEmail(kConf::get("batch_alert_email")); $jobData->setFromName(kConf::get("batch_alert_name")); $jobData->setRecipientEmail(kConf::get("batch_alert_email")); $jobData->setSubjectParamsArray(array()); kJobsManager::addJob($dbBatchJob->createChild(BatchJobType::MAIL, $jobData->getMailType()), $jobData, BatchJobType::MAIL, $jobData->getMailType()); }