function CustomerCommentFromPortal($entityData) { $adb = PearDatabase::getInstance(); $data = $entityData->getData(); $customerWSId = $data['customer']; $relatedToWSId = $data['related_to']; $relatedToId = explode('x', $relatedToWSId); $moduleName = getSalesEntityType($relatedToId[1]); if ($moduleName == 'HelpDesk' && !empty($customerWSId)) { $ownerIdInfo = getRecordOwnerId($relatedToId[1]); if (!empty($ownerIdInfo['Users'])) { $ownerId = $ownerIdInfo['Users']; $ownerName = getOwnerName($ownerId); $toEmail = getUserEmailId('id', $ownerId); } if (!empty($ownerIdInfo['Groups'])) { $ownerId = $ownerIdInfo['Groups']; $groupInfo = getGroupName($ownerId); $ownerName = $groupInfo[0]; $toEmail = implode(',', getDefaultAssigneeEmailIds($ownerId)); } $subject = getTranslatedString('LBL_RESPONDTO_TICKETID', $moduleName) . "##" . $relatedToId[1] . "## " . getTranslatedString('LBL_CUSTOMER_PORTAL', $moduleName); $contents = getTranslatedString('Dear', $moduleName) . " " . $ownerName . "," . "<br><br>" . getTranslatedString('LBL_CUSTOMER_COMMENTS', $moduleName) . "<br><br>\n\t\t\t\t\t<b>" . $data['commentcontent'] . "</b><br><br>" . getTranslatedString('LBL_RESPOND', $moduleName) . "<br><br>" . getTranslatedString('LBL_REGARDS', $moduleName) . "<br>" . getTranslatedString('LBL_SUPPORT_ADMIN', $moduleName); $customerId = explode('x', $customerWSId); $result = $adb->pquery("SELECT email FROM vtiger_contactdetails WHERE contactid=?", array($customerId[0])); $fromEmail = $adb->query_result($result, 0, 'email'); send_mail('HelpDesk', $toEmail, '', $fromEmail, $subject, $contents); } }
/** * This function sends a mail to the handler whenever the product reaches the reorder level. * Param $product_id - product id * Param $upd_qty - updated product quantity in no's * Param $prod_name - product name * Param $qtyinstk - quantity in stock * Param $qty - quantity * Param $module - module name * return type void */ function sendPrdStckMail($product_id, $upd_qty, $prod_name, $qtyinstk, $qty, $module) { global $log; $log->debug("Entering sendPrdStckMail(" . $product_id . "," . $upd_qty . "," . $prod_name . "," . $qtyinstk . "," . $qty . "," . $module . ") method ..."); global $current_user; global $adb; $reorderlevel = getPrdReOrderLevel($product_id); $log->debug("Inside sendPrdStckMail function, module=" . $module); $log->debug("Prd reorder level " . $reorderlevel); if ($upd_qty < $reorderlevel) { //send mail to the handler $handler = getRecordOwnerId($product_id); foreach ($handler as $type => $id) { $handler = $id; } $handler_name = getOwnerName($handler); if (vtws_isRecordOwnerUser($handler)) { $to_address = getUserEmail($handler); } else { $to_address = implode(',', getDefaultAssigneeEmailIds($handler)); } //Get the email details from database; if ($module == 'SalesOrder') { $notification_table = 'SalesOrderNotification'; $quan_name = '{SOQUANTITY}'; } if ($module == 'Quotes') { $notification_table = 'QuoteNotification'; $quan_name = '{QUOTEQUANTITY}'; } if ($module == 'Invoice') { $notification_table = 'InvoiceNotification'; } $query = "select * from vtiger_inventorynotification where notificationname=?"; $result = $adb->pquery($query, array($notification_table)); $subject = $adb->query_result($result, 0, 'notificationsubject'); $body = $adb->query_result($result, 0, 'notificationbody'); $status = $adb->query_result($result, 0, 'status'); if ($status == 0 || $status == '') { return false; } $subject = str_replace('{PRODUCTNAME}', $prod_name, $subject); $body = str_replace('{HANDLER}', $handler_name, $body); $body = str_replace('{PRODUCTNAME}', $prod_name, $body); if ($module == 'Invoice') { $body = str_replace('{CURRENTSTOCK}', $upd_qty, $body); $body = str_replace('{REORDERLEVELVALUE}', $reorderlevel, $body); } else { $body = str_replace('{CURRENTSTOCK}', $qtyinstk, $body); $body = str_replace($quan_name, $qty, $body); } $body = str_replace('{CURRENTUSER}', $current_user->user_name, $body); $mail_status = send_mail($module, $to_address, $current_user->user_name, $current_user->email1, decode_html($subject), nl2br(to_html($body))); } $log->debug("Exiting sendPrdStckMail method ..."); }
function HelpDesk_notifyOwnerOnTicketChange($entityData) { global $HELPDESK_SUPPORT_NAME, $HELPDESK_SUPPORT_EMAIL_ID; $moduleName = $entityData->getModuleName(); $wsId = $entityData->getId(); $parts = explode('x', $wsId); $entityId = $parts[1]; $isNew = $entityData->isNew(); if (!$isNew) { $reply = 'Re : '; } else { $reply = ''; } // SalesPlatform.ru begin $subject = ' [ ' . getTranslatedString('Ticket No', $moduleName) . ' ' . $entityData->get('ticket_no') . ' ] ' . $reply . $entityData->get('ticket_title'); //$subject = $entityData->get('ticket_no') . ' [ '.getTranslatedString('LBL_TICKET_ID', $moduleName) // .' : '.$entityId.' ] '.$reply.$entityData->get('ticket_title'); // SalesPlatform.ru end $email_body = HelpDesk::getTicketEmailContents($entityData, true); if (PerformancePrefs::getBoolean('NOTIFY_OWNER_EMAILS', true) === true) { //send mail to the assigned to user and the parent to whom this ticket is assigned require_once 'modules/Emails/mail.php'; $wsAssignedUserId = $entityData->get('assigned_user_id'); $userIdParts = explode('x', $wsAssignedUserId); $ownerId = $userIdParts[1]; $ownerType = vtws_getOwnerType($ownerId); if ($ownerType == 'Users') { $to_email = getUserEmailId('id', $ownerId); } if ($ownerType == 'Groups') { $to_email = implode(',', getDefaultAssigneeEmailIds($ownerId)); } if ($to_email != '') { if ($isNew) { $mail_status = send_mail('HelpDesk', $to_email, $HELPDESK_SUPPORT_NAME, $HELPDESK_SUPPORT_EMAIL_ID, $subject, $email_body); } else { $entityDelta = new VTEntityDelta(); $statusHasChanged = $entityDelta->hasChanged($entityData->getModuleName(), $entityId, 'ticketstatus'); $solutionHasChanged = $entityDelta->hasChanged($entityData->getModuleName(), $entityId, 'solution'); $ownerHasChanged = $entityDelta->hasChanged($entityData->getModuleName(), $entityId, 'assigned_user_id'); $descriptionHasChanged = $entityDelta->hasChanged($entityData->getModuleName(), $entityId, 'description'); if ($statusHasChanged && $entityData->get('ticketstatus') == "Closed" || $solutionHasChanged || $ownerHasChanged || $descriptionHasChanged) { $mail_status = send_mail('HelpDesk', $to_email, $HELPDESK_SUPPORT_NAME, $HELPDESK_SUPPORT_EMAIL_ID, $subject, $email_body); } } $mail_status_str = $to_email . "=" . $mail_status . "&&&"; } else { $mail_status_str = "'" . $to_email . "'=0&&&"; } if ($mail_status != '') { $mail_error_status = getMailErrorString($mail_status_str); } } }