- 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.
94 lines
4.2 KiB
PHP
94 lines
4.2 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 Settings_Vtiger_OutgoingServer_Model extends Settings_Vtiger_Systems_Model {
|
||
|
||
private $defaultLoaded = false;
|
||
|
||
|
||
public function getSubject() {
|
||
// SalesPlatform.ru begin
|
||
return 'Тестовое письмо при конфигурации сервера исходящей почты.';
|
||
//return 'Test mail about the mail server configuration.';
|
||
// SalesPlatform.ru end
|
||
}
|
||
|
||
public function getBody() {
|
||
$currentUser = Users_Record_Model::getCurrentUserModel();
|
||
return 'Дорогой '.$currentUser->get('user_name').', <br><br><b> Это тестовое письмо подтверждает,
|
||
что почта отправляется через SMTP-сервер, который вы настроили.</b><br><br>Можете спокойно удалить данное письмо.
|
||
<br><br>С наилучшими пожеланиями,<br> команда SalesPlatform <br><br>';
|
||
// SalesPlatform.ru begin
|
||
/*return 'Dear '.$currentUser->get('user_name').', <br><br><b> This is a test mail sent to confirm if a mail is
|
||
actually being sent through the smtp server that you have configured. </b><br>Feel free to delete this mail.
|
||
<br><br>Thanks and Regards,<br> Team vTiger <br><br>';*/
|
||
// SalesPlatform.ru end
|
||
}
|
||
|
||
public function loadDefaultValues() {
|
||
// SalesPlatform.ru begin сhecks if the VtigerConfig has been defined
|
||
if (class_exists(VtigerConfig)) {
|
||
// SalesPlatform.ru end
|
||
$defaultOutgoingServerDetails = VtigerConfig::getOD('DEFAULT_OUTGOING_SERVER_DETAILS');
|
||
foreach ($defaultOutgoingServerDetails as $key=>$value){
|
||
$this->set($key,$value);
|
||
}
|
||
$this->defaultLoaded = true;
|
||
//SalesPlatform.ru begin сhecks if the VtigerConfig has been defined
|
||
}
|
||
// SalesPlatform.ru end
|
||
}
|
||
|
||
/**
|
||
* Function to get CompanyDetails Menu item
|
||
* @return menu item Model
|
||
*/
|
||
public function getMenuItem() {
|
||
$menuItem = Settings_Vtiger_MenuItem_Model::getInstance('LBL_MAIL_SERVER_SETTINGS');
|
||
return $menuItem;
|
||
}
|
||
|
||
public function getEditViewUrl() {
|
||
$menuItem = $this->getMenuItem();
|
||
return '?module=Vtiger&parent=Settings&view=OutgoingServerEdit&block='.$menuItem->get('blockid').'&fieldid='.$menuItem->get('fieldid');
|
||
}
|
||
|
||
public function getDetailViewUrl() {
|
||
$menuItem = $this->getMenuItem();
|
||
return '?module=Vtiger&parent=Settings&view=OutgoingServerDetail&block='.$menuItem->get('blockid').'&fieldid='.$menuItem->get('fieldid');
|
||
}
|
||
|
||
public function isDefaultSettingLoaded() {
|
||
return $this->defaultLoaded;
|
||
}
|
||
|
||
public function save($request){
|
||
vimport('~~/modules/Emails/mail.php');
|
||
$currentUser = Users_Record_Model::getCurrentUserModel();
|
||
|
||
$from_email = $request->get('from_email_field');
|
||
$to_email = getUserEmailId('id',$currentUser->getId());
|
||
|
||
$subject = $this->getSubject();
|
||
$description = $this->getBody();
|
||
// This is added so that send_mail API will treat it as user initiated action
|
||
$olderAction = $_REQUEST['action'];
|
||
$_REQUEST['action'] = 'Save';
|
||
if($to_email != ''){
|
||
$mail_status = send_mail('Users',$to_email,$currentUser->get('user_name'),$from_email,$subject,$description,'','','','','',true);
|
||
}
|
||
$_REQUEST['action'] = $olderAction;
|
||
if($mail_status != 1 && !$this->isDefaultSettingLoaded()) {
|
||
throw new Exception('Error occurred while sending mail');
|
||
}
|
||
return parent::save();
|
||
}
|
||
}
|