diff --git a/htdocs/core/ajax/fetchKnowledgeRecord.php b/htdocs/core/ajax/fetchKnowledgeRecord.php index 00294d1b3c9..684c632370d 100644 --- a/htdocs/core/ajax/fetchKnowledgeRecord.php +++ b/htdocs/core/ajax/fetchKnowledgeRecord.php @@ -54,7 +54,6 @@ $action = GETPOST('action', 'aZ09'); $idticketgroup = GETPOST('idticketgroup', 'aZ09'); $idticketgroup = GETPOST('idticketgroup', 'aZ09'); $lang = GETPOST('lang', 'aZ09'); -$popupurl = GETPOST('popupurl', 'bool'); /* * Actions @@ -69,13 +68,12 @@ $popupurl = GETPOST('popupurl', 'bool'); if ($action == "getKnowledgeRecord") { $response = ''; - $sql = "SELECT kr.rowid, kr.ref, kr.question, kr.answer,l.url,ctc.code"; - $sql .= " FROM ".MAIN_DB_PREFIX."links as l"; - $sql .= " INNER JOIN ".MAIN_DB_PREFIX."knowledgemanagement_knowledgerecord as kr ON kr.rowid = l.objectid"; - $sql .= " INNER JOIN ".MAIN_DB_PREFIX."c_ticket_category as ctc ON ctc.rowid = kr.fk_c_ticket_category"; + $sql = "SELECT kr.rowid, kr.ref, kr.question, kr.answer,kr.url,ctc.code"; + $sql .= " FROM ".MAIN_DB_PREFIX."knowledgemanagement_knowledgerecord as kr "; + $sql .= " JOIN ".MAIN_DB_PREFIX."c_ticket_category as ctc ON ctc.rowid = kr.fk_c_ticket_category"; $sql .= " WHERE ctc.code = '".$db->escape($idticketgroup)."'"; - $sql .= " AND ctc.active = 1 AND ctc.public = 1 AND (kr.lang = '".$db->escape($lang)."' OR kr.lang = 0)"; - $sql .= " AND kr.status = 1"; + $sql .= " AND ctc.active = 1 AND ctc.public = 1 AND (kr.lang = '".$db->escape($lang)."' OR kr.lang = 0 OR kr.lang = NULL)"; + $sql .= " AND kr.status = 1 AND (kr.answer != 0 OR kr.answer != NULL OR kr.answer != \"\")"; $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); @@ -83,33 +81,7 @@ if ($action == "getKnowledgeRecord") { $response = array(); while ($i < $num) { $obj = $db->fetch_object($resql); - if ($popupurl == "false") { - $url = "url. "\" target=\"_blank\">".$obj->url.""; - $response[] = array('title'=>$obj->question,'ref'=>$obj->url,'answer'=>$obj->answer,'url'=>$url); - } else { - $name = $obj->ref; - $buttonstring = $obj->url; - $url = $obj->url; - $urltoprint = ''.$buttonstring.''; - $urltoprint .= ''; - $urltoprint .= ''; - $response[] = array('title'=>$obj->question,'ref'=>$obj->url,'answer'=>$obj->answer,'url'=>$urltoprint); - } + $response[] = array('title'=>$obj->question,'ref'=>$obj->ref,'answer'=>dol_escape_htmltag(preg_replace('/\\r|\\r\\n|\\n/', "", $obj->answer)),'url'=>$obj->url); $i++; } } else { diff --git a/htdocs/core/class/html.formticket.class.php b/htdocs/core/class/html.formticket.class.php index dd43ae0ffae..d936ceb8c22 100644 --- a/htdocs/core/class/html.formticket.class.php +++ b/htdocs/core/class/html.formticket.class.php @@ -258,43 +258,41 @@ class FormTicket if (idgroupticket != "") { $.ajax({ url: \''.DOL_URL_ROOT.'/core/ajax/fetchKnowledgeRecord.php\', - data: { action: \'getKnowledgeRecord\', idticketgroup: idgroupticket, token: \''.newToken().'\', lang:\''.$langs->defaultlang.'\', popupurl:false}, + data: { action: \'getKnowledgeRecord\', idticketgroup: idgroupticket, token: \''.newToken().'\', lang:\''.$langs->defaultlang.'\'}, type: \'GET\', success: function(response) { var urllist = \'\'; console.log("We received response "+response); response = JSON.parse(response) for (key in response) { - console.log(response[key]) - urllist += "
  • " + response[key].title + ": " +response[key].url+"
  • "; + answer = response[key].answer; + urllist += \'
  • \' +response[key].title+\'
  • \'; } if (urllist != "") { - console.log(urllist) - $("#KWwithajax").html(\''.$langs->trans("KMFoundForTicketGroup").'\'); + $("#KWwithajax").html(\''.$langs->trans("KMFoundForTicketGroup").'\'); $("#KWwithajax").show(); + $(".button_KMpopup").on("click",function(){ + console.log("Open popup with jQuery(...).dialog() with KM article") + var $dialog = $("
    ").html($(this).attr("data-html")) + .dialog({ + autoOpen: false, + modal: true, + height: (window.innerHeight - 150), + width: "80%", + title: $(this).attr("title"), + }); + $dialog.dialog("open"); + console.log($dialog); + }) } }, error : function(output) { - console.log("error"); + console.error("Error on Fetch of KM articles"); }, }); } }; - $("#selectcategory_code").bind("change",function() { groupticketchange(); }); - MutationObserver = window.MutationObserver || window.WebKitMutationObserver; - var trackChange = function(element) { - var observer = new MutationObserver(function(mutations, observer) { - if (mutations[0].attributeName == "value") { - $(element).trigger("change"); - } - }); - observer.observe(element, { - attributes: true - }); - } - - trackChange($("#selectcategory_code")[0]); - + $("#selectcategory_code").on("change",function() { groupticketchange(); }); if ($("#selectcategory_code").val() != "") { groupticketchange(); }