|
30 | 30 | namespace OPNsense\Base\Menu;
|
31 | 31 |
|
32 | 32 | use OPNsense\Core\Config;
|
33 |
| -use Phalcon\Di\FactoryDefault; |
34 | 33 |
|
35 | 34 | /**
|
36 | 35 | * Class MenuSystem
|
@@ -111,38 +110,29 @@ public function invalidateCache()
|
111 | 110 | */
|
112 | 111 | public function persist($nowait = true)
|
113 | 112 | {
|
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__.'/../../../'; |
124 | 115 |
|
125 | 116 | // collect all XML menu definitions into a single file
|
126 | 117 | $menuXml = new \DOMDocument('1.0');
|
127 | 118 | $root = $menuXml->createElement('menu');
|
128 | 119 | $menuXml->appendChild($root);
|
129 | 120 | // 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); |
142 | 131 | }
|
143 | 132 | }
|
144 | 133 | }
|
145 | 134 | }
|
| 135 | + |
146 | 136 | // flush to disk
|
147 | 137 | $fp = fopen($this->menuCacheFilename, file_exists($this->menuCacheFilename) ? "r+" : "w+");
|
148 | 138 | $lockMode = $nowait ? LOCK_EX | LOCK_NB : LOCK_EX;
|
|
0 commit comments