mirror of
https://github.com/SuiteCRM/SuiteCRM-Core.git
synced 2025-08-29 08:17:18 +08:00
Squashed 'public/legacy/' changes from 23d711b70..bb959a145
bb959a145 SuiteCRM 7.12.1 release changes 9ad0a7fe5 Use wildcard rather than the defunct "_all" field d9f34d544 Prevent Email Reminders - Inactive Users 72557797d Create Standardised isEnabled User Check c1f5c8c62 Fix #8432 - Remove index limit from mssql index names upon create and repair edf9ff254 Fix #9217 - Revert "Fix Users index incompatible with MSSQL" 91035782b Fix #9119 - Rebuild theme cache after custom property changed in Studio dd000459c Fix typo in word administrator 8bb65887d Fix Issue #9192: Fix duplication of folders_rel table entries. 4104e5c5c Fix #9367 - Update PDF template warning 86b04461a Fix #9358 - Meeting invite notification emails not sending to all invitees. e55657e18 Fix #6994: Update pollMonitoredInboxesAOP to check SugarFolder has been retrieved correctly. 8211f43fb Update PDF references 63d63e520 Implement PDF extension 75553a9ee Update MPDF structure 1960e8364 Fix rebuild scss git-subtree-dir: public/legacy git-subtree-split: bb959a1451f926ccf5bb7b0da1909435e5450d05
This commit is contained in:
parent
75ea167930
commit
d075ac6581
35 changed files with 350 additions and 120 deletions
|
@ -1,14 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
if (!defined('sugarEntry') || !sugarEntry) {
|
|
||||||
die('Not A Valid Entry Point');
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* SugarCRM Community Edition is a customer relationship management program developed by
|
* SugarCRM Community Edition is a customer relationship management program developed by
|
||||||
* SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
|
* SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
|
||||||
*
|
*
|
||||||
* SuiteCRM is an extension to SugarCRM Community Edition developed by SalesAgility Ltd.
|
* SuiteCRM is an extension to SugarCRM Community Edition developed by SalesAgility Ltd.
|
||||||
* Copyright (C) 2011 - 2018 SalesAgility Ltd.
|
* Copyright (C) 2011 - 2021 SalesAgility Ltd.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it under
|
* This program is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU Affero General Public License version 3 as published by the
|
* the terms of the GNU Affero General Public License version 3 as published by the
|
||||||
|
@ -41,7 +38,9 @@ if (!defined('sugarEntry') || !sugarEntry) {
|
||||||
* display the words "Powered by SugarCRM" and "Supercharged by SuiteCRM".
|
* display the words "Powered by SugarCRM" and "Supercharged by SuiteCRM".
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if (!defined('sugarEntry') || !sugarEntry) {
|
||||||
|
die('Not A Valid Entry Point');
|
||||||
|
}
|
||||||
|
|
||||||
$extensions = array(
|
$extensions = array(
|
||||||
"actionviewmap" => array("section" => "action_view_map","extdir" => "ActionViewMap", "file" => 'action_view_map.ext.php'),
|
"actionviewmap" => array("section" => "action_view_map","extdir" => "ActionViewMap", "file" => 'action_view_map.ext.php'),
|
||||||
|
@ -68,6 +67,7 @@ if (!defined('sugarEntry') || !sugarEntry) {
|
||||||
"filteroperatormap" => array("section" => "filter_operator_map","extdir" => "FilterOperatorMap", "file" => 'filter_operator_map.ext.php'),
|
"filteroperatormap" => array("section" => "filter_operator_map","extdir" => "FilterOperatorMap", "file" => 'filter_operator_map.ext.php'),
|
||||||
"filtermappers" => array("section" => "filter_mappers","extdir" => "FilterMappers", "file" => 'filter_mappers.ext.php'),
|
"filtermappers" => array("section" => "filter_mappers","extdir" => "FilterMappers", "file" => 'filter_mappers.ext.php'),
|
||||||
"classicviewroutingexclusions" => array("section" => "classicview_routing_exclusions","extdir" => "ClassicViewRoutingExclusions", "file" => 'classicview_routing_exclusions.ext.php'),
|
"classicviewroutingexclusions" => array("section" => "classicview_routing_exclusions","extdir" => "ClassicViewRoutingExclusions", "file" => 'classicview_routing_exclusions.ext.php'),
|
||||||
|
"pdf" => array("section" => "pdfs", "extdir" => "PDF", "file" => 'pdfs.ext.php', "module" => "application"),
|
||||||
);
|
);
|
||||||
if (file_exists("custom/application/Ext/Extensions/extensions.ext.php")) {
|
if (file_exists("custom/application/Ext/Extensions/extensions.ext.php")) {
|
||||||
include("custom/application/Ext/Extensions/extensions.ext.php");
|
include("custom/application/Ext/Extensions/extensions.ext.php");
|
||||||
|
|
|
@ -420,6 +420,12 @@ class SugarBean
|
||||||
*/
|
*/
|
||||||
public $createdAuditRecords;
|
public $createdAuditRecords;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Keeps track of emails sent to notify_user ids to avoid duplicate emails
|
||||||
|
* @var array $sentAssignmentNotifications
|
||||||
|
*/
|
||||||
|
public $sentAssignmentNotifications = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var SugarBean[][] $line_item_entries
|
* @var SugarBean[][] $line_item_entries
|
||||||
*/
|
*/
|
||||||
|
@ -3265,7 +3271,7 @@ class SugarBean
|
||||||
{
|
{
|
||||||
global $current_user;
|
global $current_user;
|
||||||
|
|
||||||
if ((($this->object_name == 'Meeting' || $this->object_name == 'Call') || $notify_user->receive_notifications) && !$this->sentAssignmentNotifications) {
|
if ((($this->object_name == 'Meeting' || $this->object_name == 'Call') || $notify_user->receive_notifications) && !in_array($notify_user->id, $this->sentAssignmentNotifications, true)) {
|
||||||
$sendToEmail = $notify_user->emailAddress->getPrimaryAddress($notify_user);
|
$sendToEmail = $notify_user->emailAddress->getPrimaryAddress($notify_user);
|
||||||
$sendEmail = true;
|
$sendEmail = true;
|
||||||
if (empty($sendToEmail)) {
|
if (empty($sendToEmail)) {
|
||||||
|
@ -3330,7 +3336,7 @@ class SugarBean
|
||||||
$GLOBALS['log']->fatal("Notifications: error sending e-mail (method: {$notify_mail->Mailer}), " .
|
$GLOBALS['log']->fatal("Notifications: error sending e-mail (method: {$notify_mail->Mailer}), " .
|
||||||
"(error: {$notify_mail->ErrorInfo})");
|
"(error: {$notify_mail->ErrorInfo})");
|
||||||
} else {
|
} else {
|
||||||
$this->sentAssignmentNotifications = true;
|
$this->sentAssignmentNotifications[] = $notify_user->id;
|
||||||
$GLOBALS['log']->info("Notifications: e-mail successfully sent");
|
$GLOBALS['log']->info("Notifications: e-mail successfully sent");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
62
files.md5
62
files.md5
|
@ -1,5 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
// created: 2021-10-28 17:00:00
|
// created: 2021-11-19 17:00:00
|
||||||
$md5_string = array (
|
$md5_string = array (
|
||||||
'./Api/Core/Config/ApiConfig.php' => '69a1e7b3d7755a2a63499a16ddae81cf',
|
'./Api/Core/Config/ApiConfig.php' => '69a1e7b3d7755a2a63499a16ddae81cf',
|
||||||
'./Api/Core/Config/slim.php' => 'b134e68765e6a1403577e2a5a06322b8',
|
'./Api/Core/Config/slim.php' => 'b134e68765e6a1403577e2a5a06322b8',
|
||||||
|
@ -114,8 +114,8 @@ $md5_string = array (
|
||||||
'./ModuleInstall/PackageManager/tpls/PackageForm.tpl' => 'bffd280ab5cd7381a5b0da41a9c1f34f',
|
'./ModuleInstall/PackageManager/tpls/PackageForm.tpl' => 'bffd280ab5cd7381a5b0da41a9c1f34f',
|
||||||
'./ModuleInstall/PackageManager/tpls/PackageManagerLicense.tpl' => 'df5e267d1df5ce08fb9406e42d5b4816',
|
'./ModuleInstall/PackageManager/tpls/PackageManagerLicense.tpl' => 'df5e267d1df5ce08fb9406e42d5b4816',
|
||||||
'./ModuleInstall/PackageManager/tpls/PackageManagerScripts.tpl' => '98e396c0aa57329731fda19c790fffb2',
|
'./ModuleInstall/PackageManager/tpls/PackageManagerScripts.tpl' => '98e396c0aa57329731fda19c790fffb2',
|
||||||
'./ModuleInstall/extensions.php' => '87596ad3f28a39c996a5551cad3b5cab',
|
'./ModuleInstall/extensions.php' => '094f4650261f6efbab1b90b119829388',
|
||||||
'./README.md' => '106d48a1c68ed7a7a79a83cfc0877501',
|
'./README.md' => '907df202f6bfd978ccbff16441d12df6',
|
||||||
'./RoboFile.php' => '045b82c1df69553824d0e4ffcce6e03c',
|
'./RoboFile.php' => '045b82c1df69553824d0e4ffcce6e03c',
|
||||||
'./SugarSecurity.php' => '47e316b2d408e8c5192c8ea4a4f921b3',
|
'./SugarSecurity.php' => '47e316b2d408e8c5192c8ea4a4f921b3',
|
||||||
'./TreeData.php' => '32873e20cb5fd33f9d1cdaf18c3cac5c',
|
'./TreeData.php' => '32873e20cb5fd33f9d1cdaf18c3cac5c',
|
||||||
|
@ -503,11 +503,9 @@ $md5_string = array (
|
||||||
'./Zend/Validate/Interface.php' => 'e313ef824309253dcfab90ff1d38ac86',
|
'./Zend/Validate/Interface.php' => 'e313ef824309253dcfab90ff1d38ac86',
|
||||||
'./Zend/Validate/Ip.php' => 'e313ef824309253dcfab90ff1d38ac86',
|
'./Zend/Validate/Ip.php' => 'e313ef824309253dcfab90ff1d38ac86',
|
||||||
'./Zend/Version.php' => 'e313ef824309253dcfab90ff1d38ac86',
|
'./Zend/Version.php' => 'e313ef824309253dcfab90ff1d38ac86',
|
||||||
'./build/push_output.sh' => 'cde8cd38e3b0c4e988ec4be7d81faa89',
|
|
||||||
'./build/travis-ci-apache' => 'e1e212c4eaf679b6ec620cd0b12f4571',
|
|
||||||
'./campaign_tracker.php' => '321e43ca8b664e6ca57ae5589e8c0667',
|
'./campaign_tracker.php' => '321e43ca8b664e6ca57ae5589e8c0667',
|
||||||
'./composer.json' => '66202f4ba0f73ed829684da3a9a28423',
|
'./composer.json' => '66202f4ba0f73ed829684da3a9a28423',
|
||||||
'./composer.lock' => 'ec93eaa5f4372c436c382f49fdba004f',
|
'./composer.lock' => '5d5dddb6ad175a807cf4b7496e64604d',
|
||||||
'./cron.php' => '0b8b6bd839a2232a8da074b31feaa708',
|
'./cron.php' => '0b8b6bd839a2232a8da074b31feaa708',
|
||||||
'./crossdomain.xml' => '24b7711640c652b21aa89c9d83d6ec13',
|
'./crossdomain.xml' => '24b7711640c652b21aa89c9d83d6ec13',
|
||||||
'./data/BeanFactory.php' => '84b7c36b6a59ea8c5c4069659cc72950',
|
'./data/BeanFactory.php' => '84b7c36b6a59ea8c5c4069659cc72950',
|
||||||
|
@ -521,7 +519,7 @@ $md5_string = array (
|
||||||
'./data/Relationships/One2OneRelationship.php' => 'c46d3067d5651fbc928763600d5e1a51',
|
'./data/Relationships/One2OneRelationship.php' => 'c46d3067d5651fbc928763600d5e1a51',
|
||||||
'./data/Relationships/RelationshipFactory.php' => '98a46e44186f2d2db23be9b894a4f1e2',
|
'./data/Relationships/RelationshipFactory.php' => '98a46e44186f2d2db23be9b894a4f1e2',
|
||||||
'./data/Relationships/SugarRelationship.php' => 'a71b96492ee7457826fc91a2356c4ebd',
|
'./data/Relationships/SugarRelationship.php' => 'a71b96492ee7457826fc91a2356c4ebd',
|
||||||
'./data/SugarBean.php' => 'a6853f4e4773caa3ca7a80207bb4d9dc',
|
'./data/SugarBean.php' => 'd8544e7bffbd4eeea20053f52c5514bd',
|
||||||
'./deprecated.php' => 'f5f507fd6314f38d29c97e2cc2c62239',
|
'./deprecated.php' => 'f5f507fd6314f38d29c97e2cc2c62239',
|
||||||
'./dictionary.php' => 'b7c1370fb75a2940c04db74627c4462c',
|
'./dictionary.php' => 'b7c1370fb75a2940c04db74627c4462c',
|
||||||
'./download.php' => 'f2d366039d134ac463ff1e75634ce509',
|
'./download.php' => 'f2d366039d134ac463ff1e75634ce509',
|
||||||
|
@ -1023,7 +1021,7 @@ $md5_string = array (
|
||||||
'./include/SugarFields/Parsers/SearchFormMetaParser.php' => '732eecf76268b82b84667f6d00a905f5',
|
'./include/SugarFields/Parsers/SearchFormMetaParser.php' => '732eecf76268b82b84667f6d00a905f5',
|
||||||
'./include/SugarFields/SugarFieldHandler.php' => '73b2605cef98e6b0b03880d299a49e92',
|
'./include/SugarFields/SugarFieldHandler.php' => '73b2605cef98e6b0b03880d299a49e92',
|
||||||
'./include/SugarFolders/SugarFolderEmptyException.php' => 'd8052a2f3abf6ff8db9563bf3e22842e',
|
'./include/SugarFolders/SugarFolderEmptyException.php' => 'd8052a2f3abf6ff8db9563bf3e22842e',
|
||||||
'./include/SugarFolders/SugarFolders.php' => '51ed64e78907559c6c5b5fd447280f32',
|
'./include/SugarFolders/SugarFolders.php' => '4b79dc7fc655f6fe17210eb93191beb4',
|
||||||
'./include/SugarHtml/SugarHtml.php' => 'b457a731768480ce81d6e709d920e2cb',
|
'./include/SugarHtml/SugarHtml.php' => 'b457a731768480ce81d6e709d920e2cb',
|
||||||
'./include/SugarHttpClient.php' => 'bf0aedbad0c73763186e37fb9107d3d7',
|
'./include/SugarHttpClient.php' => 'bf0aedbad0c73763186e37fb9107d3d7',
|
||||||
'./include/SugarLogger/LoggerManager.php' => 'd30492d39dc1aecce2e9cabdc4c148e8',
|
'./include/SugarLogger/LoggerManager.php' => 'd30492d39dc1aecce2e9cabdc4c148e8',
|
||||||
|
@ -1202,7 +1200,7 @@ $md5_string = array (
|
||||||
'./include/SugarTinyMCE.php' => '3e1df6fa7bcbb9e3caf75d97e1d8924b',
|
'./include/SugarTinyMCE.php' => '3e1df6fa7bcbb9e3caf75d97e1d8924b',
|
||||||
'./include/Sugar_Smarty.php' => 'f3edc67b137034a204d8806878803ae8',
|
'./include/Sugar_Smarty.php' => 'f3edc67b137034a204d8806878803ae8',
|
||||||
'./include/Sugarpdf/FontManager.php' => '4f3e178b643571961d9f2590122342cc',
|
'./include/Sugarpdf/FontManager.php' => '4f3e178b643571961d9f2590122342cc',
|
||||||
'./include/Sugarpdf/Sugarpdf.php' => 'e1a58c55fd35666ef92794d7af157c75',
|
'./include/Sugarpdf/Sugarpdf.php' => '10f553017faf60a1ba027c96dea2d43d',
|
||||||
'./include/Sugarpdf/SugarpdfFactory.php' => 'aadf37eceefa4fcf78d789c6035062b4',
|
'./include/Sugarpdf/SugarpdfFactory.php' => 'aadf37eceefa4fcf78d789c6035062b4',
|
||||||
'./include/Sugarpdf/SugarpdfHelper.php' => 'c0fae5a020ea5115326ff367e3293d05',
|
'./include/Sugarpdf/SugarpdfHelper.php' => 'c0fae5a020ea5115326ff367e3293d05',
|
||||||
'./include/Sugarpdf/sugarpdf/sugarpdf.smarty.php' => '3123177f2bb0240b00e37c433d149c66',
|
'./include/Sugarpdf/sugarpdf/sugarpdf.smarty.php' => '3123177f2bb0240b00e37c433d149c66',
|
||||||
|
@ -1321,10 +1319,10 @@ $md5_string = array (
|
||||||
'./include/contextMenus/menuDefs/sugarObject.php' => '119e653126765edb0358ab54697b862a',
|
'./include/contextMenus/menuDefs/sugarObject.php' => '119e653126765edb0358ab54697b862a',
|
||||||
'./include/contextMenus/menuDefs/sugarPerson.php' => '215d244d2fbd4bce5facc8fe2091cc27',
|
'./include/contextMenus/menuDefs/sugarPerson.php' => '215d244d2fbd4bce5facc8fe2091cc27',
|
||||||
'./include/controller/Controller.php' => '0ee78cfd4c12448eec89ea50b7ea143b',
|
'./include/controller/Controller.php' => '0ee78cfd4c12448eec89ea50b7ea143b',
|
||||||
'./include/database/DBManager.php' => 'c33d5aa4d34651fbb0f1567cb3c5d190',
|
'./include/database/DBManager.php' => 'd2ecb6db9ceda8d9f1042c2f00ba5d63',
|
||||||
'./include/database/DBManagerFactory.php' => 'ba1e996ceb661905208e38df2459b095',
|
'./include/database/DBManagerFactory.php' => 'ba1e996ceb661905208e38df2459b095',
|
||||||
'./include/database/FreeTDSManager.php' => '23ec109e38260e0ffa2a1676d486fd62',
|
'./include/database/FreeTDSManager.php' => '23ec109e38260e0ffa2a1676d486fd62',
|
||||||
'./include/database/MssqlManager.php' => '1987343b5422b6ff99b93f5215301adb',
|
'./include/database/MssqlManager.php' => '8ec8ad4bd3df1c19aa96b228f3b356a7',
|
||||||
'./include/database/MysqlManager.php' => 'e291bd0e38fde596a8bd1f6c75688eaa',
|
'./include/database/MysqlManager.php' => 'e291bd0e38fde596a8bd1f6c75688eaa',
|
||||||
'./include/database/MysqliManager.php' => '31cf1de8eba53e933ea116870129da12',
|
'./include/database/MysqliManager.php' => '31cf1de8eba53e933ea116870129da12',
|
||||||
'./include/database/SqlsrvManager.php' => 'ad3f8e07dce347f8cf1906e7e91ec776',
|
'./include/database/SqlsrvManager.php' => 'ad3f8e07dce347f8cf1906e7e91ec776',
|
||||||
|
@ -2334,7 +2332,7 @@ $md5_string = array (
|
||||||
'./include/javascript/yui/build/yuitest/yuitest_core.js' => 'ed5230a0f4a885d8ea51c2fe78895d07',
|
'./include/javascript/yui/build/yuitest/yuitest_core.js' => 'ed5230a0f4a885d8ea51c2fe78895d07',
|
||||||
'./include/javascript/yui/ygDDList.js' => '0cd9051a220de7e8c79bf5b9cccce10f',
|
'./include/javascript/yui/ygDDList.js' => '0cd9051a220de7e8c79bf5b9cccce10f',
|
||||||
'./include/json_config.php' => 'ba7fb6f2fb1df51bc367835406ef7ba5',
|
'./include/json_config.php' => 'ba7fb6f2fb1df51bc367835406ef7ba5',
|
||||||
'./include/language/en_us.lang.php' => '7c47b77bff87c736d053321b4253c28b',
|
'./include/language/en_us.lang.php' => 'b3e2e4ddf37fa8614a55749c8f22aea6',
|
||||||
'./include/language/en_us.notify_template.html' => 'c6a897ace7af46a44889dfab1a9d44c5',
|
'./include/language/en_us.notify_template.html' => 'c6a897ace7af46a44889dfab1a9d44c5',
|
||||||
'./include/language/getJSLanguage.php' => '1bc910bd5a9953fbf443d3d97fddbffa',
|
'./include/language/getJSLanguage.php' => '1bc910bd5a9953fbf443d3d97fddbffa',
|
||||||
'./include/language/jsLanguage.php' => '3d27819dc00f2fe5426f72733a7edca1',
|
'./include/language/jsLanguage.php' => '3d27819dc00f2fe5426f72733a7edca1',
|
||||||
|
@ -2434,7 +2432,7 @@ $md5_string = array (
|
||||||
'./include/utils/db_utils.php' => '7fa7c67aec162fd9da259a1f33cef514',
|
'./include/utils/db_utils.php' => '7fa7c67aec162fd9da259a1f33cef514',
|
||||||
'./include/utils/encryption_utils.php' => 'cf87e84efe3764464056e6473aac9c79',
|
'./include/utils/encryption_utils.php' => 'cf87e84efe3764464056e6473aac9c79',
|
||||||
'./include/utils/external_cache.php' => '7439d9b6252e242a9c852ecb58df44ec',
|
'./include/utils/external_cache.php' => '7439d9b6252e242a9c852ecb58df44ec',
|
||||||
'./include/utils/file_utils.php' => '0a243121415b2fbcc49d9b1c8ce8c3d8',
|
'./include/utils/file_utils.php' => '28de9dc2ca22c07972fb85f334024bea',
|
||||||
'./include/utils/layout_utils.php' => 'f1bfbecd81ffaea9483b39ee7925a523',
|
'./include/utils/layout_utils.php' => 'f1bfbecd81ffaea9483b39ee7925a523',
|
||||||
'./include/utils/logic_utils.php' => 'df0882131989fd10f9855cc3b66d4572',
|
'./include/utils/logic_utils.php' => 'df0882131989fd10f9855cc3b66d4572',
|
||||||
'./include/utils/mvc_utils.php' => '38de4382713debfb1cbbe33442a8fc5b',
|
'./include/utils/mvc_utils.php' => '38de4382713debfb1cbbe33442a8fc5b',
|
||||||
|
@ -2445,7 +2443,7 @@ $md5_string = array (
|
||||||
'./include/utils/recaptcha_utils.php' => '73f5eddf707788c1dff4b7d07dc82656',
|
'./include/utils/recaptcha_utils.php' => '73f5eddf707788c1dff4b7d07dc82656',
|
||||||
'./include/utils/security_utils.php' => 'e953d0b673df3df313ecf1ac975e8f57',
|
'./include/utils/security_utils.php' => 'e953d0b673df3df313ecf1ac975e8f57',
|
||||||
'./include/utils/sugar_file_utils.php' => '1c1915cad8c88feb0edbf5bbaee106c4',
|
'./include/utils/sugar_file_utils.php' => '1c1915cad8c88feb0edbf5bbaee106c4',
|
||||||
'./include/utils.php' => 'a58c10d95399b0b542bbe69e4540bc71',
|
'./include/utils.php' => '056c6cb9c2a210087be1b89558cfd63f',
|
||||||
'./include/vCard.php' => '44052bbedcdaba3fdf67cfc10a112e75',
|
'./include/vCard.php' => '44052bbedcdaba3fdf67cfc10a112e75',
|
||||||
'./include/ytree/ExtNode.php' => '000d4ccbdb6e0a7628c636128781b5e3',
|
'./include/ytree/ExtNode.php' => '000d4ccbdb6e0a7628c636128781b5e3',
|
||||||
'./include/ytree/JQueryTree.php' => '3712d2224b93818b990b876f8405b745',
|
'./include/ytree/JQueryTree.php' => '3712d2224b93818b990b876f8405b745',
|
||||||
|
@ -2820,17 +2818,17 @@ $md5_string = array (
|
||||||
'./lib/Log/SugarLoggerHandler.php' => 'ae057e2f6ae16d0905ec30e8eea2cb6a',
|
'./lib/Log/SugarLoggerHandler.php' => 'ae057e2f6ae16d0905ec30e8eea2cb6a',
|
||||||
'./lib/PDF/Exceptions/PDFEngineNotFoundException.php' => 'b5a8e3eb0b77f9bafac3330628db172c',
|
'./lib/PDF/Exceptions/PDFEngineNotFoundException.php' => 'b5a8e3eb0b77f9bafac3330628db172c',
|
||||||
'./lib/PDF/Exceptions/PDFException.php' => '5d3cd8dc51b027a3241e9f62b5f945f0',
|
'./lib/PDF/Exceptions/PDFException.php' => '5d3cd8dc51b027a3241e9f62b5f945f0',
|
||||||
'./lib/PDF/MPDF/MPDFEngine.php' => '8bbd93c15b8086282d5c55952bb6d8ec',
|
'./lib/PDF/LegacyMPDF/LegacyMPDFEngine.php' => '8b10d62af892be0f48eb4d9e70220ca3',
|
||||||
'./lib/PDF/MPDF/configMapping.php' => '549b4db398ad512b0bc7b8206251d355',
|
'./lib/PDF/LegacyMPDF/configMapping.php' => '549b4db398ad512b0bc7b8206251d355',
|
||||||
'./lib/PDF/PDFConfigurator.php' => '83331a90da006f4431999d9cc49db56c',
|
'./lib/PDF/PDFConfigurator.php' => '83331a90da006f4431999d9cc49db56c',
|
||||||
'./lib/PDF/PDFEngine.php' => 'ec07bdb05e1c6cdfc2989159a5d9f0e8',
|
'./lib/PDF/PDFEngine.php' => 'ec07bdb05e1c6cdfc2989159a5d9f0e8',
|
||||||
'./lib/PDF/PDFWrapper.php' => 'e40ebae5f73eca4e3e9b7a3bac460fee',
|
'./lib/PDF/PDFWrapper.php' => '40907f01b6c670c709e9b426cc992aa7',
|
||||||
'./lib/PDF/TCPDF/SuiteTCPDF.php' => '7b0743e830119ee7d073daf685b908ef',
|
'./lib/PDF/TCPDF/SuiteTCPDF.php' => '7b0743e830119ee7d073daf685b908ef',
|
||||||
'./lib/PDF/TCPDF/TCPDFEngine.php' => '6b44d2d37a6d4765466eec66f254f453',
|
'./lib/PDF/TCPDF/TCPDFEngine.php' => '6b44d2d37a6d4765466eec66f254f453',
|
||||||
'./lib/PDF/TCPDF/configMapping.php' => '6e468e9ac1e913980cb52f2465151459',
|
'./lib/PDF/TCPDF/configMapping.php' => '6e468e9ac1e913980cb52f2465151459',
|
||||||
'./lib/PDF/TCPDF/default.css' => '01b379775cbce935e9b542b7f9010a90',
|
'./lib/PDF/TCPDF/default.css' => '01b379775cbce935e9b542b7f9010a90',
|
||||||
'./lib/Robo/Plugin/Commands/ApiCommands.php' => '16294f4aa5d72ec92c5bf21cbc3bd9a7',
|
'./lib/Robo/Plugin/Commands/ApiCommands.php' => '16294f4aa5d72ec92c5bf21cbc3bd9a7',
|
||||||
'./lib/Robo/Plugin/Commands/BuildCommands.php' => '00dc56a6e4810a38708b3d7609fce4d8',
|
'./lib/Robo/Plugin/Commands/BuildCommands.php' => '8134ecf431befe35085a20c213eb9f04',
|
||||||
'./lib/Robo/Plugin/Commands/CleanCacheCommands.php' => 'e6edea05148d75052febec099b0400f6',
|
'./lib/Robo/Plugin/Commands/CleanCacheCommands.php' => 'e6edea05148d75052febec099b0400f6',
|
||||||
'./lib/Robo/Plugin/Commands/CodeCoverageCommands.php' => '1a96a8253828178473f3e26b454d07ba',
|
'./lib/Robo/Plugin/Commands/CodeCoverageCommands.php' => '1a96a8253828178473f3e26b454d07ba',
|
||||||
'./lib/Robo/Plugin/Commands/CodingStandardCommands.php' => '0c2e3276cfb188500172ec7d503926ba',
|
'./lib/Robo/Plugin/Commands/CodingStandardCommands.php' => '0c2e3276cfb188500172ec7d503926ba',
|
||||||
|
@ -2845,9 +2843,9 @@ $md5_string = array (
|
||||||
'./lib/Search/AOD/LuceneSearchEngine.php' => '7a589c07fae355ad81ba1893e40e1bb9',
|
'./lib/Search/AOD/LuceneSearchEngine.php' => '7a589c07fae355ad81ba1893e40e1bb9',
|
||||||
'./lib/Search/BasicSearch/BasicSearchEngine.php' => '1d2c5e21d8bc06a90c9df7ad30607685',
|
'./lib/Search/BasicSearch/BasicSearchEngine.php' => '1d2c5e21d8bc06a90c9df7ad30607685',
|
||||||
'./lib/Search/ElasticSearch/ElasticSearchClientBuilder.php' => '4743c29fa00cb5d4025c974af7b79156',
|
'./lib/Search/ElasticSearch/ElasticSearchClientBuilder.php' => '4743c29fa00cb5d4025c974af7b79156',
|
||||||
'./lib/Search/ElasticSearch/ElasticSearchEngine.php' => '7c78874891f4a5749ce984a3ace153ed',
|
'./lib/Search/ElasticSearch/ElasticSearchEngine.php' => '89b2b27ef2c5dd8e7482360a8e499bfc',
|
||||||
'./lib/Search/ElasticSearch/ElasticSearchHooks.php' => '8898cc8d7cec43f13352397be9397f3e',
|
'./lib/Search/ElasticSearch/ElasticSearchHooks.php' => '8898cc8d7cec43f13352397be9397f3e',
|
||||||
'./lib/Search/ElasticSearch/ElasticSearchIndexer.php' => 'f0e8f5e0648e7a191487efe349dfe0fe',
|
'./lib/Search/ElasticSearch/ElasticSearchIndexer.php' => 'bf4bb3db91bea5279332355d366e7109',
|
||||||
'./lib/Search/ElasticSearch/ElasticSearchModuleDataPuller.php' => 'ad1144c9e9f58af496714d6dcdbdbaa5',
|
'./lib/Search/ElasticSearch/ElasticSearchModuleDataPuller.php' => 'ad1144c9e9f58af496714d6dcdbdbaa5',
|
||||||
'./lib/Search/ElasticSearch/elasticsearch.example.json' => 'cd776b60993b4521cd5cfd79db95af46',
|
'./lib/Search/ElasticSearch/elasticsearch.example.json' => 'cd776b60993b4521cd5cfd79db95af46',
|
||||||
'./lib/Search/Exceptions/SearchEngineNotFoundException.php' => '4f83830aea088643ee87f82bd173d96d',
|
'./lib/Search/Exceptions/SearchEngineNotFoundException.php' => '4f83830aea088643ee87f82bd173d96d',
|
||||||
|
@ -3485,7 +3483,7 @@ $md5_string = array (
|
||||||
'./modules/AOS_PDF_Templates/formLetter.php' => 'a0ab2fa1367100783bf90454b5bfb37b',
|
'./modules/AOS_PDF_Templates/formLetter.php' => 'a0ab2fa1367100783bf90454b5bfb37b',
|
||||||
'./modules/AOS_PDF_Templates/formLetterPdf.php' => '502e60b0cde93a50d1807968186d9aff',
|
'./modules/AOS_PDF_Templates/formLetterPdf.php' => '502e60b0cde93a50d1807968186d9aff',
|
||||||
'./modules/AOS_PDF_Templates/generatePdf.php' => '356d42169cfeaf00f93dca0390937cc5',
|
'./modules/AOS_PDF_Templates/generatePdf.php' => '356d42169cfeaf00f93dca0390937cc5',
|
||||||
'./modules/AOS_PDF_Templates/language/en_us.lang.php' => '3db4859b9704f37f308eda030143c518',
|
'./modules/AOS_PDF_Templates/language/en_us.lang.php' => '17172f9553e94c7d52319d8980bbd393',
|
||||||
'./modules/AOS_PDF_Templates/metadata/SearchFields.php' => '236f33a75cc59a902e6d86e2326948b5',
|
'./modules/AOS_PDF_Templates/metadata/SearchFields.php' => '236f33a75cc59a902e6d86e2326948b5',
|
||||||
'./modules/AOS_PDF_Templates/metadata/dashletviewdefs.php' => '53c60c5458d3420866439841f33e20c0',
|
'./modules/AOS_PDF_Templates/metadata/dashletviewdefs.php' => '53c60c5458d3420866439841f33e20c0',
|
||||||
'./modules/AOS_PDF_Templates/metadata/detailviewdefs.php' => '2270eb15fbc4e90436c97d1db2bd612f',
|
'./modules/AOS_PDF_Templates/metadata/detailviewdefs.php' => '2270eb15fbc4e90436c97d1db2bd612f',
|
||||||
|
@ -3696,7 +3694,7 @@ $md5_string = array (
|
||||||
'./modules/Accounts/views/view.detail.php' => 'ff7c4c36ceee1bedea15be666a5c9a6d',
|
'./modules/Accounts/views/view.detail.php' => 'ff7c4c36ceee1bedea15be666a5c9a6d',
|
||||||
'./modules/Accounts/views/view.edit.php' => '02baef33556662c30bf870f9cf6b8283',
|
'./modules/Accounts/views/view.edit.php' => '02baef33556662c30bf870f9cf6b8283',
|
||||||
'./modules/Accounts/views/view.list.php' => 'e41d3b6fa054f94c4fbf8a1bcd313e89',
|
'./modules/Accounts/views/view.list.php' => 'e41d3b6fa054f94c4fbf8a1bcd313e89',
|
||||||
'./modules/Activities/EmailReminder.php' => 'ea0856c8860a65037db5b38a9c23f72a',
|
'./modules/Activities/EmailReminder.php' => 'da99af7b51a92ac3af720af1205b23c1',
|
||||||
'./modules/Activities/Forms.php' => '43deca0e0a042763dffa511193472008',
|
'./modules/Activities/Forms.php' => '43deca0e0a042763dffa511193472008',
|
||||||
'./modules/Activities/Menu.php' => '5ab24872b1fc0f4e33f1a152487bac94',
|
'./modules/Activities/Menu.php' => '5ab24872b1fc0f4e33f1a152487bac94',
|
||||||
'./modules/Activities/Popup_picker.php' => '49f21eede4b7a47802c0ecea9391b44c',
|
'./modules/Activities/Popup_picker.php' => '49f21eede4b7a47802c0ecea9391b44c',
|
||||||
|
@ -4238,7 +4236,7 @@ $md5_string = array (
|
||||||
'./modules/Charts/code/Chart_pipeline_by_sales_stage.php' => '9ee2b77dad48bfc015fc89404c0d5aeb',
|
'./modules/Charts/code/Chart_pipeline_by_sales_stage.php' => '9ee2b77dad48bfc015fc89404c0d5aeb',
|
||||||
'./modules/Charts/code/predefined_charts.php' => '634c4f0a5c99b0f67b8cc4278d2888b6',
|
'./modules/Charts/code/predefined_charts.php' => '634c4f0a5c99b0f67b8cc4278d2888b6',
|
||||||
'./modules/Charts/language/en_us.lang.php' => '2013acc7fd28efad48cff3d3dc365c0e',
|
'./modules/Charts/language/en_us.lang.php' => '2013acc7fd28efad48cff3d3dc365c0e',
|
||||||
'./modules/Configurator/Configurator.php' => '8186bda46c853618c30721779bb73068',
|
'./modules/Configurator/Configurator.php' => '71e48c985cc6a1ab73e6806309976f6d',
|
||||||
'./modules/Configurator/Forms.php' => '6bdf86ac20d4dfe2d137bc71f7dc0570',
|
'./modules/Configurator/Forms.php' => '6bdf86ac20d4dfe2d137bc71f7dc0570',
|
||||||
'./modules/Configurator/LogView.php' => '64da13ee9bf50c75afbc16375c3283be',
|
'./modules/Configurator/LogView.php' => '64da13ee9bf50c75afbc16375c3283be',
|
||||||
'./modules/Configurator/Menu.php' => '1f69df3f11b60426def8f47a7cbce4fa',
|
'./modules/Configurator/Menu.php' => '1f69df3f11b60426def8f47a7cbce4fa',
|
||||||
|
@ -4247,7 +4245,7 @@ $md5_string = array (
|
||||||
'./modules/Configurator/controller.php' => 'f295ce1c2b46b0720de4717312a28d87',
|
'./modules/Configurator/controller.php' => 'f295ce1c2b46b0720de4717312a28d87',
|
||||||
'./modules/Configurator/language/en_us.lang.php' => '8f52040964f4b19526f75bd50e0d0013',
|
'./modules/Configurator/language/en_us.lang.php' => '8f52040964f4b19526f75bd50e0d0013',
|
||||||
'./modules/Configurator/metadata/SugarpdfSettingsdefs.php' => 'ca8649f8b1554e8aec32fe8440ff781e',
|
'./modules/Configurator/metadata/SugarpdfSettingsdefs.php' => 'ca8649f8b1554e8aec32fe8440ff781e',
|
||||||
'./modules/Configurator/tpls/EditView.tpl' => '471dca5dca7ba38af4880e190c1a7b91',
|
'./modules/Configurator/tpls/EditView.tpl' => '95db9efe07fce13f8f4c20437028116e',
|
||||||
'./modules/Configurator/tpls/SugarpdfSettings.tpl' => 'c97732698b0ba12862887d64a3aa6c6c',
|
'./modules/Configurator/tpls/SugarpdfSettings.tpl' => 'c97732698b0ba12862887d64a3aa6c6c',
|
||||||
'./modules/Configurator/tpls/SugarpdfSettingsFields.tpl' => '56a0d22112e9add023d94f0bd8a0e237',
|
'./modules/Configurator/tpls/SugarpdfSettingsFields.tpl' => '56a0d22112e9add023d94f0bd8a0e237',
|
||||||
'./modules/Configurator/tpls/addFontResult.tpl' => 'beac4b7b439e1030c9e117f0fb26d4e4',
|
'./modules/Configurator/tpls/addFontResult.tpl' => 'beac4b7b439e1030c9e117f0fb26d4e4',
|
||||||
|
@ -4437,7 +4435,7 @@ $md5_string = array (
|
||||||
'./modules/Documents/views/view.detail.php' => 'eac3d5189949259727d9a1037f0e0070',
|
'./modules/Documents/views/view.detail.php' => 'eac3d5189949259727d9a1037f0e0070',
|
||||||
'./modules/Documents/views/view.edit.php' => '80f2e5e7e9fa1170f7e0452b9ca8b816',
|
'./modules/Documents/views/view.edit.php' => '80f2e5e7e9fa1170f7e0452b9ca8b816',
|
||||||
'./modules/Documents/views/view.extdoc.php' => 'a596ceb8005df2241ae53b4146bfc8f5',
|
'./modules/Documents/views/view.extdoc.php' => 'a596ceb8005df2241ae53b4146bfc8f5',
|
||||||
'./modules/DynamicFields/DynamicField.php' => '19f76241521343719c110deef3a96b5b',
|
'./modules/DynamicFields/DynamicField.php' => '872af3f181df101e6dada8b0d39e685f',
|
||||||
'./modules/DynamicFields/FieldCases.php' => '727d05978bb8a62c33ec9c8b7ab91489',
|
'./modules/DynamicFields/FieldCases.php' => '727d05978bb8a62c33ec9c8b7ab91489',
|
||||||
'./modules/DynamicFields/FieldViewer.php' => '85058d135229ad1103524d52cfd06d82',
|
'./modules/DynamicFields/FieldViewer.php' => '85058d135229ad1103524d52cfd06d82',
|
||||||
'./modules/DynamicFields/FieldsMetaData.php' => '8e5a2e1af51b342d83f81910e11cb046',
|
'./modules/DynamicFields/FieldsMetaData.php' => '8e5a2e1af51b342d83f81910e11cb046',
|
||||||
|
@ -4969,21 +4967,21 @@ $md5_string = array (
|
||||||
'./modules/Import/tpls/listview.tpl' => 'ff88ce50f647b6aa34db2e293136c675',
|
'./modules/Import/tpls/listview.tpl' => 'ff88ce50f647b6aa34db2e293136c675',
|
||||||
'./modules/Import/tpls/listviewpaginator.tpl' => '5b610271b4339973ebe7e4b91db8c9bf',
|
'./modules/Import/tpls/listviewpaginator.tpl' => '5b610271b4339973ebe7e4b91db8c9bf',
|
||||||
'./modules/Import/tpls/step1.tpl' => '0a7f0d07671d8376abdd6e351a140dc0',
|
'./modules/Import/tpls/step1.tpl' => '0a7f0d07671d8376abdd6e351a140dc0',
|
||||||
'./modules/Import/tpls/step2.tpl' => '322e031c8566bc0fecaf4b8f4c12003a',
|
'./modules/Import/tpls/step2.tpl' => '436721f5e9bdcd7366f6fcd5d9c18c59',
|
||||||
'./modules/Import/tpls/step3.tpl' => '0fc61d15e73a97daa586b4de350ecdb7',
|
'./modules/Import/tpls/step3.tpl' => '0fc61d15e73a97daa586b4de350ecdb7',
|
||||||
'./modules/Import/tpls/undo.tpl' => '540c0609ac93f7aa47ab4e96f937c657',
|
'./modules/Import/tpls/undo.tpl' => '540c0609ac93f7aa47ab4e96f937c657',
|
||||||
'./modules/Import/tpls/wizardWrapper.tpl' => '374fbc931fc6d3689a8eb013aee872e1',
|
'./modules/Import/tpls/wizardWrapper.tpl' => '374fbc931fc6d3689a8eb013aee872e1',
|
||||||
'./modules/Import/vardefs.php' => '4ac6a307f85bc9d772c080cd00846798',
|
'./modules/Import/vardefs.php' => '4ac6a307f85bc9d772c080cd00846798',
|
||||||
'./modules/Import/views/ImportListView.php' => '95a7054b92a595945b0547a8bc8cab22',
|
'./modules/Import/views/ImportListView.php' => '95a7054b92a595945b0547a8bc8cab22',
|
||||||
'./modules/Import/views/ImportView.php' => '7d3d044660601703a02b83814b09dc09',
|
'./modules/Import/views/ImportView.php' => '7d3d044660601703a02b83814b09dc09',
|
||||||
'./modules/Import/views/view.confirm.php' => 'd9f5280a969ea7fe399bc1149c15bd5a',
|
'./modules/Import/views/view.confirm.php' => '6e4c4d9a8a2dd945cf6fe366073f3d8c',
|
||||||
'./modules/Import/views/view.dupcheck.php' => 'd9aa990fadab310b3220951acef261d4',
|
'./modules/Import/views/view.dupcheck.php' => 'd9aa990fadab310b3220951acef261d4',
|
||||||
'./modules/Import/views/view.error.php' => 'f9e7be588b58dcad34976c3a54af56b0',
|
'./modules/Import/views/view.error.php' => 'f9e7be588b58dcad34976c3a54af56b0',
|
||||||
'./modules/Import/views/view.extdupcheck.php' => '49a87e84532e868e632387033e745038',
|
'./modules/Import/views/view.extdupcheck.php' => '49a87e84532e868e632387033e745038',
|
||||||
'./modules/Import/views/view.last.php' => '7c4d08eb99783e31971a4a641d531a50',
|
'./modules/Import/views/view.last.php' => '7c4d08eb99783e31971a4a641d531a50',
|
||||||
'./modules/Import/views/view.step1.php' => '7f515a1fc6c2c182c24d6af3c65d73b3',
|
'./modules/Import/views/view.step1.php' => '7f515a1fc6c2c182c24d6af3c65d73b3',
|
||||||
'./modules/Import/views/view.step2.php' => '30d49b03050d05f5605dc935ea87fd9a',
|
'./modules/Import/views/view.step2.php' => '30d49b03050d05f5605dc935ea87fd9a',
|
||||||
'./modules/Import/views/view.step3.php' => 'cb5d880a6d7268fc416d431ff85983b2',
|
'./modules/Import/views/view.step3.php' => '6e671e2af8f40f041b808a8dbecf6796',
|
||||||
'./modules/Import/views/view.step4.php' => '8694e2f07e6ddc9128af648d42aa802d',
|
'./modules/Import/views/view.step4.php' => '8694e2f07e6ddc9128af648d42aa802d',
|
||||||
'./modules/Import/views/view.undo.php' => '0f11a824c733c819214ef88f666358b5',
|
'./modules/Import/views/view.undo.php' => '0f11a824c733c819214ef88f666358b5',
|
||||||
'./modules/InboundEmail/AOPInboundEmail.php' => '2c74ce41273c1982b221a8862dfcc997',
|
'./modules/InboundEmail/AOPInboundEmail.php' => '2c74ce41273c1982b221a8862dfcc997',
|
||||||
|
@ -5666,7 +5664,7 @@ $md5_string = array (
|
||||||
'./modules/Schedulers/Save.php' => 'f074612e8858b16ed63efc57aa47c689',
|
'./modules/Schedulers/Save.php' => 'f074612e8858b16ed63efc57aa47c689',
|
||||||
'./modules/Schedulers/Scheduler.php' => '32fea0faf54fc7fd0b72f779c12d6d9a',
|
'./modules/Schedulers/Scheduler.php' => '32fea0faf54fc7fd0b72f779c12d6d9a',
|
||||||
'./modules/Schedulers/Schedulers.js' => '873697808ad38308416065af9fbb8a2f',
|
'./modules/Schedulers/Schedulers.js' => '873697808ad38308416065af9fbb8a2f',
|
||||||
'./modules/Schedulers/_AddJobsHere.php' => '867b0ae96fa9b5eded01259d4845d692',
|
'./modules/Schedulers/_AddJobsHere.php' => 'ec6d31550e833d51fcfb1581df9ecdb6',
|
||||||
'./modules/Schedulers/field_arrays.php' => 'e2671fc2306b56af3562b1b092ae05af',
|
'./modules/Schedulers/field_arrays.php' => 'e2671fc2306b56af3562b1b092ae05af',
|
||||||
'./modules/Schedulers/language/en_us.lang.php' => '6d1b614f0c5c5bff502f2f0db921e54e',
|
'./modules/Schedulers/language/en_us.lang.php' => '6d1b614f0c5c5bff502f2f0db921e54e',
|
||||||
'./modules/Schedulers/metadata/SearchFields.php' => '89dec0da90e39ab857fcd1bbf6c3423a',
|
'./modules/Schedulers/metadata/SearchFields.php' => '89dec0da90e39ab857fcd1bbf6c3423a',
|
||||||
|
@ -6043,7 +6041,7 @@ $md5_string = array (
|
||||||
'./modules/Users/SetTimezone.tpl' => 'f0fb5ed64fae81a5657ebc8f167967c9',
|
'./modules/Users/SetTimezone.tpl' => 'f0fb5ed64fae81a5657ebc8f167967c9',
|
||||||
'./modules/Users/UpdateTourStatus.php' => 'cc111e28e6df1d96b98678661dd42490',
|
'./modules/Users/UpdateTourStatus.php' => 'cc111e28e6df1d96b98678661dd42490',
|
||||||
'./modules/Users/User.js' => '351f8d8e74bd1bd0a56dcc2bae31b147',
|
'./modules/Users/User.js' => '351f8d8e74bd1bd0a56dcc2bae31b147',
|
||||||
'./modules/Users/User.php' => '6b7d55a97bf211055f1e981573d41cf0',
|
'./modules/Users/User.php' => 'e0e65bf73d91fcc730b923eb95fe37c2',
|
||||||
'./modules/Users/UserEditView.js' => '421e1c38f1ee78933134b987b7c3c251',
|
'./modules/Users/UserEditView.js' => '421e1c38f1ee78933134b987b7c3c251',
|
||||||
'./modules/Users/UserEmailOptions.tpl' => '96b848efbf7f6d4fee7b6bf13a1a1aee',
|
'./modules/Users/UserEmailOptions.tpl' => '96b848efbf7f6d4fee7b6bf13a1a1aee',
|
||||||
'./modules/Users/UserEmailSettings.tpl' => '5d9ff3379f63dcf7c5efbbcc3e88d8ed',
|
'./modules/Users/UserEmailSettings.tpl' => '5d9ff3379f63dcf7c5efbbcc3e88d8ed',
|
||||||
|
@ -6107,7 +6105,7 @@ $md5_string = array (
|
||||||
'./modules/Users/tpls/EditViewHeader.tpl' => '099f5e4896d623b64d44f243c33941b2',
|
'./modules/Users/tpls/EditViewHeader.tpl' => '099f5e4896d623b64d44f243c33941b2',
|
||||||
'./modules/Users/tpls/QuickEditFooter.tpl' => 'b7a9c930f9e885fcc51b7da358411c31',
|
'./modules/Users/tpls/QuickEditFooter.tpl' => 'b7a9c930f9e885fcc51b7da358411c31',
|
||||||
'./modules/Users/tpls/wizard.tpl' => 'acafbe8bf6a878386c99694798c79174',
|
'./modules/Users/tpls/wizard.tpl' => 'acafbe8bf6a878386c99694798c79174',
|
||||||
'./modules/Users/vardefs.php' => 'b2eef83cd83e885aee01dd2f75afc18c',
|
'./modules/Users/vardefs.php' => 'e442489d83d7749c1555418b1fd80b69',
|
||||||
'./modules/Users/views/view.detail.php' => 'd9471ccf0276813717b5149591cf9849',
|
'./modules/Users/views/view.detail.php' => 'd9471ccf0276813717b5149591cf9849',
|
||||||
'./modules/Users/views/view.edit.php' => '02d34abebb18cf17993945133211b2fa',
|
'./modules/Users/views/view.edit.php' => '02d34abebb18cf17993945133211b2fa',
|
||||||
'./modules/Users/views/view.list.php' => 'e314cc246214b55bf32383050a297f59',
|
'./modules/Users/views/view.list.php' => 'e314cc246214b55bf32383050a297f59',
|
||||||
|
@ -6330,7 +6328,7 @@ $md5_string = array (
|
||||||
'./soap.php' => 'e28988c2e0b8e2c484587b537a710525',
|
'./soap.php' => 'e28988c2e0b8e2c484587b537a710525',
|
||||||
'./sugar_version.json' => 'bdfbcefae2f9af559bef6a36367df7bb',
|
'./sugar_version.json' => 'bdfbcefae2f9af559bef6a36367df7bb',
|
||||||
'./sugar_version.php' => 'db7b6c8d51f87879fce1e6172eedfbed',
|
'./sugar_version.php' => 'db7b6c8d51f87879fce1e6172eedfbed',
|
||||||
'./suitecrm_version.php' => 'a35ad495be0a2b45cd8ed55ec5a792de',
|
'./suitecrm_version.php' => 'e03f4bc7104206ab214f5952a78e38ea',
|
||||||
'./themes/SuiteP/css/Dawn/color-palette.scss' => 'e64677d79e1d68c069bdc2dc661c4f99',
|
'./themes/SuiteP/css/Dawn/color-palette.scss' => 'e64677d79e1d68c069bdc2dc661c4f99',
|
||||||
'./themes/SuiteP/css/Dawn/icons.scss' => 'd59f8c5855e7a8df09542a663835a196',
|
'./themes/SuiteP/css/Dawn/icons.scss' => 'd59f8c5855e7a8df09542a663835a196',
|
||||||
'./themes/SuiteP/css/Dawn/select.ico' => '22393ad23f16c3f1462455bae8f20279',
|
'./themes/SuiteP/css/Dawn/select.ico' => '22393ad23f16c3f1462455bae8f20279',
|
||||||
|
|
|
@ -247,10 +247,7 @@ class SugarFolder
|
||||||
$res = $this->db->query($query);
|
$res = $this->db->query($query);
|
||||||
$a = $this->db->fetchByAssoc($res);
|
$a = $this->db->fetchByAssoc($res);
|
||||||
|
|
||||||
if ($a['c'] > 0) {
|
return $a['c'] > 0;
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -695,6 +692,25 @@ class SugarFolder
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Fix issue #9192 - Duplicating rows for folders_rel
|
||||||
|
First check if a row with the same data already exists
|
||||||
|
If so, return false
|
||||||
|
*/
|
||||||
|
|
||||||
|
$q = "SELECT id FROM folders_rel WHERE".
|
||||||
|
" folder_id = ".$this->db->quoted($this->id).
|
||||||
|
" AND polymorphic_module = ".$this->db->quoted($bean->module_dir).
|
||||||
|
" AND polymorphic_id = ".$this->db->quoted($bean->id).
|
||||||
|
" AND deleted = 0";
|
||||||
|
|
||||||
|
$result = $this->db->fetchByAssoc($this->db->query($q));
|
||||||
|
|
||||||
|
if($result) {
|
||||||
|
$GLOBALS['log']->debug("*** FOLDERS: addBean() is trying to create an already existing relationship");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$guid = create_guid();
|
$guid = create_guid();
|
||||||
|
|
||||||
$query = "INSERT INTO folders_rel " .
|
$query = "INSERT INTO folders_rel " .
|
||||||
|
@ -1279,8 +1295,10 @@ class SugarFolder
|
||||||
}
|
}
|
||||||
|
|
||||||
// if parent_id is set, update parent's has_child flag
|
// if parent_id is set, update parent's has_child flag
|
||||||
$query3 = "UPDATE folders SET has_child = 1 WHERE id = " . $this->db->quoted($this->parent_folder);
|
if (!empty($this->parent_folder)) {
|
||||||
$r3 = $this->db->query($query3);
|
$query3 = "UPDATE folders SET has_child = 1 WHERE id = " . $this->db->quoted($this->parent_folder);
|
||||||
|
$r3 = $this->db->query($query3);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$query = "UPDATE folders SET " .
|
$query = "UPDATE folders SET " .
|
||||||
"name = " . $this->db->quoted($this->name) . ", " .
|
"name = " . $this->db->quoted($this->name) . ", " .
|
||||||
|
|
|
@ -273,13 +273,13 @@ class Sugarpdf extends TCPDF
|
||||||
* @access public
|
* @access public
|
||||||
* @see include/tcpdf/TCPDF#SetFont()
|
* @see include/tcpdf/TCPDF#SetFont()
|
||||||
*/
|
*/
|
||||||
public function SetFont($family, $style='', $size=0, $fontfile='')
|
public function SetFont($family, $style = '', $size = null, $fontfile = '', $subset = 'default', $out = true)
|
||||||
{
|
{
|
||||||
if (empty($fontfile) && defined('K_PATH_CUSTOM_FONTS')) {
|
if (empty($fontfile) && defined('K_PATH_CUSTOM_FONTS')) {
|
||||||
// This will force addFont to search the custom directory for font before the OOB directory
|
// This will force addFont to search the custom directory for font before the OOB directory
|
||||||
$fontfile = K_PATH_CUSTOM_FONTS."phantomFile.phantom";
|
$fontfile = K_PATH_CUSTOM_FONTS . "phantomFile.phantom";
|
||||||
}
|
}
|
||||||
parent::SetFont($family, $style, $size, $fontfile);
|
parent::SetFont($family, $style, $size, $fontfile, $subset, $out);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function Info()
|
public function Info()
|
||||||
|
@ -304,9 +304,9 @@ class Sugarpdf extends TCPDF
|
||||||
* The cell method is used by all the methods which print text (Write, MultiCell).
|
* The cell method is used by all the methods which print text (Write, MultiCell).
|
||||||
* @see include/tcpdf/TCPDF#Cell()
|
* @see include/tcpdf/TCPDF#Cell()
|
||||||
*/
|
*/
|
||||||
public function Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=0, $link='', $stretch=0, $ignore_min_height=false)
|
public function Cell($w, $h = 0, $txt = '', $border = 0, $ln = 0, $align = '', $fill = false, $link = '', $stretch = 0, $ignore_min_height = false, $calign = 'T', $valign = 'M')
|
||||||
{
|
{
|
||||||
parent::Cell($w, $h, prepare_string($txt), $border, $ln, $align, $fill, $link, $stretch, $ignore_min_height);
|
parent::Cell($w, $h, prepare_string($txt), $border, $ln, $align, $fill, $link, $stretch, $ignore_min_height, $calign, $valign);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -640,7 +640,7 @@ class Sugarpdf extends TCPDF
|
||||||
* @since 4.5.011
|
* @since 4.5.011
|
||||||
* @OVERRIDE
|
* @OVERRIDE
|
||||||
*/
|
*/
|
||||||
public function getNumLines($txt, $w=0)
|
public function getNumLines($txt, $w = 0, $reseth = false, $autopadding = true, $cellpadding = '', $border = 0)
|
||||||
{
|
{
|
||||||
$lines = 0;
|
$lines = 0;
|
||||||
if (empty($w) or ($w <= 0)) {
|
if (empty($w) or ($w <= 0)) {
|
||||||
|
|
|
@ -960,6 +960,10 @@ abstract class DBManager
|
||||||
$value['type'] = 'index';
|
$value['type'] = 'index';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isset($value['fields'])) {
|
||||||
|
$value['fields'] = $this->removeIndexLimit($value['fields']);
|
||||||
|
}
|
||||||
|
|
||||||
if (!isset($compareIndices[$name])) {
|
if (!isset($compareIndices[$name])) {
|
||||||
//First check if an index exists that doesn't match our name, if so, try to rename it
|
//First check if an index exists that doesn't match our name, if so, try to rename it
|
||||||
$found = false;
|
$found = false;
|
||||||
|
@ -4114,4 +4118,13 @@ abstract class DBManager
|
||||||
{
|
{
|
||||||
return trim(str_replace(array("\r", "\n"), " ", $sql));
|
return trim(str_replace(array("\r", "\n"), " ", $sql));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $fields
|
||||||
|
* @return string|string[]|null
|
||||||
|
*/
|
||||||
|
protected function removeIndexLimit($fields)
|
||||||
|
{
|
||||||
|
return $fields;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1492,6 +1492,9 @@ EOSQL;
|
||||||
{
|
{
|
||||||
$type = $definition['type'];
|
$type = $definition['type'];
|
||||||
$fields = is_array($definition['fields']) ? implode(',', $definition['fields']) : $definition['fields'];
|
$fields = is_array($definition['fields']) ? implode(',', $definition['fields']) : $definition['fields'];
|
||||||
|
|
||||||
|
$fields = $this->removeIndexLimit($fields);
|
||||||
|
|
||||||
$name = $definition['name'];
|
$name = $definition['name'];
|
||||||
$sql = '';
|
$sql = '';
|
||||||
|
|
||||||
|
@ -2129,4 +2132,14 @@ EOQ;
|
||||||
{
|
{
|
||||||
return 'NEWID()';
|
return 'NEWID()';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove unsupported index limit
|
||||||
|
* @param $fields
|
||||||
|
* @return string|string[]|null
|
||||||
|
*/
|
||||||
|
protected function removeIndexLimit($fields)
|
||||||
|
{
|
||||||
|
return preg_replace('/(\s?\(\d+\))/', '', $fields);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1905,7 +1905,7 @@ $app_strings = array(
|
||||||
'LBL_DASHLET_CONFIGURE_DISPLAY_ROWS' => 'Display Rows',
|
'LBL_DASHLET_CONFIGURE_DISPLAY_ROWS' => 'Display Rows',
|
||||||
|
|
||||||
// MySugar status strings
|
// MySugar status strings
|
||||||
'LBL_MAX_DASHLETS_REACHED' => 'You have reached the maximum number of SuiteCRM Dashlets your adminstrator has set. Please remove a SuiteCRM Dashlet to add more.',
|
'LBL_MAX_DASHLETS_REACHED' => 'You have reached the maximum number of SuiteCRM Dashlets your administrator has set. Please remove a SuiteCRM Dashlet to add more.',
|
||||||
'LBL_ADDING_DASHLET' => 'Adding SuiteCRM Dashlet...',
|
'LBL_ADDING_DASHLET' => 'Adding SuiteCRM Dashlet...',
|
||||||
'LBL_ADDED_DASHLET' => 'SuiteCRM Dashlet Added',
|
'LBL_ADDED_DASHLET' => 'SuiteCRM Dashlet Added',
|
||||||
'LBL_REMOVE_DASHLET_CONFIRM' => 'Are you sure you want to remove this SuiteCRM Dashlet?',
|
'LBL_REMOVE_DASHLET_CONFIRM' => 'Are you sure you want to remove this SuiteCRM Dashlet?',
|
||||||
|
@ -3896,3 +3896,13 @@ $app_strings['LBL_USE_ADVANCED_SEARCH'] = 'Use Advanced Search';
|
||||||
$app_strings['LBL_USE_BASIC_SEARCH'] = 'Use Basic Search';
|
$app_strings['LBL_USE_BASIC_SEARCH'] = 'Use Basic Search';
|
||||||
$app_strings['LBL_NO_MODULE_SELECTED'] = 'No module selected';
|
$app_strings['LBL_NO_MODULE_SELECTED'] = 'No module selected';
|
||||||
$app_strings['LBL_CLOSE_MENU'] = 'Close Menu';
|
$app_strings['LBL_CLOSE_MENU'] = 'Close Menu';
|
||||||
|
|
||||||
|
// PDF Engines
|
||||||
|
$app_strings['LBL_LEGACY_MPDF_ENGINE'] = 'Legacy MPDF Engine';
|
||||||
|
$app_strings['LBL_TCPDF_ENGINE'] = 'TCPDF Engine';
|
||||||
|
|
||||||
|
|
||||||
|
$app_strings['ERR_INVALID_FILE_NAME'] = 'Invalid file name:';
|
||||||
|
$app_strings['LBL_LOGGER_VALID_FILENAME_CHARACTERS'] = 'This can only be alphanumeric characters, plus \'.\' , \'-\' and \'_\'';
|
||||||
|
$app_strings['LBL_LOGGER_INVALID_FILENAME'] = 'Invalid import file name';
|
||||||
|
|
||||||
|
|
|
@ -426,6 +426,9 @@ function get_sugar_config_defaults(): array
|
||||||
'log_memory_usage' => false,
|
'log_memory_usage' => false,
|
||||||
'oauth2_encryption_key' => base64_encode(random_bytes(32)),
|
'oauth2_encryption_key' => base64_encode(random_bytes(32)),
|
||||||
'portal_view' => 'single_user',
|
'portal_view' => 'single_user',
|
||||||
|
'pdf' => [
|
||||||
|
'defaultEngine' => 'TCPDFEngine'
|
||||||
|
],
|
||||||
'resource_management' => [
|
'resource_management' => [
|
||||||
'special_query_limit' => 50000,
|
'special_query_limit' => 50000,
|
||||||
'special_query_modules' => ['AOR_Reports', 'Export', 'Import', 'Administration', 'Sync'],
|
'special_query_modules' => ['AOR_Reports', 'Export', 'Import', 'Administration', 'Sync'],
|
||||||
|
|
|
@ -479,3 +479,25 @@ function cleanDirName($name)
|
||||||
{
|
{
|
||||||
return str_replace(array("\\", "/", "."), "", $name);
|
return str_replace(array("\\", "/", "."), "", $name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if has valid file name
|
||||||
|
* @param string $fieldName
|
||||||
|
* @param string $value
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
function hasValidFileName($fieldName, $value) {
|
||||||
|
|
||||||
|
if (empty($value)){
|
||||||
|
LoggerManager::getLogger()->error("Invalid filename for $fieldName : '$value'.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$isValid = preg_match('/^[\w\-.]+(\.\w+)?$/', $value);
|
||||||
|
if ($isValid === false || $isValid < 1) {
|
||||||
|
LoggerManager::getLogger()->error("Invalid filename for $fieldName : '$value'.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
|
@ -52,7 +52,7 @@ require_once __DIR__ . '/../../../modules/AOS_PDF_Templates/PDF_Lib/mpdf.php';
|
||||||
* Class MPDFEngine
|
* Class MPDFEngine
|
||||||
* @package SuiteCRM\PDF\MPDF
|
* @package SuiteCRM\PDF\MPDF
|
||||||
*/
|
*/
|
||||||
class MPDFEngine extends PDFEngine
|
class LegacyMPDFEngine extends PDFEngine
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var mPDF
|
* @var mPDF
|
||||||
|
@ -62,7 +62,7 @@ class MPDFEngine extends PDFEngine
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
private static $configMapperFile = __DIR__ . '/../../../lib/PDF/MPDF/configMapping.php';
|
private static $configMapperFile = __DIR__ . '/../../../lib/PDF/LegacyMPDF/configMapping.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MPDFEngine constructor.
|
* MPDFEngine constructor.
|
|
@ -40,7 +40,7 @@
|
||||||
namespace SuiteCRM\PDF;
|
namespace SuiteCRM\PDF;
|
||||||
|
|
||||||
use SuiteCRM\PDF\Exceptions\PDFEngineNotFoundException;
|
use SuiteCRM\PDF\Exceptions\PDFEngineNotFoundException;
|
||||||
use SuiteCRM\PDF\MPDF\MPDFEngine;
|
use SuiteCRM\PDF\LegacyMPDF\LegacyMPDFEngine;
|
||||||
use SuiteCRM\PDF\TCPDF\TCPDFEngine;
|
use SuiteCRM\PDF\TCPDF\TCPDFEngine;
|
||||||
|
|
||||||
if (!defined('sugarEntry') || !sugarEntry) {
|
if (!defined('sugarEntry') || !sugarEntry) {
|
||||||
|
@ -57,21 +57,20 @@ class PDFWrapper
|
||||||
* @var array stores an associative array matching the PDF engine class name with the file it is stored in.
|
* @var array stores an associative array matching the PDF engine class name with the file it is stored in.
|
||||||
*/
|
*/
|
||||||
private static $engines = [
|
private static $engines = [
|
||||||
'MPDFEngine' => [
|
|
||||||
'name' => 'MPDFEngine',
|
|
||||||
'FQN' => MPDFEngine::class,
|
|
||||||
'filepath' => 'lib/PDF/MPDF/MPDFEngine.php'
|
|
||||||
],
|
|
||||||
'TCPDFEngine' => [
|
'TCPDFEngine' => [
|
||||||
'name' => 'TCPDFEngine',
|
'name' => 'TCPDFEngine',
|
||||||
|
'lbl' => 'LBL_TCPDF_ENGINE',
|
||||||
'FQN' => TCPDFEngine::class,
|
'FQN' => TCPDFEngine::class,
|
||||||
'filepath' => 'lib/PDF/TCPDF/TCPDFEngine.php'
|
'filepath' => 'lib/PDF/TCPDF/TCPDFEngine.php'
|
||||||
],
|
],
|
||||||
|
'LegacyMPDFEngine' => [
|
||||||
|
'name' => 'LegacyMPDFEngine',
|
||||||
|
'lbl' => 'LBL_LEGACY_MPDF_ENGINE',
|
||||||
|
'FQN' => LegacyMPDFEngine::class,
|
||||||
|
'filepath' => 'lib/PDF/LegacyMPDF/LegacyMPDFEngine.php'
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
/** @var string Path to the folder where to load custom engines from */
|
|
||||||
private static $customEnginePath = __DIR__ . '/../../custom/Extension/PDFEngines/';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $engineName
|
* @param string $engineName
|
||||||
* @param string $file
|
* @param string $file
|
||||||
|
@ -88,11 +87,21 @@ class PDFWrapper
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return PDFEngine
|
* @return PDFEngine
|
||||||
|
* @noinspection PhpIncludeInspection
|
||||||
*/
|
*/
|
||||||
public static function getPDFEngine(): PDFEngine
|
public static function getPDFEngine(): PDFEngine
|
||||||
{
|
{
|
||||||
|
$pdfs = [];
|
||||||
$defaultEngine = self::getDefaultEngine();
|
$defaultEngine = self::getDefaultEngine();
|
||||||
|
|
||||||
|
if (file_exists('custom/application/Ext/PDF/pdfs.ext.php')) {
|
||||||
|
include('custom/application/Ext/PDF/pdfs.ext.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($pdfs as $pdf) {
|
||||||
|
self::$engines[$pdf['name']] = $pdf;
|
||||||
|
}
|
||||||
|
|
||||||
return self::fetchEngine($defaultEngine);
|
return self::fetchEngine($defaultEngine);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,24 +109,24 @@ class PDFWrapper
|
||||||
* Retrieves the available PDF engine class names.
|
* Retrieves the available PDF engine class names.
|
||||||
*
|
*
|
||||||
* @return string[]
|
* @return string[]
|
||||||
|
* @noinspection PhpIncludeInspection
|
||||||
*/
|
*/
|
||||||
public static function getEngines(): array
|
public static function getEngines(): array
|
||||||
{
|
{
|
||||||
|
$pdfs = [];
|
||||||
$default = array_keys(self::$engines);
|
$default = array_keys(self::$engines);
|
||||||
|
|
||||||
// Custom check for MPDF class
|
|
||||||
$MPDF = __DIR__ . '/../../modules/AOS_PDF_Templates/PDF_Lib/mpdf.php';
|
$MPDF = __DIR__ . '/../../modules/AOS_PDF_Templates/PDF_Lib/mpdf.php';
|
||||||
if (!file_exists($MPDF) && ($key = array_search('MPDFEngine', $default, true)) !== false) {
|
if (($key = array_search('LegacyMPDFEngine', $default, true)) !== false
|
||||||
|
&& (!file_exists($MPDF) || version_compare(PHP_VERSION, '8.0.0') >= 0)) {
|
||||||
unset($default[$key]);
|
unset($default[$key]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$custom = [];
|
if (file_exists('custom/application/Ext/PDF/pdfs.ext.php')) {
|
||||||
foreach (glob(self::$customEnginePath . '*.php', GLOB_NOSORT) as $file) {
|
include('custom/application/Ext/PDF/pdfs.ext.php');
|
||||||
$file = pathinfo($file);
|
|
||||||
$custom[] = $file['filename'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return array_merge($default, $custom);
|
return array_merge(array_keys($pdfs), $default);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -141,13 +150,8 @@ class PDFWrapper
|
||||||
return $engineName;
|
return $engineName;
|
||||||
}
|
}
|
||||||
|
|
||||||
$customEnginePath = self::$customEnginePath . $engineName . '.php';
|
|
||||||
|
|
||||||
if (isset(self::$engines[$engineName])) {
|
if (isset(self::$engines[$engineName])) {
|
||||||
$engine = self::$engines[$engineName];
|
$engine = self::$engines[$engineName];
|
||||||
} elseif (isset($customEnginePath)) {
|
|
||||||
self::addEngine($engineName, $customEnginePath, $engineName);
|
|
||||||
$engine = self::$engines[$engineName];
|
|
||||||
} else {
|
} else {
|
||||||
throw new PDFEngineNotFoundException(
|
throw new PDFEngineNotFoundException(
|
||||||
"PDF engine not found for engine '$engineName''."
|
"PDF engine not found for engine '$engineName''."
|
||||||
|
@ -163,7 +167,7 @@ class PDFWrapper
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @noinspection PhpIncludeInspection */
|
/** @noinspection PhpIncludeInspection */
|
||||||
require_once $filename;
|
require_once __DIR__ . '/../../' . $filename;
|
||||||
|
|
||||||
if (!is_subclass_of($engine['FQN'], PDFEngine::class)) {
|
if (!is_subclass_of($engine['FQN'], PDFEngine::class)) {
|
||||||
throw new PDFEngineNotFoundException(
|
throw new PDFEngineNotFoundException(
|
||||||
|
|
|
@ -114,7 +114,7 @@ class BuildCommands extends Tasks
|
||||||
$os = new OperatingSystem();
|
$os = new OperatingSystem();
|
||||||
$command =
|
$command =
|
||||||
$os->toOsPath('./vendor/bin/pscss')
|
$os->toOsPath('./vendor/bin/pscss')
|
||||||
. ' -f compressed '
|
. ' -s compressed '
|
||||||
. $os->toOsPath("{$location}{$colorScheme}/style.scss")
|
. $os->toOsPath("{$location}{$colorScheme}/style.scss")
|
||||||
. ' > '
|
. ' > '
|
||||||
. $os->toOsPath("{$location}{$colorScheme}/style.css");
|
. $os->toOsPath("{$location}{$colorScheme}/style.css");
|
||||||
|
|
|
@ -138,7 +138,7 @@ class ElasticSearchEngine extends SearchEngine
|
||||||
'query' => [
|
'query' => [
|
||||||
'query_string' => [
|
'query_string' => [
|
||||||
'query' => $searchStr,
|
'query' => $searchStr,
|
||||||
'fields' => ['name.*^5', '_all'],
|
'fields' => ['name.*^5', '*'],
|
||||||
'analyzer' => 'standard',
|
'analyzer' => 'standard',
|
||||||
'default_operator' => 'OR',
|
'default_operator' => 'OR',
|
||||||
'minimum_should_match' => '66%',
|
'minimum_should_match' => '66%',
|
||||||
|
|
|
@ -99,7 +99,7 @@ class ElasticSearchIndexer extends AbstractIndexer
|
||||||
global $sugar_config;
|
global $sugar_config;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return $sugar_config['search']['ElasticSearch']['enabled'];
|
return !empty($sugar_config['search']['ElasticSearch']['enabled']);
|
||||||
} catch (Exception $exception) {
|
} catch (Exception $exception) {
|
||||||
LoggerManager::getLogger()->fatal("Failed to retrieve ElasticSearch options");
|
LoggerManager::getLogger()->fatal("Failed to retrieve ElasticSearch options");
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ $mod_strings = array(
|
||||||
'LBL_TYPE' => 'Type',
|
'LBL_TYPE' => 'Type',
|
||||||
'LBL_ACTIVE' => 'Active',
|
'LBL_ACTIVE' => 'Active',
|
||||||
'LBL_BUTTON_INSERT' => 'Insert',
|
'LBL_BUTTON_INSERT' => 'Insert',
|
||||||
'LBL_WARNING_OVERWRITE' => 'Warning this will overwrite you current Work',
|
'LBL_WARNING_OVERWRITE' => 'Warning, this will overwrite your current work',
|
||||||
'LBL_INSERT_FIELDS' => 'Insert Fields',
|
'LBL_INSERT_FIELDS' => 'Insert Fields',
|
||||||
|
|
||||||
'LBL_SAMPLE' => 'Load Sample',
|
'LBL_SAMPLE' => 'Load Sample',
|
||||||
|
|
|
@ -301,7 +301,7 @@ class EmailReminder
|
||||||
while ($row = $db->fetchByAssoc($re)) {
|
while ($row = $db->fetchByAssoc($re)) {
|
||||||
$user = BeanFactory::newBean('Users');
|
$user = BeanFactory::newBean('Users');
|
||||||
$user->retrieve($row['user_id']);
|
$user->retrieve($row['user_id']);
|
||||||
if (!empty($user->email1)) {
|
if (!empty($user->email1) && $user->isEnabled() ) {
|
||||||
$arr = array(
|
$arr = array(
|
||||||
'type' => 'Users',
|
'type' => 'Users',
|
||||||
'name' => $user->full_name,
|
'name' => $user->full_name,
|
||||||
|
|
|
@ -92,20 +92,17 @@ class Configurator
|
||||||
public function populateFromPost()
|
public function populateFromPost()
|
||||||
{
|
{
|
||||||
$sugarConfig = SugarConfig::getInstance();
|
$sugarConfig = SugarConfig::getInstance();
|
||||||
|
|
||||||
|
$this->checkLoggerFileName();
|
||||||
|
|
||||||
foreach ($_POST as $key => $value) {
|
foreach ($_POST as $key => $value) {
|
||||||
if ($key == "logger_file_ext") {
|
if ($key === "logger_file_ext" || $key === 'logger_file_name') {
|
||||||
if ($value === '') {
|
if ($value === '') {
|
||||||
$GLOBALS['log']->security("Log file extension can't be blank.");
|
$GLOBALS['log']->security("Log file extension can't be blank.");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$trim_value = preg_replace('/.*\.([^\.]+)$/', '\1', $value);
|
|
||||||
$badext = array_map('strtolower', $this->config['upload_badext']);
|
|
||||||
if (in_array(strtolower($trim_value), $badext)) {
|
|
||||||
$GLOBALS['log']->security("Invalid log file extension: trying to use invalid file extension '$value'.");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($this->config[$key]) || in_array($key, $this->allow_undefined)) {
|
if (isset($this->config[$key]) || in_array($key, $this->allow_undefined)) {
|
||||||
if (strcmp((string)$value, 'true') == 0) {
|
if (strcmp((string)$value, 'true') == 0) {
|
||||||
$value = true;
|
$value = true;
|
||||||
|
@ -123,6 +120,119 @@ class Configurator
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function checkLoggerFileName()
|
||||||
|
{
|
||||||
|
|
||||||
|
$logFileName = '';
|
||||||
|
if (!empty($_POST['logger_file_name'])) {
|
||||||
|
$logFileName = $_POST['logger_file_name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$logFileExt = '';
|
||||||
|
if (!empty($_POST['logger_file_ext'])) {
|
||||||
|
$logFileExt = $_POST['logger_file_ext'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$logFileExt = $this->prependDot($logFileExt);
|
||||||
|
|
||||||
|
|
||||||
|
$fullName = $logFileName . $logFileExt;
|
||||||
|
$_POST['logger_file_name'] = $logFileName;
|
||||||
|
$_POST['logger_file_ext'] = $logFileExt;
|
||||||
|
$valid = true;
|
||||||
|
|
||||||
|
if (!hasValidFileName('logger_file_name', $logFileName) ||
|
||||||
|
!$this->hasValidExtension('logger_file_name', $logFileName)
|
||||||
|
) {
|
||||||
|
LoggerManager::getLogger()->security("Setting logger_file_name to ''.");
|
||||||
|
$_POST['logger_file_name'] = '';
|
||||||
|
$valid = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$this->hasValidExtension('logger_file_ext', $logFileExt)) {
|
||||||
|
$_POST['logger_file_ext'] = '';
|
||||||
|
LoggerManager::getLogger()->security("Setting logger_file_ext to ''.");
|
||||||
|
$valid = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$valid) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hasValidFileName('logger_full_name', $fullName) ||
|
||||||
|
!$this->hasValidExtension('logger_full_name', $fullName)
|
||||||
|
) {
|
||||||
|
LoggerManager::getLogger()->security("Setting logger_file_name and logger_file_ext to ''.");
|
||||||
|
$_POST['logger_file_name'] = '';
|
||||||
|
$_POST['logger_file_ext'] = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Trim value
|
||||||
|
* @param string $value
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function trimValue($value)
|
||||||
|
{
|
||||||
|
return preg_replace('/.*\.([^\.]+)$/', '\1', $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prepend dot
|
||||||
|
* @param string $value
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function prependDot($value)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (empty($value)) {
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($value[0] === '.') {
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return '.' . $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if has valid extension
|
||||||
|
* @param string $fieldName
|
||||||
|
* @param string $value
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function hasValidExtension($fieldName, $value)
|
||||||
|
{
|
||||||
|
|
||||||
|
if ($value === '.' || empty($value)) {
|
||||||
|
LoggerManager::getLogger()->security("Invalid ext $fieldName : '$value'.");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$badExt = array_map('strtolower', $this->config['upload_badext']);
|
||||||
|
|
||||||
|
$parts = explode('.', $value);
|
||||||
|
|
||||||
|
if (empty($parts)) {
|
||||||
|
LoggerManager::getLogger()->security("Invalid ext $fieldName : '$value'.");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$ext = array_pop($parts);
|
||||||
|
|
||||||
|
if (in_array(strtolower($this->trimValue($ext)), $badExt, true)) {
|
||||||
|
LoggerManager::getLogger()->security("Invalid $fieldName: '$value'.");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public function handleOverride($fromParseLoggerSettings = false)
|
public function handleOverride($fromParseLoggerSettings = false)
|
||||||
{
|
{
|
||||||
global $sugar_config, $sugar_version;
|
global $sugar_config, $sugar_version;
|
||||||
|
@ -290,6 +400,7 @@ class Configurator
|
||||||
$this->error = $error;
|
$this->error = $error;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $path;
|
return $path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -353,7 +353,10 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td scope="row" valign='middle'>{$MOD.LBL_LOGGER_FILENAME}</td>
|
<td scope="row" valign='middle'>{$MOD.LBL_LOGGER_FILENAME}</td>
|
||||||
<td valign='middle' ><input type='text' name = 'logger_file_name' value="{$config.logger.file.name}"></td>
|
<td valign='middle' >
|
||||||
|
<input type='text' name = 'logger_file_name' value="{$config.logger.file.name}">
|
||||||
|
<div><span class="small">{$APP.LBL_LOGGER_VALID_FILENAME_CHARACTERS}</span></div>
|
||||||
|
</td>
|
||||||
<td scope="row">{$MOD.LBL_LOGGER_FILE_EXTENSION}</td>
|
<td scope="row">{$MOD.LBL_LOGGER_FILE_EXTENSION}</td>
|
||||||
<td><input name ="logger_file_ext" type="text" size="5" value="{$config.logger.file.ext}"></td>
|
<td><input name ="logger_file_ext" type="text" size="5" value="{$config.logger.file.ext}"></td>
|
||||||
<td scope="row">{$MOD.LBL_LOGGER_FILENAME_SUFFIX}</td>
|
<td scope="row">{$MOD.LBL_LOGGER_FILENAME_SUFFIX}</td>
|
||||||
|
|
|
@ -656,6 +656,10 @@ class DynamicField
|
||||||
$fmd->save();
|
$fmd->save();
|
||||||
$this->buildCache($this->module);
|
$this->buildCache($this->module);
|
||||||
$this->saveExtendedAttributes($field, array_keys($fmd->field_defs));
|
$this->saveExtendedAttributes($field, array_keys($fmd->field_defs));
|
||||||
|
// Fix #9119 - The cache/themes folder needs to be rebuilt after changing custom field properties.
|
||||||
|
// https://github.com/salesagility/SuiteCRM/issues/9119
|
||||||
|
include_once('include/TemplateHandler/TemplateHandler.php');
|
||||||
|
TemplateHandler::clearCache($this->module);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -82,7 +82,7 @@
|
||||||
<td scope="row" colspan="4"> </td>
|
<td scope="row" colspan="4"> </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="left" scope="row" colspan="3"><label for="userfile">{$MOD.LBL_SELECT_FILE}</label> <input type="hidden" /><input size="20" id="userfile" name="userfile" type="file"/> {sugar_help text=$MOD.LBL_FILE_UPLOAD_WIDGET_HELP}</td>
|
<td align="left" scope="row" colspan="3"><div><label for="userfile">{$MOD.LBL_SELECT_FILE}</label></div> <div><input type="hidden" /><input size="20" id="userfile" name="userfile" type="file"/>{sugar_help text=$MOD.LBL_FILE_UPLOAD_WIDGET_HELP}</div> <div><span class="small">{$APP.LBL_LOGGER_VALID_FILENAME_CHARACTERS}</span></div></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td scope="row" colspan="4"><div class="hr"> </div></td>
|
<td scope="row" colspan="4"><div class="hr"> </div></td>
|
||||||
|
@ -181,5 +181,5 @@
|
||||||
</table>
|
</table>
|
||||||
<script>
|
<script>
|
||||||
{$JAVASCRIPT}
|
{$JAVASCRIPT}
|
||||||
</script>
|
</script>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -67,7 +67,19 @@ class ImportViewConfirm extends ImportView
|
||||||
{
|
{
|
||||||
global $mod_strings, $app_strings, $current_user;
|
global $mod_strings, $app_strings, $current_user;
|
||||||
global $sugar_config, $locale;
|
global $sugar_config, $locale;
|
||||||
|
|
||||||
|
if (isset($_FILES['userfile']['name']) && !hasValidFileName('import_upload_file_name', $_FILES['userfile']['name'])) {
|
||||||
|
LoggerManager::getLogger()->fatal('Invalid import file name');
|
||||||
|
echo $app_strings['LBL_LOGGER_INVALID_FILENAME'];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_REQUEST['tmp_file']) && !hasValidFileName('import_upload_file_name', $_REQUEST['tmp_file'])) {
|
||||||
|
LoggerManager::getLogger()->fatal('Invalid import file name');
|
||||||
|
echo $app_strings['LBL_LOGGER_INVALID_FILENAME'];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$this->ss->assign("IMPORT_MODULE", $_REQUEST['import_module']);
|
$this->ss->assign("IMPORT_MODULE", $_REQUEST['import_module']);
|
||||||
$this->ss->assign("TYPE", (!empty($_REQUEST['type']) ? $_REQUEST['type'] : "import"));
|
$this->ss->assign("TYPE", (!empty($_REQUEST['type']) ? $_REQUEST['type'] : "import"));
|
||||||
$this->ss->assign("SOURCE_ID", $_REQUEST['source_id']);
|
$this->ss->assign("SOURCE_ID", $_REQUEST['source_id']);
|
||||||
|
|
|
@ -128,6 +128,15 @@ class ImportViewStep3 extends ImportView
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (isset($uploadFileName) && !hasValidFileName('import_upload_file_name', str_replace('upload://', '', $uploadFileName))) {
|
||||||
|
echo $app_strings['LBL_LOGGER_INVALID_FILENAME'];
|
||||||
|
echo $uploadFileName;
|
||||||
|
LoggerManager::getLogger()->fatal('Invalid import file name');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (strpos($uploadFileName, 'phar://') !== false) {
|
if (strpos($uploadFileName, 'phar://') !== false) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -527,7 +536,7 @@ class ImportViewStep3 extends ImportView
|
||||||
background: transparent url('index.php?entryPoint=getImage&themeName=Sugar&themeName=Sugar&imageName=sugar-yui-sprites.png') no-repeat 0 -90px;
|
background: transparent url('index.php?entryPoint=getImage&themeName=Sugar&themeName=Sugar&imageName=sugar-yui-sprites.png') no-repeat 0 -90px;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
span.expand{
|
span.expand{
|
||||||
|
|
|
@ -615,8 +615,14 @@ function pollMonitoredInboxesAOP()
|
||||||
$isGroupFolderExists = false;
|
$isGroupFolderExists = false;
|
||||||
$users = array();
|
$users = array();
|
||||||
if ($groupFolderId != null && $groupFolderId != "") {
|
if ($groupFolderId != null && $groupFolderId != "") {
|
||||||
|
// FIX #6994 - Unable to retrieve Sugar Folder due to incorrect groupFolderId
|
||||||
$sugarFolder->retrieve($groupFolderId);
|
$sugarFolder->retrieve($groupFolderId);
|
||||||
$isGroupFolderExists = true;
|
if (empty($sugarFolder->id)) {
|
||||||
|
$sugarFolder->retrieve($aopInboundEmailX->id);
|
||||||
|
}
|
||||||
|
if (!empty($sugarFolder->id)) {
|
||||||
|
$isGroupFolderExists = true;
|
||||||
|
}
|
||||||
} // if
|
} // if
|
||||||
$messagesToDelete = array();
|
$messagesToDelete = array();
|
||||||
if ($aopInboundEmailX->isMailBoxTypeCreateCase()) {
|
if ($aopInboundEmailX->isMailBoxTypeCreateCase()) {
|
||||||
|
|
|
@ -2015,6 +2015,16 @@ EOQ;
|
||||||
return $myModules;
|
return $myModules;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is user enabled
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isEnabled()
|
||||||
|
{
|
||||||
|
return ($this->status !== 'Inactive') && ($this->employee_status === 'Active');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Is this user a system wide admin
|
* Is this user a system wide admin
|
||||||
*
|
*
|
||||||
|
|
|
@ -763,8 +763,8 @@ $dictionary['User'] = array(
|
||||||
'user_name',
|
'user_name',
|
||||||
'is_group',
|
'is_group',
|
||||||
'status',
|
'status',
|
||||||
'last_name',
|
'last_name (30)',
|
||||||
'first_name',
|
'first_name (30)',
|
||||||
'id'
|
'id'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
|
@ -4,5 +4,5 @@ if (!defined('sugarEntry') || !sugarEntry) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$suitecrm_version = '8.0.0-rc';
|
$suitecrm_version = '8.0.0-rc';
|
||||||
$suitecrm_legacy = '7.12.0';
|
$suitecrm_legacy = '7.12.1';
|
||||||
$suitecrm_timestamp = '2021-09-24 17:00:00';
|
$suitecrm_timestamp = '2021-11-19 17:00:00';
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
* display the words "Powered by SugarCRM" and "Supercharged by SuiteCRM".
|
* display the words "Powered by SugarCRM" and "Supercharged by SuiteCRM".
|
||||||
*/
|
*/
|
||||||
|
|
||||||
error_reporting(E_ALL);
|
chdir(__DIR__.'/../');
|
||||||
|
|
||||||
/* bootstrap composer's autoloader */
|
/* bootstrap composer's autoloader */
|
||||||
require_once __DIR__ . '/../vendor/autoload.php';
|
require_once __DIR__ . '/../vendor/autoload.php';
|
||||||
|
|
|
@ -292,9 +292,6 @@ class SugarFolderTest extends SuitePHPUnitFrameworkTestCase
|
||||||
|
|
||||||
self::assertTrue($saved);
|
self::assertTrue($saved);
|
||||||
|
|
||||||
// reset saved
|
|
||||||
$saved = false;
|
|
||||||
|
|
||||||
$parentFolderTwo = new SugarFolder($user);
|
$parentFolderTwo = new SugarFolder($user);
|
||||||
|
|
||||||
$fields = array(
|
$fields = array(
|
||||||
|
@ -338,9 +335,6 @@ class SugarFolderTest extends SuitePHPUnitFrameworkTestCase
|
||||||
|
|
||||||
self::assertTrue($saved);
|
self::assertTrue($saved);
|
||||||
|
|
||||||
// reset saved
|
|
||||||
$saved = false;
|
|
||||||
|
|
||||||
$parentFolderTwo = new SugarFolder($user);
|
$parentFolderTwo = new SugarFolder($user);
|
||||||
|
|
||||||
$fields = array(
|
$fields = array(
|
||||||
|
@ -351,10 +345,7 @@ class SugarFolderTest extends SuitePHPUnitFrameworkTestCase
|
||||||
$saved = $parentFolderTwo->setFolder($fields);
|
$saved = $parentFolderTwo->setFolder($fields);
|
||||||
|
|
||||||
self::assertTrue($saved);
|
self::assertTrue($saved);
|
||||||
|
|
||||||
// reset saved
|
|
||||||
$saved = false;
|
|
||||||
|
|
||||||
$childFolder = new SugarFolder($user);
|
$childFolder = new SugarFolder($user);
|
||||||
|
|
||||||
$fields = array(
|
$fields = array(
|
||||||
|
|
|
@ -67,7 +67,7 @@ class PDFWrapperTest extends SuitePHPUnitFrameworkTestCase
|
||||||
public function testGetDefaultEngine(): void
|
public function testGetDefaultEngine(): void
|
||||||
{
|
{
|
||||||
$actual = PDFWrapper::getDefaultEngine();
|
$actual = PDFWrapper::getDefaultEngine();
|
||||||
$expected = 'MPDFEngine';
|
$expected = 'TCPDFEngine';
|
||||||
|
|
||||||
self::assertEquals($expected, $actual);
|
self::assertEquals($expected, $actual);
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,7 +90,6 @@ class SearchResultsControllerTest extends SuitePHPUnitFrameworkTestCase
|
||||||
$content = ob_get_contents();
|
$content = ob_get_contents();
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
self::assertStringContainsString('Total result(s): 15', $content);
|
self::assertStringContainsString('Total result(s): 15', $content);
|
||||||
self::assertStringContainsString('Page 1 of 2', $content);
|
|
||||||
|
|
||||||
// add 5 more..
|
// add 5 more..
|
||||||
for ($i=15; $i<20; $i++) {
|
for ($i=15; $i<20; $i++) {
|
||||||
|
@ -125,7 +124,6 @@ class SearchResultsControllerTest extends SuitePHPUnitFrameworkTestCase
|
||||||
$content = ob_get_contents();
|
$content = ob_get_contents();
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
self::assertStringContainsString('Total result(s): 20', $content);
|
self::assertStringContainsString('Total result(s): 20', $content);
|
||||||
self::assertStringContainsString('Page 2 of 2', $content);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testDisplayFoundOne(): void
|
public function testDisplayFoundOne(): void
|
||||||
|
|
|
@ -82,7 +82,7 @@ class ElasticSearchEngineTest extends SearchTestAbstract
|
||||||
'query_string' => [
|
'query_string' => [
|
||||||
'query' => $searchString,
|
'query' => $searchString,
|
||||||
'analyzer' => 'standard',
|
'analyzer' => 'standard',
|
||||||
'fields' => ['name.*^5', '_all'],
|
'fields' => ['name.*^5', '*'],
|
||||||
'default_operator' => 'OR',
|
'default_operator' => 'OR',
|
||||||
'minimum_should_match' => '66%'
|
'minimum_should_match' => '66%'
|
||||||
]
|
]
|
||||||
|
@ -113,7 +113,7 @@ class ElasticSearchEngineTest extends SearchTestAbstract
|
||||||
'query_string' => [
|
'query_string' => [
|
||||||
'query' => $searchString,
|
'query' => $searchString,
|
||||||
'analyzer' => 'standard',
|
'analyzer' => 'standard',
|
||||||
'fields' => ['name.*^5', '_all'],
|
'fields' => ['name.*^5', '*'],
|
||||||
'default_operator' => 'OR',
|
'default_operator' => 'OR',
|
||||||
'minimum_should_match' => '66%'
|
'minimum_should_match' => '66%'
|
||||||
]
|
]
|
||||||
|
|
|
@ -261,7 +261,6 @@ class aCaseTest extends SuitePHPUnitFrameworkTestCase
|
||||||
$aCase = BeanFactory::newBean('Cases');
|
$aCase = BeanFactory::newBean('Cases');
|
||||||
$aCase->name = 'test';
|
$aCase->name = 'test';
|
||||||
$aCase->priority = 'P1';
|
$aCase->priority = 'P1';
|
||||||
$aCase->sentAssignmentNotifications = false;
|
|
||||||
|
|
||||||
$aCase->save();
|
$aCase->save();
|
||||||
|
|
||||||
|
|
|
@ -237,17 +237,17 @@ class MeetingTest extends SuitePHPUnitFrameworkTestCase
|
||||||
|
|
||||||
public function testsend_assignment_notifications(): void
|
public function testsend_assignment_notifications(): void
|
||||||
{
|
{
|
||||||
|
$notify_user = new User(1);
|
||||||
|
|
||||||
$meeting = BeanFactory::newBean('Meetings');
|
$meeting = BeanFactory::newBean('Meetings');
|
||||||
|
|
||||||
$meeting->date_start = '2016-02-11 17:30:00';
|
$meeting->date_start = '2016-02-11 17:30:00';
|
||||||
$meeting->date_end = '2016-02-11 17:30:00';
|
$meeting->date_end = '2016-02-11 17:30:00';
|
||||||
$meeting->sentAssignmentNotifications = false;
|
$meeting->sentAssignmentNotifications = [];
|
||||||
|
$meeting->sentAssignmentNotifications[] = $notify_user->id;
|
||||||
|
|
||||||
$admin = BeanFactory::newBean('Administration');
|
$admin = BeanFactory::newBean('Administration');
|
||||||
$admin->retrieveSettings();
|
$admin->retrieveSettings();
|
||||||
$sendNotifications = false;
|
|
||||||
|
|
||||||
$notify_user = new User(1);
|
|
||||||
|
|
||||||
// Execute the method and test that it works and doesn't throw an exception.
|
// Execute the method and test that it works and doesn't throw an exception.
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue