- 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.
93 lines
3.4 KiB
PHP
93 lines
3.4 KiB
PHP
<?php
|
|
/* * *******************************************************************************
|
|
* Description: ITS4You Mobile App
|
|
* All Rights Reserved.
|
|
* Contributor: IT-Solutions4You s.r.o - www.its4you.sk
|
|
* ****************************************************************************** */
|
|
|
|
class ApiUserLanguageModel
|
|
{
|
|
/**
|
|
* @var array
|
|
*/
|
|
protected $translations = [];
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function getTranslations()
|
|
{
|
|
return $this->translations;
|
|
}
|
|
|
|
/**
|
|
* @param array $translations
|
|
*/
|
|
public function setTranslations($translations)
|
|
{
|
|
$this->translations = $translations;
|
|
}
|
|
|
|
public function load() {
|
|
$languagePrefix = Vtiger_Language_Handler::getLanguage();
|
|
$translations = [];
|
|
$modules = ['Calendar', 'Documents', 'Invoice', 'Vtiger', 'PDFMaker', 'Settings/ITS4YouInstaller', 'Potentials'];
|
|
|
|
foreach ($modules as $module) {
|
|
foreach ($this->getAllLangVariables($languagePrefix, 'en_us', 'en_us', $module, true) as $key => $translatedStrings) {
|
|
if (key_exists($key, $translations)) {
|
|
foreach ($translatedStrings as $translatedStringKey => $translatedString) {
|
|
$translations[$key][$translatedStringKey] = $translatedString;
|
|
}
|
|
} else {
|
|
$translations[$key] = $translatedStrings;
|
|
}
|
|
}
|
|
}
|
|
|
|
$this->setTranslations($translations);
|
|
}
|
|
|
|
protected function getAllLangVariables($currentLanguage, $previewLanguage, $enPrefix, $forModule, $wantValues = false)
|
|
{
|
|
if ((trim($previewLanguage) != 'none') or (trim($previewLanguage) != 'none/Settings')) {
|
|
|
|
$filename = 'languages/' . $previewLanguage . '/' . $forModule . '.php';
|
|
|
|
$langArrays = Vtiger_Language_Handler::getModuleStringsFromFile($currentLanguage, $forModule);
|
|
$enLangArrays = Vtiger_Language_Handler::getModuleStringsFromFile($enPrefix, $forModule);
|
|
if (file_exists($filename) != false) {
|
|
$previewLangArrays = Vtiger_Language_Handler::getModuleStringsFromFile($previewLanguage, $forModule);
|
|
$result = array_merge_recursive($langArrays, $previewLangArrays, $enLangArrays);
|
|
} else {
|
|
$result = array_merge_recursive($langArrays, $enLangArrays);
|
|
}
|
|
}
|
|
if ((trim($previewLanguage) == 'none') or (trim($previewLanguage) == 'none/Settings')) {
|
|
$langArrays = Vtiger_Language_Handler::getModuleStringsFromFile($currentLanguage, $forModule);
|
|
$enLangArrays = Vtiger_Language_Handler::getModuleStringsFromFile($enPrefix, $forModule);
|
|
|
|
$result = array_merge_recursive($langArrays, $enLangArrays);
|
|
}
|
|
|
|
$AllKeys = array();
|
|
|
|
foreach ($result['languageStrings'] as $key => $value) {
|
|
if ($wantValues == false) {
|
|
$AllKeys['languageStrings'][$key] = $key;
|
|
} else {
|
|
$AllKeys['languageStrings'][$key] = $value;
|
|
}
|
|
}
|
|
foreach ($result['jsLanguageStrings'] as $key => $value) {
|
|
if ($wantValues == false) {
|
|
$AllKeys['jsLanguageStrings'][$key] = $key;
|
|
} else {
|
|
$AllKeys['jsLanguageStrings'][$key] = $value;
|
|
}
|
|
}
|
|
|
|
return $AllKeys;
|
|
}
|
|
}
|