diff --git a/core/trunk/core/class/class_core_tools.php b/core/trunk/core/class/class_core_tools.php index 28b0175a7f2934f84755f5f78a7be1a6444fe20a..d4201cc6913fdf1e2e8759844f8a12aec9c47946 100644 --- a/core/trunk/core/class/class_core_tools.php +++ b/core/trunk/core/class/class_core_tools.php @@ -1604,29 +1604,31 @@ class core_tools extends functions } if(isset($_GET['module']) && $_GET['module'] <> "core") { // Page is defined in a module - $aModules = []; - $aScandir = scandir('modules'); - foreach ($aScandir as $sModule) { - if ( in_array($sModule,['.','..',]) ) continue; - $aModules[$sModule] = $sModule; - } - foreach ($aModules as $sModule) { - $aScandir = scandir("modules/$sModule"); - $aPages = []; - foreach ($aScandir as $sPage) { - if ( in_array($sModule,['.','..',]) ) continue; - if ( is_dir("modules/$sModule/$sPage") ) continue; - if ( ! is_file("modules/$sModule/$sPage") ) continue; - if ( ! preg_match('/\.php$/', $sPage) ) continue; - $aPages[$sPage] = "modules/$sModule/$sPage"; - $aModules[$sModule] = $aPages; + $found = false; + //$this->show_array($_SESSION['maarchFilesWhiteList']['modules'][$_GET['module']]); + for ($cptM=0;$cptM<count($_SESSION['maarchFilesWhiteList']['modules'][$_GET['module']]);$cptM++) { + //echo $_SESSION['maarchFilesWhiteList']['modules'][$_GET['module']][$cptM] . '<br />'; + //echo 'modules'.DIRECTORY_SEPARATOR.$_GET['module'].DIRECTORY_SEPARATOR.$this->f_page.".php" . '<br />'; + if ( + $_SESSION['maarchFilesWhiteList']['modules'][$_GET['module']][$cptM] + == 'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'modules'.DIRECTORY_SEPARATOR.$_GET['module'].DIRECTORY_SEPARATOR.$this->f_page.".php" + ) { + require $_SESSION['maarchFilesWhiteList']['modules'][$_GET['module']][$cptM]; + $found = true; + break; + } elseif ( + $_SESSION['maarchFilesWhiteList']['modules'][$_GET['module']][$cptM] + == 'modules'.DIRECTORY_SEPARATOR.$_GET['module'].DIRECTORY_SEPARATOR.$this->f_page.".php" + ) { + require $_SESSION['maarchFilesWhiteList']['modules'][$_GET['module']][$cptM]; + $found = true; + break; } } - if ( ! isset($aModules[$_GET['module']][$this->f_page.'.php']) ) { + if (!$found) { $this->loadDefaultPage(); - }else { - require $aModules[$_GET['module']][$this->f_page.'.php']; } + // if(file_exists($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'modules'.DIRECTORY_SEPARATOR.$_GET['module'].DIRECTORY_SEPARATOR.$this->f_page.".php")) { // require($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'modules'.DIRECTORY_SEPARATOR.$_GET['module'].DIRECTORY_SEPARATOR.$this->f_page.".php"); // } elseif(file_exists($_SESSION['config']['corepath'].'modules'.DIRECTORY_SEPARATOR.$_GET['module'].DIRECTORY_SEPARATOR.$this->f_page.".php")) { @@ -1636,13 +1638,38 @@ class core_tools extends functions // } } elseif(isset($_GET['module']) && $_GET['module'] == "core") { // Page is defined the core - if(file_exists($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'core'.DIRECTORY_SEPARATOR.$this->f_page.".php")) { - require($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'core'.DIRECTORY_SEPARATOR.$this->f_page.".php"); - } elseif(file_exists($_SESSION['config']['corepath'].'core'.DIRECTORY_SEPARATOR.$this->f_page.".php")) { - require('core'.DIRECTORY_SEPARATOR.$this->f_page.".php"); - } else { + $found = false; + //$this->show_array($_SESSION['maarchFilesWhiteList']['core']); + for ($cptM=0;$cptM<count($_SESSION['maarchFilesWhiteList']['core']);$cptM++) { + //echo $_SESSION['maarchFilesWhiteList']['core'][$cptM] . '<br />'; + //echo 'core'.DIRECTORY_SEPARATOR.$this->f_page.".php" . '<br />'; + if ( + $_SESSION['maarchFilesWhiteList']['core'][$cptM] + == 'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'core'.DIRECTORY_SEPARATOR.$this->f_page.".php" + ) { + require $_SESSION['maarchFilesWhiteList']['core'][$cptM]; + $found = true; + break; + } elseif ( + $_SESSION['maarchFilesWhiteList']['core'][$cptM] + == 'core'.DIRECTORY_SEPARATOR.$this->f_page.".php" + ) { + require $_SESSION['maarchFilesWhiteList']['core'][$cptM]; + $found = true; + break; + } + } + if (!$found) { $this->loadDefaultPage(); } + + // if(file_exists($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'core'.DIRECTORY_SEPARATOR.$this->f_page.".php")) { + // require($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'core'.DIRECTORY_SEPARATOR.$this->f_page.".php"); + // } elseif(file_exists($_SESSION['config']['corepath'].'core'.DIRECTORY_SEPARATOR.$this->f_page.".php")) { + // require('core'.DIRECTORY_SEPARATOR.$this->f_page.".php"); + // } else { + // $this->loadDefaultPage(); + // } } elseif(isset($_GET['admin']) && !empty($_GET['admin'])) { if ( !isset($_SESSION['user']['services']['admin']) @@ -1651,48 +1678,144 @@ class core_tools extends functions ) { $this->loadDefaultPage(); } else { + $found = false; + //$this->show_array($_SESSION['maarchFilesWhiteList']['apps']); + for ($cptM=0;$cptM<count($_SESSION['maarchFilesWhiteList']['apps']);$cptM++) { + //echo $_SESSION['maarchFilesWhiteList']['apps'][$cptM] . '<br />'; + //echo 'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."admin".DIRECTORY_SEPARATOR.trim($_GET['admin']).DIRECTORY_SEPARATOR.$this->f_page.".php" . '<br />'; + if ( + $_SESSION['maarchFilesWhiteList']['apps'][$cptM] + == 'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."admin".DIRECTORY_SEPARATOR.trim($_GET['admin']).DIRECTORY_SEPARATOR.$this->f_page.".php" + ) { + require $_SESSION['maarchFilesWhiteList']['apps'][$cptM]; + $found = true; + break; + } elseif ( + $_SESSION['maarchFilesWhiteList']['apps'][$cptM] + == 'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."admin".DIRECTORY_SEPARATOR.trim($_GET['admin']).DIRECTORY_SEPARATOR.$this->f_page.".php" + ) { + require $_SESSION['maarchFilesWhiteList']['apps'][$cptM]; + $found = true; + break; + } + } + if (!$found) { + $this->loadDefaultPage(); + } + // Page is defined the admin directory of the application - if(file_exists($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."admin".DIRECTORY_SEPARATOR.trim($_GET['admin']).DIRECTORY_SEPARATOR.$this->f_page.".php")) { + /*if(file_exists($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."admin".DIRECTORY_SEPARATOR.trim($_GET['admin']).DIRECTORY_SEPARATOR.$this->f_page.".php")) { require($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."admin".DIRECTORY_SEPARATOR.trim($_GET['admin']).DIRECTORY_SEPARATOR.$this->f_page.".php"); } elseif(file_exists($_SESSION['config']['corepath'].'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."admin".DIRECTORY_SEPARATOR.trim($_GET['admin']).DIRECTORY_SEPARATOR.$this->f_page.".php")) { require('apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."admin".DIRECTORY_SEPARATOR.trim($_GET['admin']).DIRECTORY_SEPARATOR.$this->f_page.".php"); } else { $this->loadDefaultPage(); - } + }*/ } } elseif(isset($_GET['dir']) && !empty($_GET['dir'])) { // Page is defined in a dir directory of the application - if(file_exists($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.trim($_GET['dir']).DIRECTORY_SEPARATOR.$this->f_page.".php")) { - require($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.trim($_GET['dir']).DIRECTORY_SEPARATOR.$this->f_page.".php"); - } elseif(file_exists($_SESSION['config']['corepath'].'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.trim($_GET['dir']).DIRECTORY_SEPARATOR.$this->f_page.".php")) { - require('apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.trim($_GET['dir']).DIRECTORY_SEPARATOR.$this->f_page.".php"); - } else { + $found = false; + //$this->show_array($_SESSION['maarchFilesWhiteList']['apps']); + for ($cptM=0;$cptM<count($_SESSION['maarchFilesWhiteList']['apps']);$cptM++) { + //echo $_SESSION['maarchFilesWhiteList']['apps'][$cptM] . '<br />'; + //echo 'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.trim($_GET['dir']).DIRECTORY_SEPARATOR.$this->f_page.".php" . '<br />'; + if ( + $_SESSION['maarchFilesWhiteList']['apps'][$cptM] + == 'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.trim($_GET['dir']).DIRECTORY_SEPARATOR.$this->f_page.".php" + ) { + require $_SESSION['maarchFilesWhiteList']['apps'][$cptM]; + $found = true; + break; + } elseif ( + $_SESSION['maarchFilesWhiteList']['apps'][$cptM] + == 'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.trim($_GET['dir']).DIRECTORY_SEPARATOR.$this->f_page.".php" + ) { + require $_SESSION['maarchFilesWhiteList']['apps'][$cptM]; + $found = true; + break; + } + } + if (!$found) { $this->loadDefaultPage(); } + + // if(file_exists($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.trim($_GET['dir']).DIRECTORY_SEPARATOR.$this->f_page.".php")) { + // require($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.trim($_GET['dir']).DIRECTORY_SEPARATOR.$this->f_page.".php"); + // } elseif(file_exists($_SESSION['config']['corepath'].'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.trim($_GET['dir']).DIRECTORY_SEPARATOR.$this->f_page.".php")) { + // require('apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.trim($_GET['dir']).DIRECTORY_SEPARATOR.$this->f_page.".php"); + // } else { + // $this->loadDefaultPage(); + // } } else { // Page is defined in the application - if(file_exists($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.$this->f_page.".php")) { - require($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.$this->f_page.".php"); - } elseif(file_exists($_SESSION['config']['corepath'].'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.$this->f_page.".php")) { - require('apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.$this->f_page.".php"); - } else { - require_once('apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_business_app_tools.php"); - $app = new business_app_tools(); - $path = $app->insert_app_page($this->f_page); - if( - (!$path || empty($path)) - && !file_exists($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.$path) - && !file_exists($path)) { - //require($_SESSION["config"]["defaultPage"].".php"); - $this->loadDefaultPage(); + $found = false; + //$this->show_array($_SESSION['maarchFilesWhiteList']['apps']); + for ($cptM=0;$cptM<count($_SESSION['maarchFilesWhiteList']['apps']);$cptM++) { + //echo $_SESSION['maarchFilesWhiteList']['apps'][$cptM] . '<br />'; + //echo 'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.$this->f_page.".php" . '<br />'; + //echo 'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.$this->f_page.".php" . '<br />'; + if ( + $_SESSION['maarchFilesWhiteList']['apps'][$cptM] + == 'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.$this->f_page.".php" + ) { + require $_SESSION['maarchFilesWhiteList']['apps'][$cptM]; + $found = true; + break; + } elseif ( + $_SESSION['maarchFilesWhiteList']['apps'][$cptM] + == 'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.$this->f_page.".php" + ) { + require $_SESSION['maarchFilesWhiteList']['apps'][$cptM]; + $found = true; + break; } else { - if (!file_exists($path)) { - $this->loadDefaultPage(); - } else { - require($path); + require_once('apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_business_app_tools.php"); + $app = new business_app_tools(); + $path = $app->insert_app_page($this->f_page); + if ( + $_SESSION['maarchFilesWhiteList']['apps'][$cptM] + == 'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.$path + ) { + require $_SESSION['maarchFilesWhiteList']['apps'][$cptM]; + $found = true; + break; + } elseif ( + $_SESSION['maarchFilesWhiteList']['apps'][$cptM] + == $path + ) { + require $_SESSION['maarchFilesWhiteList']['apps'][$cptM]; + $found = true; + break; } } } + if (!$found) { + $this->loadDefaultPage(); + } + + // if(file_exists($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.$this->f_page.".php")) { + // require($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.$this->f_page.".php"); + // } elseif(file_exists($_SESSION['config']['corepath'].'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.$this->f_page.".php")) { + // require('apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.$this->f_page.".php"); + // } else { + // require_once('apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR."class".DIRECTORY_SEPARATOR."class_business_app_tools.php"); + // $app = new business_app_tools(); + // $path = $app->insert_app_page($this->f_page); + // echo $path;exit; + // if( + // (!$path || empty($path)) + // && !file_exists($_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.$path) + // && !file_exists($path)) { + // //require($_SESSION["config"]["defaultPage"].".php"); + // $this->loadDefaultPage(); + // } else { + // if (!file_exists($path)) { + // $this->loadDefaultPage(); + // } else { + // require($path); + // } + // } + // } } return true; } diff --git a/core/trunk/core/init.php b/core/trunk/core/init.php index 8d37ca67f4b883b8d49953dfd0af25b0b5cf86bb..3c10785b9ea1ff4d0712a8c28ff90011715fa5dd 100644 --- a/core/trunk/core/init.php +++ b/core/trunk/core/init.php @@ -64,3 +64,139 @@ if (isset($_SESSION['custom_override_id']) $_SESSION['config']['corepath'] . PATH_SEPARATOR . get_include_path() ); } + + +/** + * Get an array that represents directory tree + * @param string $directory Directory path + * @param bool $recursive Include sub directories + * @param bool $listDirs Include directories on listing + * @param bool $listFiles Include files on listing + * @param regex $exclude Exclude paths that matches this regex + */ +function maarchFilesWhiteList($directory, $isCustom = false, $recursive = true, $listDirs = false, $listFiles = true, $exclude = '') +{ + $arrayItems = array(); + $skipByExclude = false; + $handle = opendir($directory); + if ($handle) { + while (false !== ($file = readdir($handle))) { + preg_match("/(^(([\.]){1,2})$|" + . "(\.(svn|git|md|xml|default|inc|js|sql|html|sh|bat|txt|log|css|jpg|jpeg|png|gif|doc|docx" + . "|xls|xlsx|odt|ods|csv|pdf|rb|jar|svg|psd|msi|vbs))|(Thumbs\.db|\.DS_STORE|tools|css|js|img|lang|" + . "sql|tmp|log|logs|xml))$/iu", $file, $skip); + if ($exclude) { + preg_match($exclude, $file, $skipByExclude); + } + if (!$skip && !$skipByExclude) { + if (is_dir($directory. DIRECTORY_SEPARATOR . $file)) { + if ($recursive) { + $arrayItems = array_merge( + $arrayItems, + maarchFilesWhiteList( + $directory. DIRECTORY_SEPARATOR . $file, + $isCustom, + $recursive, + $listDirs, + $listFiles, + $exclude + ) + ); + } + if ($listDirs) { + $fileName = $file; + $file = $directory . DIRECTORY_SEPARATOR . $file; + $arrayItems[$fileName] = $file; + } + } else { + if ($listFiles) { + //$fileName = $file; + $file = $directory . DIRECTORY_SEPARATOR . $file; + if ( + $isCustom + && file_exists('custom/' . $_SESSION['custom_override_id'] . '/' . $file) + ) { + //$arrayItems[$fileName] = 'custom/' . $_SESSION['custom_override_id'] . '/' . $file; + array_push($arrayItems, 'custom/' . $_SESSION['custom_override_id'] . '/' . $file); + } else { + //$arrayItems[$fileName] = $file; + array_push($arrayItems, $file); + } + } + } + } + } + closedir($handle); + } + return $arrayItems; +} + + +//if (!isset($_SESSION['maarchFilesWhiteList']) && count($_SESSION['maarchFilesWhiteList']) == 0) { + $isCustom = false; + if ( + is_dir('custom/' . $_SESSION['custom_override_id']) + && !empty($_SESSION['custom_override_id']) + ) { + $isCustom = true; + } + + $_SESSION['maarchFilesWhiteList'] = array(); + $_SESSION['maarchFilesWhiteList']['core'] = maarchFilesWhiteList('core', $isCustom); + $_SESSION['maarchFilesWhiteList']['apps'] = maarchFilesWhiteList('apps', $isCustom); + $_SESSION['maarchFilesWhiteList']['modules'] = array(); + + $modules = array(); + $handle = opendir('modules'); + if ($handle) { + while (false !== ($file = readdir($handle))) { + //echo $file . '<br/>'; + if (is_dir($_SESSION['config']['corepath'] . '/modules/' . $file) && $file <> '.' && $file <> '..') { + array_push($modules, $file); + } + } + } + for ($z=0;$z<count($modules);$z++) { + $_SESSION['maarchFilesWhiteList']['modules'][$modules[$z]] = maarchFilesWhiteList( + 'modules/' . $modules[$z], + $isCustom + ); + } + if ( + is_dir($_SESSION['config']['corepath'] . '/custom/' . $_SESSION['custom_override_id']) + && !empty($_SESSION['custom_override_id']) + ) { + if (is_dir($_SESSION['config']['corepath'] . 'custom/' . $_SESSION['custom_override_id'] . '/core')) { + $_SESSION['maarchFilesWhiteList']['custom']['core'] = maarchFilesWhiteList('custom/' . $_SESSION['custom_override_id'] . '/core'); + $_SESSION['maarchFilesWhiteList']['core'] + = array_merge($_SESSION['maarchFilesWhiteList']['core'], $_SESSION['maarchFilesWhiteList']['custom']['core']); + } + if (is_dir($_SESSION['config']['corepath'] . 'custom/' . $_SESSION['custom_override_id']. '/apps')) { + $_SESSION['maarchFilesWhiteList']['custom']['apps'] = maarchFilesWhiteList('custom/' . $_SESSION['custom_override_id']. '/apps'); + $_SESSION['maarchFilesWhiteList']['apps'] + = array_merge($_SESSION['maarchFilesWhiteList']['apps'], $_SESSION['maarchFilesWhiteList']['custom']['apps']); + + } + for ($z=0;$z<count($modules);$z++) { + if (is_dir($_SESSION['config']['corepath'] . 'custom/' . $_SESSION['custom_override_id']. '/modules/' . $modules[$z])) { + $_SESSION['maarchFilesWhiteList']['custom']['modules'][$modules[$z]] = maarchFilesWhiteList( + 'custom/' . $_SESSION['custom_override_id']. '/modules/' . $modules[$z], + $isCustom + ); + $_SESSION['maarchFilesWhiteList']['modules'][$modules[$z]] + = array_merge($_SESSION['maarchFilesWhiteList']['modules'][$modules[$z]], $_SESSION['maarchFilesWhiteList']['custom']['modules'][$modules[$z]]); + } + + } + } + + // echo '<pre>'; + // print_r($_SESSION['maarchFilesWhiteList']); + // echo '</pre>'; + // exit; +//} +// echo '<pre>'; +// print_r($_SESSION['maarchFilesWhiteList']); +// echo '</pre>'; +// exit; +