diff --git a/include/client/open.inc.php b/include/client/open.inc.php index 4024579a83c5d5ee1ff574a8b76241178585d38b..ea0a100e7f67eeab48c0d1e61df43e14eda47f28 100644 --- a/include/client/open.inc.php +++ b/include/client/open.inc.php @@ -10,8 +10,12 @@ if($thisclient && $thisclient->isValid()) { $info=($_POST && $errors)?Format::htmlchars($_POST):$info; $form = null; -if (!$info['topicId']) - $info['topicId'] = $cfg->getDefaultTopicId(); +if (!$info['topicId']) { + if (array_key_exists('topicId',$_GET) && preg_match('/^\d+$/',$_GET['topicId']) && Topic::lookup($_GET['topicId'])) + $info['topicId'] = intval($_GET['topicId']); + else + $info['topicId'] = $cfg->getDefaultTopicId(); +} if ($info['topicId'] && ($topic=Topic::lookup($info['topicId']))) { $form = $topic->getForm();