Skip to content

Commit 2aa15e4

Browse files
committed
base/MenuSystem - remove Phalcon dependency, in theory it was possible to offer multiple model paths in the phalcon configuration, in practice this was never used (all models live in /usr/local/opnsense/mvc/app/models).
for #6389
1 parent d1962f8 commit 2aa15e4

File tree

1 file changed

+13
-23
lines changed

1 file changed

+13
-23
lines changed

src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php

+13-23
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
namespace OPNsense\Base\Menu;
3131

3232
use OPNsense\Core\Config;
33-
use Phalcon\Di\FactoryDefault;
3433

3534
/**
3635
* Class MenuSystem
@@ -111,38 +110,29 @@ public function invalidateCache()
111110
*/
112111
public function persist($nowait = true)
113112
{
114-
// fetch our model locations
115-
if (!empty(FactoryDefault::getDefault()->get('config')->application->modelsDir)) {
116-
$modelDirs = FactoryDefault::getDefault()->get('config')->application->modelsDir;
117-
if (!is_array($modelDirs) && !is_object($modelDirs)) {
118-
$modelDirs = array($modelDirs);
119-
}
120-
} else {
121-
// failsafe, if we don't have a Phalcon Dependency Injector object, use our relative location
122-
$modelDirs = array("__DIR__.'/../../../");
123-
}
113+
// find out models location
114+
$modelDir = __DIR__.'/../../../';
124115

125116
// collect all XML menu definitions into a single file
126117
$menuXml = new \DOMDocument('1.0');
127118
$root = $menuXml->createElement('menu');
128119
$menuXml->appendChild($root);
129120
// crawl all vendors and modules and add menu definitions
130-
foreach ($modelDirs as $modelDir) {
131-
foreach (glob(preg_replace('#/+#', '/', "{$modelDir}/*")) as $vendor) {
132-
foreach (glob($vendor . '/*') as $module) {
133-
$menu_cfg_xml = $module . '/Menu/Menu.xml';
134-
if (file_exists($menu_cfg_xml)) {
135-
try {
136-
$domNode = dom_import_simplexml($this->addXML($menu_cfg_xml));
137-
$domNode = $root->ownerDocument->importNode($domNode, true);
138-
$root->appendChild($domNode);
139-
} catch (MenuInitException $e) {
140-
error_log($e);
141-
}
121+
foreach (glob(preg_replace('#/+#', '/', "{$modelDir}/*")) as $vendor) {
122+
foreach (glob($vendor . '/*') as $module) {
123+
$menu_cfg_xml = $module . '/Menu/Menu.xml';
124+
if (file_exists($menu_cfg_xml)) {
125+
try {
126+
$domNode = dom_import_simplexml($this->addXML($menu_cfg_xml));
127+
$domNode = $root->ownerDocument->importNode($domNode, true);
128+
$root->appendChild($domNode);
129+
} catch (MenuInitException $e) {
130+
error_log($e);
142131
}
143132
}
144133
}
145134
}
135+
146136
// flush to disk
147137
$fp = fopen($this->menuCacheFilename, file_exists($this->menuCacheFilename) ? "r+" : "w+");
148138
$lockMode = $nowait ? LOCK_EX | LOCK_NB : LOCK_EX;

0 commit comments

Comments
 (0)