Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!-- Пытался всё исправить, но сделал всё только хуже: Вадим -->
- <script>
- var splitByLastDot = function(text) {
- var index = text.lastIndexOf('.');
- return [text.slice(0, index)]
- }
- var glPATH, downloadLINK, downloadPDF, TOCKEN;
- $(function() {
- var postArray = {
- 'FILE_LINK': '<?=$_REQUEST['FILE_LINK']?>' //ссылка для скачивания файла
- };
- $.ajax({
- type: 'POST',
- data: postArray,
- url: '/cryptopro/download_file.php', //данный PHP код выполяняет скачивание файла из Alfresco и сохраняет на нашем PHP сервере
- success: function (data) {
- $('#my_file_name').text(data); //выводим имя файла на странице
- glPATH = $('#my_file_path').text()+$('#my_file_name').text(); //абсолютный путь до файла на сервере (нашем)
- downloadLINK = '/cryptopro/'+$('#my_file_name').text(); //относительный путь до файла
- $('#OldFileLINK').attr("href", downloadLINK);
- $('#OldFileLINK').text('Скачать'); //выводим ссылку для скачивания исходного файла
- var myString = $("#my_file_name").text().split(".").pop(); //берем формат файла
- if (myString != 'pdf') {
- downloadPDF = downloadLINK;
- downloadPDF = splitByLastDot(downloadPDF)+'.pdf';
- $('#PDFFileLINK').attr("href", downloadPDF);
- $('#PDFFileLINK').text('Скачать'); //собственно, если формат файла был изначально PDF, нам не нужно его конвертировать в PDF
- //конвертация в PDF, насколько я помню, тоже лежит в файле download_file.php
- }
- downloadLINK = '.' + downloadLINK.slice(10);
- $("#MyBtn").click(function () {
- var user, password;
- var reslink;
- user = $('#UserName').val();
- password = $('#UserPassword').val();
- var postArray = {
- 'USER_NAME': user, //на странице присутствуют поля для ввода, нам нужен логин и пароль для скачивания и загрузки файлов c/из Alfresco
- 'PASSWORD': password
- };
- $.ajax({
- type: 'POST',
- data: postArray,
- url: '/cryptopro/get_tocken.php', //Работа с Alfresco ведется через TOCKEN. Он выдается по логину+паролю. Данный PHP код отвечает за это
- success: function (data) {
- var currentdate = new Date();
- TOCKEN = data;
- $('#UserName').attr('disabled', true);
- $('#UserPassword').attr('disabled', true);
- var fileNameMY;
- fileNameMY = $('#my_file_name').text();
- var postArray = {
- 'FILE_NAME' : fileNameMY,
- 'YEAR' : currentdate.getFullYear(), //YEAR и FILE_NAME нужны чтобы все файлы загружались по следующему пути
- // ГОД/08-Подписанные_файлы/ИМЯ_ДОКУМЕНТА/файлы
- 'TOCKEN' : TOCKEN,
- 'USER_NAME' : user,
- 'PASSWORD' : password
- };
- $.ajax({
- type: 'POST',
- data: postArray,
- url: '/cryptopro/send_to_alfresco.php',
- success: function (data) {
- reslink = data;
- var postArray = {
- 'FILE_NAME' : fileNameMY
- };
- $.ajax({
- type: 'POST',
- data: postArray,
- url: '/cryptopro/delete_files.php',
- success: function () {
- //В ответе приходит путь до файла, по факту - мы подставляем этот путь в ссылку и редиректим туда пользователя
- // (открывается детальный просмотр ПОДПИСАННОГО документа)
- window.open("http://10.1.4.11:8080/test/page/site/mpnas/document-details?nodeRef="+reslink, "_top");
- }
- });
- }
- });
- }
- });
- var postArray = {
- 'FILE_PATH': downloadLINK
- };
- $.ajax({
- type: 'POST',
- data: postArray,
- //На странице лежит скрытый текстбокс, в него нужно положить BASE64 содержимое файла (так он его подписывает, брал с примера)
- url: '/cryptopro/base64-file.php',
- success: function (data) {
- $("#DataToSignTxtBox").text(data);
- Common_SignCadesBES('CertListBox');
- }
- });
- //FileName - имя PDF файла, который нам нужно пометить подписью (Watermark)
- fileName = $('#my_file_name').text();
- fileName = splitByLastDot(fileName)+'.pdf';
- var currentdate = new Date();
- //datetime - это подпись, которая ставится на PDF файлик (на каждой странице, снизу)
- var datetime = "Время подписи: " + currentdate.getDate() + "/"
- + (currentdate.getMonth()+1) + "/"
- + currentdate.getFullYear() + " @ "
- + currentdate.getHours() + ":"
- + currentdate.getMinutes() + ":"
- + currentdate.getSeconds();
- //Берем ФИО человека, на которого оформлена ЭЦП. В файле будет ФИО+стока, полученная выше
- var watertext = $( "#CertListBox option:selected" ).text() + '\\n' + datetime;
- var postArray = {
- 'FILE_NAME' : fileName,
- 'TEXT' : watertext
- };
- $.ajax({
- type: 'POST',
- data: postArray,
- url: '/cryptopro/fpdf_ru_test.php',//тот самый код, который отвечает за WATERMARK подпись файла
- success: function () {
- $('#PDFsignFileLINK').attr("href", '/cryptopro/signed-'+fileName);
- $('#PDFsignFileLINK').text('Скачать');
- }
- });
- });
- }
- });
- });
- </script>
Add Comment
Please, Sign In to add comment