[ preg_replace('#/+#','/',"{$_SERVER['DOCUMENT_ROOT']}/") ], "application" => [] ]; $packages = [preg_replace('#/+#','/',"{$conf->environment->coreDir}/")]; foreach ($conf->environment->packages as $package) { $packages[] = $package; } foreach ($packages as $package) { $packageDirs = array( "controllersDir" => preg_replace('#/+#','/',"{$package}/src/opnsense/mvc/app/controllers/"), "modelsDir" => preg_replace('#/+#','/',"{$package}/src/opnsense/mvc/app/models/"), "viewsDir" => preg_replace('#/+#','/',"{$package}/src/opnsense/mvc/app/views/"), "libraryDir" => preg_replace('#/+#','/',"{$package}/src/opnsense/mvc/app/library/"), "docroot" => preg_replace('#/+#','/',"{$package}/src/opnsense/www/"), "contrib" => array( preg_replace('#/+#','/',"{$package}/src/opnsense/contrib/"), preg_replace('#/+#','/',"{$package}/contrib/") ) ); foreach ($packageDirs as $packageDir => $loc) { $locations = is_array($loc) ? $loc : array($loc); foreach ($locations as $location) { if (is_dir($location)) { if (!isset($conf->application->$packageDir) || !in_array($location, $conf->application->$packageDir->toArray())) { // merge configuration if (!isset($appcnf["application"][$packageDir])) { $appcnf["application"][$packageDir] = []; } $appcnf["application"][$packageDir][] = $location; } } } } } $conf->merge(new PhalconConfig($appcnf)); return $conf;