Page MenuHomeIn-Portal Phabricator

D250.id763.diff
No OneTemporary

File Metadata

Created
Wed, Feb 26, 9:06 AM

D250.id763.diff

Index: branches/5.2.x/core/units/categories/categories_event_handler.php
===================================================================
--- branches/5.2.x/core/units/categories/categories_event_handler.php
+++ branches/5.2.x/core/units/categories/categories_event_handler.php
@@ -1848,8 +1848,20 @@
$object->setRequired('PageCacheKey', $object->GetDBField('OverridePageCacheKey'));
$object->SetDBField('Template', $this->_stripTemplateExtension( $object->GetDBField('Template') ));
- if ($object->GetDBField('Type') == PAGE_TYPE_TEMPLATE) {
- if (!$this->_templateFound($object->GetDBField('Template'), $object->GetDBField('ThemeId'))) {
+ $category_type = $object->GetDBField('Type');
+
+ // Changing category type would associate/disassociate it to theme.
+ if ( $category_type != $object->GetOriginalField('Type') ) {
+ if ( $category_type == PAGE_TYPE_TEMPLATE ) {
+ $object->SetDBField('ThemeId', $this->_getCurrentThemeId());
+ }
+ else {
+ $object->SetDBField('ThemeId', 0);
+ }
+ }
+
+ if ( $category_type == PAGE_TYPE_TEMPLATE ) {
+ if ( !$this->_templateFound($object->GetDBField('Template'), $object->GetDBField('ThemeId')) ) {
$object->SetError('Template', 'template_file_missing', 'la_error_TemplateFileMissing');
}
}

Event Timeline