Files
CRM/customerportal/classes/Faq/apis/FetchRecords.php
BACHIR SOULDI 2794e62571 first commit
2025-09-28 08:49:37 +01:00

67 lines
2.4 KiB
PHP

<?php
/* +**********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.2
* ("License.txt"); You may not use this file except in compliance with the License
* The Original Code is: Vtiger CRM Open Source
* The Initial Developer of the Original Code is Vtiger.
* Portions created by Vtiger are Copyright (C) Vtiger.
* All Rights Reserved.
* ***********************************************************************************/
class Faq_FetchRecords_API extends Portal_Default_API {
public function process(Portal_Request $request) {
$module = $request->getModule();
$language = $request->getLanguage();
$params = $request->get('q');
$pageNo = $params['page'];
if ($params['field'] == 'faqcategories' && empty($params['value']) && isset($params['value'])) {
$params['value'] = 'NULL';
}
$filter = array($params['field'] => $params['value']);
if (empty($pageNo))
$pageNo = 0;
$pageLimit = $params['pageLimit'];
if (empty($pageLimit))
$pageLimit = 10;
$filter = array_filter($filter);
if (!empty($filter)) {
$params['fields'] = json_encode($filter);
}
$result = Vtiger_Connector::getInstance()->fetchRecords($module, $request->get('label'), $request->get('q', array()), $params['fields'], $pageNo, $pageLimit);
$response = new Portal_Response();
$response->setResult($this->processResponseNew($result, $module, $language));
return $response;
}
public function processResponseNew($result, $module, $language, $isExport = false) {
$headers = $result['headers'];
$records = $result['records'];
$edits = $result['edit'];
unset($result['edit']);
$recordMeta = parent::processResponse($module, $language);
$headerNames = array();
$editNames = array();
foreach ($headers as $key) {
array_push($headerNames, $recordMeta[$key]['label']);
}
foreach ($edits as $key) {
$editNames [$key] = $recordMeta[$key]['label'];
}
if (isset($recordMeta['faqcategories'])) {
$result['faqCategories'] = $recordMeta['faqcategories']['picklistValues'];
}
foreach ($records as $key => $value) {
$records[$key] = $value;
}
$result['headers'] = $headerNames;
$result['records'] = $records;
$result['edits'] = $editNames;
$result['pageLimit'] = 10;
return $result;
}
}