'module', 'action' => 'DetailView'); return $permissions; } public function checkPermission(Vtiger_Request $request) { return parent::checkPermission($request); } public function process(Vtiger_Request $request) { $db = PearDatabase::getInstance(); $attachmentId = $request->get('attachment_id'); $name = $request->get('name'); $query = "SELECT * FROM vtiger_attachments WHERE attachmentsid = ? AND name = ?" ; $result = $db->pquery($query, array($attachmentId, $name)); if($db->num_rows($result) == 1) { $row = $db->fetchByAssoc($result, 0); $fileType = $row["type"]; $name = $row["name"]; $filepath = $row["path"]; $name = decode_html($name); $storedFileName = $row['storedname']; if (!empty($name)) { if(!empty($storedFileName)){ $saved_filename = $attachmentId."_". $storedFileName; }else if(is_null($storedFileName)){ $saved_filename = $attachmentId."_". $name; } $disk_file_size = filesize($filepath.$saved_filename); $filesize = $disk_file_size + ($disk_file_size % 1024); $fileContent = fread(fopen($filepath.$saved_filename, "r"), $filesize); header("Content-type: $fileType"); header("Pragma: public"); header("Cache-Control: private"); header("Content-Disposition: attachment; filename=$name"); header("Content-Description: PHP Generated Data"); echo $fileContent; } } } } ?>