Page MenuHomeIn-Portal Phabricator

D114.diff
No OneTemporary

File Metadata

Created
Sat, Apr 19, 5:42 PM

D114.diff

Index: branches/5.3.x/core/kernel/utility/unit_config_reader.php
===================================================================
--- branches/5.3.x/core/kernel/utility/unit_config_reader.php
+++ branches/5.3.x/core/kernel/utility/unit_config_reader.php
@@ -77,7 +77,7 @@
*
* @var array
*/
- protected $skipFolders = array('CVS', '.svn', 'admin_templates', 'libchart');
+ protected $skipFolders = array('CVS', '.svn', '.git', 'admin_templates', 'libchart', 'install');
/**
* Cloner.
@@ -95,8 +95,7 @@
$this->directorySeparator = preg_quote(DIRECTORY_SEPARATOR);
- $editor_path = explode('/', trim(EDITOR_PATH, '/'));
- $this->skipFolders[] = array_pop($editor_path); // last of cmseditor folders
+ $this->skipFolders[] = basename(EDITOR_PATH);
$this->moduleFolderRegExp = '#' . $this->directorySeparator . '(core|modules' . $this->directorySeparator . '.*?)' . $this->directorySeparator . '#';
@@ -199,8 +198,19 @@
}
}
else {
- $this->findConfigFiles(FULL_PATH . DIRECTORY_SEPARATOR . 'core'); // search from "core" directory
- $this->findConfigFiles($folder_path); // search from "modules" directory
+ /*if ( $this->Application->isDebugMode() ) {
+ $this->Application->Debugger->profileStart('fcf');
+ }*/
+
+ $this->findConfigFiles(FULL_PATH . DIRECTORY_SEPARATOR . 'core'); // Search from core directory.
+ $this->findConfigFiles($folder_path); // Search from modules directory.
+
+ /*if ( $this->Application->isDebugMode() ) {
+ $this->Application->Debugger->profileFinish(
+ 'fcf',
+ 'findConfigFiles [' . count($this->configFiles) . ']'
+ );
+ }*/
if ( $cache ) {
if ( $this->Application->isCachingType(CACHING_TYPE_MEMORY) ) {
@@ -229,16 +239,18 @@
/**
* Recursively searches for unit configs in given folder.
*
- * @param string $folder_path Path to the folder.
- * @param int $level Deep level of the folder.
+ * @param string $folder_path Path to the folder.
+ * @param integer $level Deep level of the folder.
*
* @return void
*/
protected function findConfigFiles($folder_path, $level = 0)
{
- // if FULL_PATH = "/" ensure, that all "/" in $folderPath are not deleted
+ // If FULL_PATH = "/" ensure, that all "/" in $folder_path are not deleted.
$reg_exp = '/^' . preg_quote(FULL_PATH, '/') . '/';
- $folder_path = preg_replace($reg_exp, '', $folder_path, 1); // this make sense, since $folderPath may NOT contain FULL_PATH
+
+ // This make sense, since $folder_path may NOT contain FULL_PATH.
+ $folder_path = preg_replace($reg_exp, '', $folder_path, 1);
$base_folder = FULL_PATH . $folder_path . DIRECTORY_SEPARATOR;
$sub_folders = glob($base_folder . '*', GLOB_ONLYDIR);
@@ -247,16 +259,11 @@
return;
}
- if ( $level == 0 ) {
- // don't scan Front-End themes because of extensive directory structure
- $sub_folders = array_diff($sub_folders, array($base_folder . 'themes', $base_folder . 'tools'));
- }
-
foreach ( $sub_folders as $full_path ) {
$sub_folder = substr($full_path, strlen($base_folder));
- if ( in_array($sub_folder, $this->skipFolders) || preg_match('/^\./', $sub_folder) ) {
- // don't scan skipped or hidden folders
+ if ( in_array($sub_folder, $this->skipFolders) || substr($sub_folder, 0, 1) == '.' ) {
+ // Don't scan skipped or hidden folders.
continue;
}

Event Timeline