public static function getDefaultDataPath($plugin = null, $theme = null, $pattern = null)
{
if (!$plugin) {
$plugin = 'Core';
} else {
$plugin = Inflector::camelize($plugin);
}
if (!$theme) {
$theme = 'core';
}
if (!$pattern) {
$pattern = 'default';
}
if ($plugin == 'Core') {
$paths = array(BASER_CONFIGS . 'data' . DS . $pattern);
if ($theme != 'core') {
$paths = array_merge(array(BASER_THEMES . $theme . DS . 'Config' . DS . 'data' . DS . $pattern, BASER_THEMES . $theme . DS . 'Config' . DS . 'Data' . DS . $pattern, BASER_THEMES . $theme . DS . 'Config' . DS . 'Data' . DS . Inflector::camelize($pattern), BASER_CONFIGS . 'theme' . DS . $theme . DS . 'Config' . DS . 'data' . DS . $pattern, BASER_THEMES . $theme . DS . 'Config' . DS . 'data' . DS . 'default', BASER_THEMES . $theme . DS . 'Config' . DS . 'Data' . DS . 'default'), $paths);
}
} else {
$pluginPaths = App::path('Plugin');
foreach ($pluginPaths as $pluginPath) {
$pluginPath .= $plugin;
if (is_dir($pluginPath)) {
break;
}
$pluginPath = null;
}
if (!$pluginPath) {
return false;
}
$paths = array($pluginPath . DS . 'Config' . DS . 'data' . DS . $pattern, $pluginPath . DS . 'Config' . DS . 'Data' . DS . $pattern, $pluginPath . DS . 'Config' . DS . 'Data' . DS . Inflector::camelize($pattern), $pluginPath . DS . 'sql', $pluginPath . DS . 'Config' . DS . 'data' . DS . 'default', $pluginPath . DS . 'Config' . DS . 'Data' . DS . 'default');
if ($theme != 'core') {
$paths = array_merge(array(BASER_THEMES . $theme . DS . 'Config' . DS . 'data' . DS . $pattern . DS . $plugin, BASER_THEMES . $theme . DS . 'Config' . DS . 'Data' . DS . $pattern . DS . $plugin, BASER_THEMES . $theme . DS . 'Config' . DS . 'Data' . DS . Inflector::camelize($pattern) . DS . $plugin, BASER_CONFIGS . 'theme' . DS . $theme . DS . 'config' . DS . 'data' . DS . $pattern . DS . $plugin, BASER_THEMES . $theme . DS . 'Config' . DS . 'data' . DS . 'default' . DS . $plugin, BASER_THEMES . $theme . DS . 'Config' . DS . 'Data' . DS . 'default' . DS . $plugin), $paths);
}
}
foreach ($paths as $path) {
if (is_dir($path)) {
return $path;
}
}
return false;
}