Chris@12: 'app/Modules/{$name}/', Chris@12: 'theme' => 'themes/{$name}/', Chris@12: ); Chris@12: Chris@12: /** Chris@12: * Format package name. Chris@12: * Chris@12: * @param array $vars Chris@12: * Chris@12: * @return array Chris@12: */ Chris@12: public function inflectPackageVars($vars) Chris@12: { Chris@12: if ($vars['type'] === 'pxcms-module') { Chris@12: return $this->inflectModuleVars($vars); Chris@12: } Chris@12: Chris@12: if ($vars['type'] === 'pxcms-theme') { Chris@12: return $this->inflectThemeVars($vars); Chris@12: } Chris@12: Chris@12: return $vars; Chris@12: } Chris@12: Chris@12: /** Chris@12: * For package type pxcms-module, cut off a trailing '-plugin' if present. Chris@12: * Chris@12: * return string Chris@12: */ Chris@12: protected function inflectModuleVars($vars) Chris@12: { Chris@12: $vars['name'] = str_replace('pxcms-', '', $vars['name']); // strip out pxcms- just incase (legacy) Chris@12: $vars['name'] = str_replace('module-', '', $vars['name']); // strip out module- Chris@12: $vars['name'] = preg_replace('/-module$/', '', $vars['name']); // strip out -module Chris@12: $vars['name'] = str_replace('-', '_', $vars['name']); // make -'s be _'s Chris@12: $vars['name'] = ucwords($vars['name']); // make module name camelcased Chris@12: Chris@12: return $vars; Chris@12: } Chris@12: Chris@12: Chris@12: /** Chris@12: * For package type pxcms-module, cut off a trailing '-plugin' if present. Chris@12: * Chris@12: * return string Chris@12: */ Chris@12: protected function inflectThemeVars($vars) Chris@12: { Chris@12: $vars['name'] = str_replace('pxcms-', '', $vars['name']); // strip out pxcms- just incase (legacy) Chris@12: $vars['name'] = str_replace('theme-', '', $vars['name']); // strip out theme- Chris@12: $vars['name'] = preg_replace('/-theme$/', '', $vars['name']); // strip out -theme Chris@12: $vars['name'] = str_replace('-', '_', $vars['name']); // make -'s be _'s Chris@12: $vars['name'] = ucwords($vars['name']); // make module name camelcased Chris@12: Chris@12: return $vars; Chris@12: } Chris@12: }