Merge remote-tracking branch 'origin/support/3.2' into develop

This commit is contained in:
Eric Espie
2024-12-09 10:40:06 +01:00
4 changed files with 37 additions and 6 deletions

View File

@@ -866,6 +866,18 @@
<field id="language" xsi:type="AttributeApplicationLanguage"/>
</fields>
</class>
<class id="Event" _delta="define">
<!-- Generated by toolkit/export-class-to-meta.php -->
<parent>DBObject</parent>
<properties>
<category>core/cmdb,view_in_gui</category>
</properties>
<fields>
<field id="message" xsi:type="AttributeText"/>
<field id="date" xsi:type="AttributeDateTime"/>
<field id="userinfo" xsi:type="AttributeString"/>
</fields>
</class>
<class id="EventNotification" _delta="define">
<!-- Generated by toolkit/export-class-to-meta.php -->
<parent>Event</parent>

View File

@@ -7557,6 +7557,13 @@ abstract class MetaModel
require_once(APPROOT.'core/userrights.class.inc.php');
UserRights::FlushPrivileges();
// Reset the opcache since otherwise the PHP "model" files may still be cached !!
if (function_exists('opcache_reset'))
{
// Zend opcode cache
opcache_reset();
}
}
/**

View File

@@ -170,7 +170,7 @@ class DatabaseAnalyzer
$this->CheckHK($sClass, $sAttCode, $aErrorsAndFixes);
}
}
elseif ($oAttDef->IsDirectField() && !($oAttDef instanceof AttributeTagSet))
elseif ($oAttDef->IsDirectField() && !($oAttDef instanceof AttributeSet))
{
$this->CheckAllowedValues($sClass, $sAttCode, $oAttDef, $sTable, $sKeyField, $aErrorsAndFixes);
}

View File

@@ -13,6 +13,7 @@ use RecursiveDirectoryIterator;
use RecursiveIteratorIterator;
use ReflectionClass;
use RunTimeEnvironment;
use SetupUtils;
use utils;
@@ -47,11 +48,23 @@ class UnitTestRunTimeEnvironment extends RunTimeEnvironment
return $this->sFinalEnv;
}
public function CompileFrom($sSourceEnv, $bUseSymLinks = null)
{
$sDestModulesDir = APPROOT.'data/'.$this->sTargetEnv.'-modules/';
if (is_dir($sDestModulesDir)) {
SetupUtils::rrmdir($sDestModulesDir);
}
SetupUtils::copydir(APPROOT.'/data/'.$sSourceEnv.'-modules', $sDestModulesDir, $bUseSymLinks);
parent::CompileFrom($sSourceEnv, $bUseSymLinks);
}
public function IsUpToDate()
{
clearstatcache();
$fLastCompilationTime = filemtime(APPROOT.'env-'.$this->sFinalEnv);
$aModifiedFiles = [];
$aModifiedFiles = [];
$this->FindFilesModifiedAfter($fLastCompilationTime, APPROOT.'datamodels/2.x', $aModifiedFiles);
$this->FindFilesModifiedAfter($fLastCompilationTime, APPROOT.'extensions', $aModifiedFiles);
$this->FindFilesModifiedAfter($fLastCompilationTime, APPROOT.'data/production-modules', $aModifiedFiles);
@@ -63,11 +76,11 @@ class UnitTestRunTimeEnvironment extends RunTimeEnvironment
if (count($aModifiedFiles) > 0) {
echo "The following files have been modified after the last compilation:\n";
foreach ($aModifiedFiles as $sFile) {
echo " - $sFile\n";
}
echo " - $sFile\n";
}
}
return (count($aModifiedFiles) === 0);
}
}
/**
* @inheritDoc
@@ -131,7 +144,6 @@ class UnitTestRunTimeEnvironment extends RunTimeEnvironment
continue;
}
if (in_array($sClass, $aLoadedTestClasses)) {
echo "class $sClass already loaded somehow \n";
continue;
}
$aLoadedTestClasses[]=$sClass;