Designer 3.3.0

This commit is contained in:
Eric Espie
2026-03-18 16:41:54 +01:00
parent 10d1f5735e
commit 99cfe95c32
4 changed files with 25 additions and 17 deletions

View File

@@ -24,7 +24,7 @@ MetaModel::IncludeModule('application/user.dashboard.class.inc.php');
MetaModel::IncludeModule('application/audit.rule.class.inc.php');
MetaModel::IncludeModule('application/audit.domain.class.inc.php');
MetaModel::IncludeModule('application/query.class.inc.php');
MetaModel::IncludeModule('setup/moduleinstallation.class.inc.php');
MetaModel::IncludeModule('setup/moduleinstallation/moduleinstallation.class.inc.php');
MetaModel::IncludeModule('core/event.class.inc.php');
MetaModel::IncludeModule('core/action.class.inc.php');

View File

@@ -22,6 +22,7 @@ use Combodo\iTop\Application\Branding;
use Combodo\iTop\Application\WebPage\iTopWebPage;
use Combodo\iTop\Application\WebPage\Page;
use Combodo\iTop\DesignDocument;
use Combodo\iTop\DesignElement;
use Combodo\iTop\PropertyType\PropertyTypeDesign;
require_once(APPROOT.'setup/setuputils.class.inc.php');
@@ -2654,6 +2655,9 @@ CSS;
$oDefNode = $oXMLDoc->importNode($oNode, true); // layout, cells, etc Nodes and below
$oRootNode->appendChild($oDefNode);
}
if (!is_dir($sTempTargetDir.'/'.$sModuleRelativeDir)) {
SetupUtils::builddir($sTempTargetDir.'/'.$sModuleRelativeDir);
}
$oXMLDoc->save($sTempTargetDir.'/'.$sModuleRelativeDir.'/'.$sFileName);
}
$sNewMenu = "new DashboardMenuNode('$sMenuId', $sTemplateSpec, $sParentSpec, $fRank {$sOptionalEnableParams});";

View File

@@ -308,18 +308,20 @@ class MFModule
{
$aDictionaries = [];
foreach ([$this->sRootDir, $this->sRootDir.'/dictionaries'] as $sRootDir) {
if ($hDir = @opendir($sRootDir)) {
while (($sFile = readdir($hDir)) !== false) {
$aMatches = [];
if (preg_match(
"/^[^\\.]+.dict.".$this->sName.'.php$/i',
$sFile,
$aMatches
)) { // Dictionary files are named like <Lang>.dict.<ModuleName>.php
$aDictionaries[] = $sRootDir.'/'.$sFile;
if (is_dir($sRootDir)) {
if ($hDir = @opendir($sRootDir)) {
while (($sFile = readdir($hDir)) !== false) {
$aMatches = [];
if (preg_match(
"/^[^\\.]+.dict.".$this->sName.'.php$/i',
$sFile,
$aMatches
)) { // Dictionary files are named like <Lang>.dict.<ModuleName>.php
$aDictionaries[] = $sRootDir.'/'.$sFile;
}
}
closedir($hDir);
}
closedir($hDir);
}
}

View File

@@ -183,14 +183,16 @@ class ModuleDiscovery
$sDir.'/dictionaries' => self::$m_sModulePath.'/dictionaries',
];
foreach ($aDirs as $sRootDir => $sPath) {
if ($hDir = @opendir($sRootDir)) {
while (($sFile = readdir($hDir)) !== false) {
$aMatches = [];
if (preg_match("/^[^\\.]+.dict.$sModuleName.php$/i", $sFile, $aMatches)) { // Dictionary files named like <Lang>.dict.<ModuleName>.php are loaded automatically
self::$m_aModules[$sId]['dictionary'][] = $sPath.'/'.$sFile;
if (is_dir($sRootDir)) {
if ($hDir = @opendir($sRootDir)) {
while (($sFile = readdir($hDir)) !== false) {
$aMatches = [];
if (preg_match("/^[^\\.]+.dict.$sModuleName.php$/i", $sFile, $aMatches)) { // Dictionary files named like <Lang>.dict.<ModuleName>.php are loaded automatically
self::$m_aModules[$sId]['dictionary'][] = $sPath.'/'.$sFile;
}
}
closedir($hDir);
}
closedir($hDir);
}
}
}