- Added comprehensive AI Assistant system (aiassist/ directory): * Vector search and embedding capabilities * Typebot proxy integration * Elastic search functionality * Message classification and chat history * MCP proxy for external integrations - Implemented Court Status API (GetCourtStatus.php): * Real-time court document status checking * Integration with external court systems * Comprehensive error handling and logging - Enhanced S3 integration: * Improved file backup system with metadata * Batch processing capabilities * Enhanced error logging and recovery * Copy operations with URL fixing - Added Telegram contact creation API - Improved error logging across all modules - Enhanced callback system for AI responses - Extensive backup file storage with timestamps - Updated documentation and README files - File storage improvements: * Thousands of backup files with proper metadata * Fix operations for broken file references * Project-specific backup and recovery systems * Comprehensive file integrity checking Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
73 lines
2.1 KiB
PHP
73 lines
2.1 KiB
PHP
<?php
|
|
/* * *******************************************************************************
|
|
* Description: ITS4You Mobile App
|
|
* All Rights Reserved.
|
|
* Contributor: IT-Solutions4You s.r.o - www.its4you.sk
|
|
* ****************************************************************************** */
|
|
|
|
class ApiSearchEntriesModel
|
|
{
|
|
/**
|
|
* @var string
|
|
*/
|
|
protected $searchKey = '';
|
|
|
|
/**
|
|
* @var array
|
|
*/
|
|
protected $entries = [];
|
|
|
|
/**
|
|
* @param mixed $searchKey
|
|
*/
|
|
public function setSearchKey($searchKey)
|
|
{
|
|
$this->searchKey = $searchKey;
|
|
}
|
|
|
|
/**
|
|
* @param string $type
|
|
* @param array $entry
|
|
*/
|
|
public function setEntry($type, $entry)
|
|
{
|
|
$this->entries[$type][] = $entry;
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function getEntries()
|
|
{
|
|
return $this->entries;
|
|
}
|
|
|
|
public function load()
|
|
{
|
|
include_once('modules/ITS4YouQuickSearch/helpers/SearchResult.php');
|
|
include_once('entry.php');
|
|
|
|
$searchTabsIds = [getTabid('Products')];
|
|
|
|
$searchResults = ITS4YouQuickSearch_SearchResult_Helper::getQuickSearchResult($this->searchKey, $searchTabsIds);
|
|
|
|
if ($searchResults) {
|
|
foreach ($searchResults as $moduleName => $moduleEntries) {
|
|
foreach ($moduleEntries as $crmId => $rawData) {
|
|
if ('Products' === $moduleName) {
|
|
$entry = new ApiSearchEntryModel();
|
|
$entry->setId($crmId);
|
|
$entry->setName($rawData->get('productname'));
|
|
$entry->setNr($rawData->get('product_no'));
|
|
$entry->setModule($moduleName);
|
|
|
|
$type = mb_strtolower($rawData->get('productname')) === mb_strtolower($this->searchKey) || mb_strtolower($rawData->get('product_no')) === mb_strtolower($this->searchKey) ? 'primary' : 'secondary';
|
|
|
|
$this->setEntry($type, $entry->get());;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|