Files
crm.clientright.ru/modules/Google/models/Module.php
Fedor ac7467f0b4 Major CRM updates: AI Assistant, Court Status API, S3 integration improvements, and extensive file storage system
- 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.
2025-10-16 11:17:21 +03:00

65 lines
3.0 KiB
PHP

<?php
/* +***********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); 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 Google_Module_Model extends Vtiger_Module_Model {
public static function removeSync($module, $id) {
$db = PearDatabase::getInstance();
$query = "DELETE FROM vtiger_google_oauth WHERE service = ? AND userid = ?";
$db->pquery($query, array($module, $id));
}
/**
* Function to delete google synchronization completely. Deletes all mapping information stored.
* @param <string> $module - Module Name
* @param <integer> $user - User Id
*/
public function deleteSync($module, $user) {
$module = str_replace("Google", '', $module);
if($module == 'Contacts' || $module == 'Calendar') {
$name = 'Vtiger_Google'.$module;
}
else {
return;
}
$db = PearDatabase::getInstance();
$db->pquery("DELETE FROM vtiger_google_oauth2 WHERE service = ? AND userid = ?", array('Google'.$module, $user));
$db->pquery("DELETE FROM vtiger_google_sync WHERE googlemodule = ? AND user = ?", array($module, $user));
$result = $db->pquery("SELECT stateencodedvalues FROM vtiger_wsapp_sync_state WHERE name = ? AND userid = ?", array($name, $user));
$stateValuesJson = $db->query_result($result, 0, 'stateencodedvalues');
$stateValues = Zend_Json::decode(decode_html($stateValuesJson));
$appKey = $stateValues['synctrackerid'];
$result = $db->pquery("SELECT appid FROM vtiger_wsapp WHERE appkey = ?", array($appKey));
$appId = $db->query_result($result, 0, 'appid');
$db->pquery("DELETE FROM vtiger_wsapp_recordmapping WHERE appid = ?", array($appId));
$db->pquery("DELETE FROM vtiger_wsapp WHERE appid = ?", array($appId));
$db->pquery("DELETE FROM vtiger_wsapp_sync_state WHERE name = ? AND userid = ?", array($name, $user));
$db->pquery("DELETE FROM vtiger_google_sync_settings WHERE user = ? AND module = ?", array($user,$module));
if($module == 'Contacts') {
$db->pquery("DELETE FROM vtiger_google_sync_fieldmapping WHERE user = ?", array($user));
} elseif($module == 'Calendar') {
$db->pquery("DELETE FROM vtiger_google_event_calendar_mapping WHERE user_id = ?", array($user));
}
Google_Utils_Helper::errorLog();
return;
}
/*
* Function to get supported utility actions for a module
*/
function getUtilityActionsNames() {
return array();
}
}
?>