[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /* +*********************************************************************************** 3 * The contents of this file are subject to the vtiger CRM Public License Version 1.0 4 * ("License"); You may not use this file except in compliance with the License 5 * The Original Code is: vtiger CRM Open Source 6 * The Initial Developer of the Original Code is vtiger. 7 * Portions created by vtiger are Copyright (C) vtiger. 8 * All Rights Reserved. 9 * *********************************************************************************** */ 10 11 class Inventory_SendEmail_View extends Vtiger_ComposeEmail_View { 12 13 /** 14 * Function which will construct the compose email 15 * This will handle the case of attaching the invoice pdf as attachment 16 * @param Vtiger_Request $request 17 */ 18 public function composeMailData(Vtiger_Request $request) { 19 parent::composeMailData($request); 20 $viewer = $this->getViewer($request); 21 $inventoryRecordId = $request->get('record'); 22 $recordModel = Vtiger_Record_Model::getInstanceById($inventoryRecordId, $request->getModule()); 23 $pdfFileName = $recordModel->getPDFFileName(); 24 25 $fileComponents = explode('/', $pdfFileName); 26 27 $fileName = $fileComponents[count($fileComponents)-1]; 28 //remove the fileName 29 array_pop($fileComponents); 30 31 $attachmentDetails = array(array( 32 'attachment' =>$fileName, 33 'path' => implode('/',$fileComponents), 34 'size' => filesize($pdfFileName), 35 'type' => 'pdf', 36 'nondeletable' => true 37 )); 38 39 $this->populateTo($request); 40 $viewer->assign('ATTACHMENTS', $attachmentDetails); 41 echo $viewer->view('ComposeEmailForm.tpl', 'Emails', true); 42 } 43 44 public function populateTo($request){ 45 $viewer = $this->getViewer($request); 46 47 $inventoryRecordId = $request->get('record'); 48 $recordModel = Vtiger_Record_Model::getInstanceById($inventoryRecordId, $request->getModule()); 49 $inventoryModule = $recordModel->getModule(); 50 $inventotyfields = $inventoryModule->getFields(); 51 52 $toEmailConsiderableFields = array('contact_id','account_id','vendor_id'); 53 $db = PearDatabase::getInstance(); 54 $to = array(); 55 $to_info = array(); 56 $toMailNamesList = array(); 57 foreach($toEmailConsiderableFields as $fieldName){ 58 if(!array_key_exists($fieldName, $inventotyfields)){ 59 continue; 60 } 61 $fieldModel = $inventotyfields[$fieldName]; 62 if(!$fieldModel->isViewable()) { 63 continue; 64 } 65 $fieldValue = $recordModel->get($fieldName); 66 if(empty($fieldValue)) { 67 continue; 68 } 69 $referenceList = $fieldModel->getReferenceList(); 70 $referenceModule = $referenceList[0]; 71 $fieldLabel = Vtiger_Util_Helper::getLabel($fieldValue); 72 $referenceModuleModel = Vtiger_Module_Model::getInstance($referenceModule); 73 $emailFields = $referenceModuleModel->getFieldsByType('email'); 74 if(count($emailFields) <= 0) { 75 continue; 76 } 77 78 $current_user = Users_Record_Model::getCurrentUserModel(); 79 $queryGenerator = new QueryGenerator($referenceModule, $current_user); 80 $queryGenerator->setFields(array_keys($emailFields)); 81 $query = $queryGenerator->getQuery(); 82 $query .= ' AND crmid = ' . $fieldValue; 83 84 $result = $db->pquery($query, array()); 85 $num_rows = $db->num_rows($result); 86 if($num_rows <= 0) { 87 continue; 88 } 89 foreach($emailFields as $fieldName => $emailFieldModel) { 90 $emailValue = $db->query_result($result,0,$fieldName); 91 if(!empty($emailValue)){ 92 $to[] = $emailValue; 93 $to_info[$fieldValue][] = $emailValue; 94 $toMailNamesList[$fieldValue][] = array('label' => $fieldLabel, 'value' => $emailValue); 95 break; 96 } 97 } 98 if(!empty($to)) { 99 break; 100 } 101 } 102 $viewer->assign('TO', $to); 103 $viewer->assign('TOMAIL_NAMES_LIST', $toMailNamesList); 104 $viewer->assign('TOMAIL_INFO', $to_info); 105 } 106 107 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |