- 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.
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
;(function($) {
|
|
$.fn.disable = function() {
|
|
this.attr('disabled', 'disabled');
|
|
}
|
|
$.fn.enable = function() {
|
|
this.removeAttr('disabled');
|
|
}
|
|
})(jQuery);
|
|
|
|
;(function($){
|
|
$.fn.serializeFormData = function() {
|
|
var form = $(this);
|
|
var values = form.serializeArray();
|
|
var data = {};
|
|
if (values) {
|
|
$(values).each(function(k,v){
|
|
if(v.name in data && (typeof data[v.name] != 'object')) {
|
|
var element = form.find('[name="'+v.name+'"]');
|
|
//Only for muti select element we need to send array of values
|
|
if(element.is('select') && element.attr('multiple')!=undefined) {
|
|
var prevValue = data[v.name];
|
|
data[v.name] = new Array();
|
|
data[v.name].push(prevValue)
|
|
}
|
|
}
|
|
if(typeof data[v.name] == 'object' ) {
|
|
data[v.name].push(v.value);
|
|
}else{
|
|
data[v.name]=v.value;
|
|
}
|
|
});
|
|
}
|
|
// If data-type="autocomplete", pickup data-value="..." set
|
|
var autocompletes = $('[data-type="autocomplete"]', $(this));
|
|
$(autocompletes).each(function(i){
|
|
var ac = $(autocompletes[i]);
|
|
data[ac.attr('name')] = ac.data('value');
|
|
});
|
|
return data;
|
|
}
|
|
|
|
})(jQuery);
|
|
|
|
;(function($) {
|
|
// Case-insensitive :icontains expression
|
|
$.expr[':'].icontains = function(obj, index, meta, stack){
|
|
return (obj.textContent || obj.innerText || jQuery(obj).text() || '').toLowerCase().indexOf(meta[3].toLowerCase()) >= 0;
|
|
}
|
|
})(jQuery); |