Exemplo n.º 1
0
 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;
 }