public function item($ActivityID = 0)
{
$this->addJsFile('activity.js');
$this->title(t('Activity Item'));
if (!is_numeric($ActivityID) || $ActivityID < 0) {
$ActivityID = 0;
}
$this->ActivityData = $this->ActivityModel->getWhere(array('ActivityID' => $ActivityID));
// Check visibility.
$userid = val('NotifyUserID', $this->ActivityData->firstRow());
switch ($userid) {
case ActivityModel::NOTIFY_PUBLIC:
// Carry on!
break;
case ActivityModel::NOTIFY_MODS:
if (!checkPermission('Garden.Moderation.Manage')) {
throw permissionException();
}
break;
case ActivityModel::NOTIFY_ADMIN:
if (!checkPermission('Garden.Settings.Manage')) {
throw permissionException();
}
break;
default:
// Actual userid.
if (!checkPermission('Garden.Community.Manage') && Gdn::Session()->UserID !== $userid) {
throw permissionException();
}
break;
}
$this->setData('Comments', $this->ActivityModel->getComments(array($ActivityID)));
$this->setData('Activities', $this->ActivityData);
$this->render();
}