| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <?php
- /*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
- /**
- * \file /htdocs/core/ajax/fetchKnowledgeRecord.php
- * \brief File to make Ajax action on Knowledge Management
- */
- if (!defined('NOTOKENRENEWAL')) {
- define('NOTOKENRENEWAL', '1'); // Disables token renewal
- }
- if (!defined('NOREQUIREHTML')) {
- define('NOREQUIREHTML', '1');
- }
- if (!defined('NOREQUIREAJAX')) {
- define('NOREQUIREAJAX', '1');
- }
- if (!defined('NOREQUIRESOC')) {
- define('NOREQUIRESOC', '1');
- }
- // Do not check anti CSRF attack test
- if (!defined('NOREQUIREMENU')) {
- define('NOREQUIREMENU', '1');
- }
- // If there is no need to load and show top and left menu
- if (!empty($_GET['public'])) {
- if (!defined("NOLOGIN")) {
- define("NOLOGIN", '1');
- }
- }
- if (!defined('NOIPCHECK')) {
- define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip
- }
- if (!defined('NOBROWSERNOTIF')) {
- define('NOBROWSERNOTIF', '1');
- }
- include '../../main.inc.php';
- $action = GETPOST('action', 'aZ09');
- $idticketgroup = GETPOST('idticketgroup', 'aZ09');
- $idticketgroup = GETPOST('idticketgroup', 'aZ09');
- $lang = GETPOST('lang', 'aZ09');
- /*if (defined("NOLOGIN") && !getDolGlobalString('TICKET_ENABLE_PUBLIC_INTERFACE')) {
- // If we ask public content (so without login), we block if option TICKET_ENABLE_PUBLIC_INTERFACE is not enabled
- httponly_accessforbidden('');
- }*/
- /*
- * Actions
- */
- // None
- /*
- * View
- */
- top_httphead('application/json');
- if ($action == "getKnowledgeRecord") {
- $response = '';
- $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";
- if (defined("NOLOGIN")) {
- $sql .= " AND ctc.public = 1";
- }
- $sql .= " AND (kr.lang = '".$db->escape($lang)."' OR kr.lang = 0 OR kr.lang IS NULL)";
- $sql .= " AND kr.status = 1 AND (kr.answer IS NOT NULL AND kr.answer <> '')";
- $resql = $db->query($sql);
- if ($resql) {
- $num = $db->num_rows($resql);
- $i = 0;
- $response = array();
- while ($i < $num) {
- $obj = $db->fetch_object($resql);
- $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 {
- dol_print_error($db);
- }
- $response =json_encode($response);
- echo $response;
- }
|