Index: branches/RC/core/units/admin/admin_tag_processor.php =================================================================== diff -u -N -r11665 -r11693 --- branches/RC/core/units/admin/admin_tag_processor.php (.../admin_tag_processor.php) (revision 11665) +++ branches/RC/core/units/admin/admin_tag_processor.php (.../admin_tag_processor.php) (revision 11693) @@ -575,12 +575,30 @@ */ function CheckPermCache($params) { + // we have separate session between install wizard and admin console, so store in cache $sql = 'SELECT Data FROM '.TABLE_PREFIX.'Cache WHERE VarName = "ForcePermCacheUpdate"'; - if ($this->Application->isModuleEnabled('In-Portal') && $this->Conn->GetOne($sql)) { - $this->Application->Redirect($params['cache_update_t'], array('continue' => 1)); + $global_mark = $this->Conn->GetOne($sql); + + $local_mark = $this->Application->RecallVar('PermCache_UpdateRequired'); + + if ($global_mark || $local_mark) { + $this->Application->RemoveVar('PermCache_UpdateRequired'); + + if ($this->Application->ConfigValue('QuickCategoryPermissionRebuild')) { + $updater =& $this->Application->recallObject('kPermCacheUpdater'); + /* @var $updater kPermCacheUpdater */ + + $updater->OneStepRun(); + } + else { + // update with progress bar + return true; + } } + + return false; } /**