Files
crm.clientright.ru/layouts/v7/modules/Users/ForgotPassword.tpl
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

145 lines
6.0 KiB
Smarty

<!--/* +********************************************************************************
* 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.
* ******************************************************************************* */-->
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body{
font-family: Tahoma, "Trebuchet MS","Lucida Grande",Verdana !important;
//background: #F5FAEE !important;/*#f1f6e8;*/
color : #555 !important;
font-size: 85% !important;
height: 98% !important;
}
hr{
border: 0;
height: 1px;
background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
}
#container{
min-width:280px;
width:50%;
margin-top:2%;
}
#btn{
color: white;
border-radius: 4px;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
background: rgb(28, 184, 65);
border-style: none;
width: 86px;
height: 27px;
font-size: 12px;
}
#password,#confirmPassword{
height:20px;
width:140px;
}
.control-label{
font-size: 12px;
}
#content{
padding:8px 20px;
border:1px solid #ddd;
background:#fff;
border-radius:5px;
}
#footer{
float:right;
}
#footer p{
text-align:right;
margin-right:20px;
}
.button-container a{
text-decoration: none;
}
.button-container{
float: right;
}
.button-container .btn{
margin-left: 15px;
min-width: 100px;
font-weight: bold;
}
.logo{
padding: 15px 0 ;
}
.line{
}
</style>
<script language='JavaScript'>
function checkPassword() {
var password = document.getElementById('password').value;
var confirmPassword = document.getElementById('confirmPassword').value;
if (password == '' && confirmPassword == '') {
alert('Please enter new Password');
return false;
} else if (password != confirmPassword) {
alert('Password and Confirm Password should be same');
return false;
} else {
return true;
}
}
</script>
</head>
<body>
<div id="container">
<div class="logo" style = "padding-left:50%">
<img src="{$LOGOURL}" alt="{$TITLE}" style="height: 4em;width: 12em;"><br><br><br>
</div>
<div style = "padding-left:50%;width:100%">
{if $LINK_EXPIRED neq 'true'}
<div id="content">
<span><h2 style = "font-size:16px">{vtranslate('LBL_CHANGE_PASSWORD',$MODULE)}</h2></span>
<hr class="line">
<div id="changePasswordBlock" align='left'>
<form name="changePassword" id="changePassword" action="{$TRACKURL}" method="post" accept-charset="utf-8">
<input type="hidden" name="username" value="{$USERNAME}">
<input type="hidden" name="shorturl_id" value="{$SHORTURL_ID}">
<input type="hidden" name="secret_hash" value="{$SECRET_HASH}">
<table align='center'>
<tr>
<td style="text-align:right"><label class="control-label" for="password">{vtranslate('LBL_NEW_PASSWORD',$MODULE)}</label></td>
<td><input type="password" id="password" name="password"></td>
</tr>
<tr><td></td></tr>
<tr>
<td style="text-align:right"><label class="control-label" for="confirmPassword">{vtranslate('LBL_CONFIRM_PASSWORD',$MODULE)}</label></td>
<td><input type="password" id="confirmPassword" name="confirmPassword"></td>
</tr>
<tr><td></td></tr>
<tr>
<td></td>
<td style="text-align:right"><input type="submit" id="btn" value="Submit" onclick="return checkPassword();"/></td>
</tr>
</table>
</form>
</div>
<div id="footer">
<p></p>
</div>
<div style="clear:both;"></div>
</div>
{else}
<div id="content">
{vtranslate('LBL_PASSWORD_LINK_EXPIRED_OR_INVALID_PASSWORD', $MODULE)}
</div>
{/if}
</div>
</div>
</div>
</div>
</body>
</html>