Index: branches/unlabeled/unlabeled-1.15.2/core/units/general/main_event_handler.php =================================================================== diff -u -r6730 -r8299 --- branches/unlabeled/unlabeled-1.15.2/core/units/general/main_event_handler.php (.../main_event_handler.php) (revision 6730) +++ branches/unlabeled/unlabeled-1.15.2/core/units/general/main_event_handler.php (.../main_event_handler.php) (revision 8299) @@ -82,9 +82,14 @@ } $ret .= $theme_name.'/'; } - + if ($processed_params['m_cat_id'] > 0 && isset($url_params['pass_category']) && $url_params['pass_category']) { - $ret .= $this->Application->getFilename('c', $processed_params['m_cat_id']).'/'; + $category_filename = $this->Application->getFilename('c', $processed_params['m_cat_id']); + $t = isset($url_params['t']) && $url_params['t'] ? $url_params['t'] : false; + // category name doesn't match template name -> Proj-CMS/In-Edit tricks + if (!preg_match('/Content\/'.preg_quote($t, '/').'/i', $category_filename)) { + $ret .= $category_filename.'/'; + } $url_params['category_processed'] = true; } else { Index: branches/unlabeled/unlabeled-1.69.2/core/kernel/processors/main_processor.php =================================================================== diff -u -r8254 -r8299 --- branches/unlabeled/unlabeled-1.69.2/core/kernel/processors/main_processor.php (.../main_processor.php) (revision 8254) +++ branches/unlabeled/unlabeled-1.69.2/core/kernel/processors/main_processor.php (.../main_processor.php) (revision 8299) @@ -130,24 +130,9 @@ function FormAction($params) { - $pass_category = true; - $category_id = $this->Application->GetVar('m_cat_id'); - - if ($category_id > 0) { - $category = $this->Application->recallObject('c'); - /* @var $category kDBItem */ - - $t = $this->Application->GetVar('t'); - if (preg_match('/Content\/'.preg_quote($t, '/').'/i', $category->GetDBField('NamedParentPath'))) { - // category name matches template name -> Proj-CMS/In-Edit tricks - $pass_category = false; - } - } - $params['pass'] = 'all,m'; - if ($pass_category) { - $params['pass_category'] = 1; - } + $params['pass_category'] = 1; + return $this->Application->HREF('', '', $params); } Index: branches/unlabeled/unlabeled-1.85.2/core/kernel/db/db_event_handler.php =================================================================== diff -u -r8275 -r8299 --- branches/unlabeled/unlabeled-1.85.2/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 8275) +++ branches/unlabeled/unlabeled-1.85.2/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 8299) @@ -95,6 +95,7 @@ parent::mapPermissions(); $permissions = Array( 'OnLoad' => Array('self' => 'view', 'subitem' => 'view'), + 'OnBuild' => Array('self' => true), 'OnNew' => Array('self' => 'add', 'subitem' => 'add|edit'), 'OnCreate' => Array('self' => 'add', 'subitem' => 'add|edit'), Index: branches/unlabeled/unlabeled-1.9.2/core/units/general/helpers/mod_rewrite_helper.php =================================================================== diff -u -r8275 -r8299 --- branches/unlabeled/unlabeled-1.9.2/core/units/general/helpers/mod_rewrite_helper.php (.../mod_rewrite_helper.php) (revision 8275) +++ branches/unlabeled/unlabeled-1.9.2/core/units/general/helpers/mod_rewrite_helper.php (.../mod_rewrite_helper.php) (revision 8299) @@ -318,6 +318,7 @@ if ($template_found) { $vars['m_cat_id'] = $template_found['CategoryId']; $vars['t'] = implode('/', $url_parts); + $vars['is_virtual'] = true; // for template from POST return true; } } @@ -368,7 +369,11 @@ if (isset($this->HTTPQuery->Post['t']) && $this->HTTPQuery->Post['t']) { // template from POST overrides template from URL. $vars['t'] = $this->HTTPQuery->Post['t']; + if (isset($vars['is_virtual']) && $vars['is_virtual']) { + $vars['m_cat_id'] = 0; // this is virtual template category (for Proj-CMS) + } } + unset($vars['is_virtual']); } foreach ($vars as $name => $value) {