Attached_file V3 (Fix Script)

PHOTO EMBED

Mon Jan 29 2024 22:44:32 GMT+0000 (Coordinated Universal Time)

Saved by @Yous

/*****  DEBUT FUNCTION DE REMPLACEMENT POUR UNE SEULE KB  */

// function replaceImageSysID(){

//     var tableName = 'kb_knowledge';
//     var recordSysId ='b48e22788737b510b989a8690cbb35ef'; 
//     var url = "sys_attachment.do?sys_id=";
//     var attachmentArray = [];
//     var regex = new RegExp('attachments/[0-9]*/');


//     var grKK = new GlideRecord(tableName);
//     if (grKK.get(recordSysId)) {

//         var attachments = new GlideSysAttachment();
//         var agr = attachments.getAttachments(tableName, recordSysId);
//         var text = grKK.getValue('text');
//         var rowCount = agr.getRowCount(); 
//         gs.info( "Total filed attached in ALL TEXT: " + rowCount);
//         while(agr.next()){
//                 //var src_img = text.match(regex);
// 				var src_img = "attachments/"+ grKK.meta + "/";
//                 var attachment = {};
//                 attachment.sys_id = agr.getValue('sys_id');
//                 attachment.file_name = agr.getValue('file_name');
//                 attachmentArray.push(attachment);

// 		}
// 		gs.info( "Before for: " + rowCount);
//             for (var i=0; i< attachmentArray.length; i++){
//                 var elem_sysId = attachmentArray[i].sys_id;
//                 var newelem_sysid = url + elem_sysId;

//                 var elem_file_name = src_img +  attachmentArray[i].file_name;
//                 //  var elem_file_name = src_img ;
//                 var changed_url =   elem_file_name.replace(elem_file_name,newelem_sysid);
//                 var check = grKK.text.includes(elem_file_name) ;
// 		gs.info( "INSIDE for: " + elem_file_name);
//                     //if(check != true){
//                         gs.info(" SYSID: \n" + elem_sysId + "\n Filename: " + elem_file_name );
//                         gs.info("\n Changed url : \n" + changed_url);
//                         grKK.text = grKK.text.replaceAll(elem_file_name,changed_url);

//                      //   }

//                   }
// 			grKK.update(); 
//                 }
//        }

// replaceImageSysID();

/*****  FIN FUNCTION DE REMPLACEMENT POUR UNE SEULE KB  */

/*****  DEBUT FUNCTION DE REMPLACEMENT POUR PLUSIEURS KB   */


function replaceImageSysID_ALL() {

    var tableName = 'kb_knowledge';
    var url = "sys_attachment.do?sys_id=";
    var attachmentArray = [];
    var regex = new RegExp('attachments/[0-9]*/');
    var arraySysId = [];

    var grKK_1 = new GlideRecord(tableName);
    // grKK_1.setLimit(50);
    grKK_1.query();
    while (grKK_1.next()) {
        var text = grKK_1.getValue('text');
        var recordSysId = grKK_1.getValue('sys_id');
        count_record++;
        arraySysId.push(recordSysId);
    }
    // var arrList = [
    //  "a4e79e6947c44a90cb65efb2e36d43ba",
    //  "79595ae947c44a90cb65efb2e36d43f0",
    //  "9bda1a6d47c44a90cb65efb2e36d4366"
    // ];

    // for(var j=0 ; j< arrList.length ; j++){
    for (var j = 0; j < arraySysId.length; j++) {
    //  recordSysId = arrList[j] ;
    recordSysId = arraySysId[j];
        var grKK = new GlideRecord(tableName);
        if (grKK.get(recordSysId)) {

            var attachments = new GlideSysAttachment();
            var agr = attachments.getAttachments(tableName, recordSysId);
            text = grKK.getValue('text');
            while (agr.next()) {
                var src_img = text.match(regex);
                // var src_img = "attachments/"+ grKK.meta + "/";
                var attachment = {};
                attachment.sys_id = agr.getValue('sys_id');
                attachment.file_name = agr.getValue('file_name');
                attachmentArray.push(attachment);

            }
            for (var i = 0; i < attachmentArray.length; i++) {
                var elem_sysId = attachmentArray[i].sys_id;
                var newelem_sysid = url + elem_sysId;

                var elem_file_name = src_img + attachmentArray[i].file_name;
                //  var elem_file_name = src_img ;
                var changed_url = elem_file_name.replace(elem_file_name, newelem_sysid);
                // var check = grKK.text.includes(elem_file_name);
                gs.info(" SYSID: \n" + elem_sysId + "\n Filename: " + elem_file_name);
                gs.info("\n Changed url : \n" + changed_url);
                grKK.text = grKK.text.replaceAll(elem_file_name,changed_url);
            }
            grKK.update(); 
        }
    }
}

replaceImageSysID_ALL();

/*****  FIN FUNCTION DE REMPLACEMENT POUR PLUSIEURS KB   */
content_copyCOPY