- 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.
75 lines
2.8 KiB
PHP
75 lines
2.8 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.
|
|
*************************************************************************************/
|
|
|
|
/**
|
|
* Calendar Module Model Class
|
|
*/
|
|
class Events_Module_Model extends Calendar_Module_Model {
|
|
|
|
/**
|
|
* Function to get the url for list view of the module
|
|
* @return <string> - url
|
|
*/
|
|
public function getListViewUrl() {
|
|
return 'index.php?module=Calendar&view='.$this->getListViewName();
|
|
}
|
|
|
|
/**
|
|
* Function to save a given record model of the current module
|
|
* @param Vtiger_Record_Model $recordModel
|
|
*/
|
|
public function saveRecord(Vtiger_Record_Model $recordModel) {
|
|
$recordModel = parent::saveRecord($recordModel);
|
|
|
|
//code added to send mail to the vtiger_invitees
|
|
$selectUsers = $recordModel->get('selectedusers');
|
|
if(!empty($selectUsers))
|
|
{
|
|
$invities = implode(';',$selectUsers);
|
|
$mail_contents = $recordModel->getInviteUserMailData();
|
|
$activityMode = ($recordModel->getModuleName()=='Calendar') ? 'Task' : 'Events';
|
|
sendInvitation($invities,$activityMode,$recordModel,$mail_contents);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Function to retrieve name fields of a module
|
|
* @return <array> - array which contains fields which together construct name fields
|
|
*/
|
|
public function getNameFields(){
|
|
$nameFieldObject = Vtiger_Cache::get('EntityField',$this->getName());
|
|
$moduleName = $this->getName();
|
|
if($nameFieldObject && $nameFieldObject->fieldname) {
|
|
$this->nameFields = explode(',', $nameFieldObject->fieldname);
|
|
} else {
|
|
$adb = PearDatabase::getInstance();
|
|
|
|
$query = "SELECT fieldname, tablename, entityidfield FROM vtiger_entityname WHERE tabid = ?";
|
|
$result = $adb->pquery($query, array(getTabid('Calendar')));
|
|
$this->nameFields = array();
|
|
if($result){
|
|
$rowCount = $adb->num_rows($result);
|
|
if($rowCount > 0){
|
|
$fieldNames = $adb->query_result($result,0,'fieldname');
|
|
$this->nameFields = explode(',', $fieldNames);
|
|
}
|
|
}
|
|
|
|
$entiyObj = new stdClass();
|
|
$entiyObj->basetable = $adb->query_result($result, 0, 'tablename');
|
|
$entiyObj->basetableid = $adb->query_result($result, 0, 'entityidfield');
|
|
$entiyObj->fieldname = $fieldNames;
|
|
Vtiger_Cache::set('EntityField',$this->getName(), $entiyObj);
|
|
}
|
|
return $this->nameFields;
|
|
}
|
|
|
|
}
|