public function doTask($entityData) { global $current_user, $log, $root_directory; $request = new Vtiger_Request($_REQUEST, $_REQUEST); $adb = PearDatabase::getInstance(); $PDFMaker = new PDFMaker_PDFMaker_Model(); $userId = $entityData->get('assigned_user_id'); if ($userId === null) { $userId = vtws_getWebserviceEntityId('Users', 1); } $moduleName = $entityData->getModuleName(); $adminUser = $this->getAdmin(); $id = $entityData->getId(); list($id2, $assigned_user_id) = explode("x", $userId); list($id3, $parentid) = explode("x", $id); $focus = CRMEntity::getInstance("Documents"); $focus->parentid = $parentid; $modFocus = CRMEntity::getInstance($moduleName); if (isset($focus->parentid)) { $modFocus->retrieve_entity_info($focus->parentid, $moduleName); $modFocus->id = $focus->parentid; } $templateid = $this->template; if ($templateid != "" && $templateid != "0") { if ($PDFMaker->isTemplateDeleted($templateid)) { return; } $foldername = $adb->getOne("SELECT foldername FROM vtiger_attachmentsfolder WHERE folderid='" . $this->folder . "'", 0, "foldername"); $fieldname = $adb->getOne("SELECT fieldname FROM vtiger_field WHERE uitype=4 AND tabid=" . getTabId($moduleName), 0, "fieldname"); if (isset($modFocus->column_fields[$fieldname]) && $modFocus->column_fields[$fieldname] != "") { $file_name = $PDFMaker->generate_cool_uri($foldername . "_" . $modFocus->column_fields[$fieldname]) . ".pdf"; } else { $file_name = $PDFMaker->generate_cool_uri($foldername . "_" . $templateid . $focus->parentid . date("ymdHi")) . ".pdf"; } $focus->column_fields['notes_title'] = $this->title; $focus->column_fields['assigned_user_id'] = $assigned_user_id; $focus->column_fields['filename'] = $file_name; $focus->column_fields['notecontent'] = $this->description; $focus->column_fields['filetype'] = 'application/pdf'; $focus->column_fields['filesize'] = ''; $focus->column_fields['filelocationtype'] = 'I'; $focus->column_fields['fileversion'] = ''; $focus->column_fields['filestatus'] = 'on'; $focus->column_fields['folderid'] = $this->folder; $focus->save('Documents'); $language = $this->template_language; $PDFMaker->createPDFAndSaveFile($request, $templateid, $focus, $modFocus, $file_name, $moduleName, $language); } }
public function doTask($entity) { global $current_user; $util = new VTWorkflowUtils(); $admin = $util->adminUser(); $module = $entity->getModuleName(); $taskContents = Zend_Json::decode($this->getContents($entity)); $from_email = $taskContents['fromEmail']; $from_name = $taskContents['fromName']; $to_email = $taskContents['toEmail']; $cc = $taskContents['ccEmail']; $bcc = $taskContents['bccEmail']; $subject = $taskContents['subject']; $content = $taskContents['content']; if (!empty($to_email)) { //Storing the details of emails $entityIdDetails = vtws_getIdComponents($entity->getId()); $entityId = $entityIdDetails[1]; $moduleName = 'Emails'; $userId = $current_user->id; $emailFocus = CRMEntity::getInstance($moduleName); $emailFieldValues = array('assigned_user_id' => $userId, 'subject' => $subject, 'description' => $content, 'from_email' => $from_email, 'saved_toid' => $to_email, 'ccmail' => $cc, 'bccmail' => $bcc, 'parent_id' => $entityId . "@{$userId}|", 'email_flag' => 'SENT', 'activitytype' => $moduleName, 'date_start' => date('Y-m-d'), 'time_start' => date('H:i:s'), 'mode' => '', 'id' => ''); $emailFocus->column_fields = $emailFieldValues; $emailFocus->save($moduleName); //Including email tracking details global $site_URL, $application_unique_key; $emailId = $emailFocus->id; $trackURL = "{$site_URL}/modules/Emails/TrackAccess.php?record={$entityId}&mailid={$emailId}&app_key={$application_unique_key}"; $content = "<img src='{$trackURL}' alt='' width='1' height='1'>{$content}"; if (stripos($content, '<img src="cid:logo" />')) { $logo = 1; } if (is_array($this->template)) { $Templates = $this->template; } else { $Templates = array($this->template); } if (count($Templates) > 0) { $request = new Vtiger_Request($_REQUEST, $_REQUEST); $adb = PearDatabase::getInstance(); $PDFMaker = new PDFMaker_PDFMaker_Model(); list($id3, $id) = explode("x", $entity->getId()); $modFocus = CRMEntity::getInstance($module); $modFocus->retrieve_entity_info($id, $module); $modFocus->id = $id; $language = $this->template_language; foreach ($Templates as $templateid) { if ($templateid != "0" && $templateid != "") { if ($PDFMaker->isTemplateDeleted($templateid)) { return; } $result = $adb->query("SELECT fieldname FROM vtiger_field WHERE uitype=4 AND tabid=" . getTabId($module)); $fieldname = $adb->query_result($result, 0, "fieldname"); if (isset($modFocus->column_fields[$fieldname]) && $modFocus->column_fields[$fieldname] != "") { $file_name = $PDFMaker->generate_cool_uri($modFocus->column_fields[$fieldname]) . ".pdf"; } else { $file_name = $templateid . $emailFocus->parentid . date("ymdHi") . ".pdf"; } $PDFMaker->createPDFAndSaveFile($request, $templateid, $emailFocus, $modFocus, $file_name, $module, $language); } } $status = send_mail($module, $to_email, $from_name, $from_email, $subject, $content, $cc, $bcc, 'all', $emailId, $logo); } else { $status = send_mail($module, $to_email, $from_name, $from_email, $subject, $content, $cc, $bcc, '', '', $logo); } if (!empty($emailId)) { $emailFocus->setEmailAccessCountValue($emailId); } if (!$status) { //If mail is not sent then removing the details about email $emailFocus->trash($moduleName, $emailId); } } $util->revertUser(); }