Files
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

157 lines
3.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.
* *********************************************************************************** */
class PDFMaker_PayBySquare_Helper extends Vtiger_Base_Model
{
public $paymentParams = array(
'iban',
'amount',
'currency',
'vs',
'ss',
'cs',
'note',
'due_date',
'swift',
'size',
);
public static function getInstance($iban = '', $amount = '')
{
$self = new self();
$self->setIBAN($iban);
$self->setAmount($amount);
$self->set('size', 200);
$self->set('currency', 'EUR');
return $self;
}
public function convertFromArray($data)
{
foreach ($data as $key => $value) {
if (in_array($key, $this->paymentParams)) {
$this->set($key, $value);
}
}
}
public function setIBAN($value)
{
$this->set('iban', $value);
}
public function setAmount($value)
{
$this->set('amount', $value);
}
public function getImage($qrGeneratorSk = false)
{
if (!$qrGeneratorSk) {
$link = $this->getLink();
} else {
$link = $this->getQRGeneratorLink();
}
return sprintf('<img width="%s" src="%s" alt="payBySquare">', $this->getSize(), $link);
}
public function getLink()
{
$data = array(
'iban' => $this->getIBAN(),
'amount' => $this->getAmount(),
'currency' => $this->getCurrency(),
'vs' => $this->getVariableSymbol(),
'ss' => $this->getSpecialSymbol(),
'cs' => $this->getConstantSymbol(),
'note' => $this->getNote(),
'due_date' => $this->getDueDate(),
'swift' => $this->getSwift(),
);
return sprintf('https://its4you.sk/en/api/app/pay?%s',
http_build_query($data, '', '&amp;')
);
}
public function getIBAN()
{
return $this->get('iban');
}
public function getAmount()
{
return $this->get('amount');
}
public function getCurrency()
{
return $this->get('currency');
}
public function getVariableSymbol()
{
return $this->get('vs');
}
public function getSpecialSymbol()
{
return $this->get('ss');
}
public function getConstantSymbol()
{
return $this->get('cs');
}
public function getNote()
{
return $this->get('note');
}
public function getDueDate()
{
return $this->get('due_date');
}
public function getSwift()
{
return $this->get('swift');
}
/**
* https://www.qrgenerator.sk/
* @return string
*/
public function getQRGeneratorLink()
{
$data = array(
'iban' => $this->getIBAN(),
'amount' => $this->getAmount(),
'currency' => $this->getCurrency(),
'vs' => $this->getVariableSymbol(),
'ss' => $this->getSpecialSymbol(),
'cs' => $this->getConstantSymbol(),
'payment_note' => $this->getNote(),
'due_date' => $this->getDueDate(),
);
return sprintf('https://api.QRGenerator.sk/by-square/pay/qr.png?%s',
http_build_query($data, '', '&amp;')
);
}
public function getSize()
{
return $this->get('size');
}
}