/** * Whether a user can moderate comments on a particular (view or artefact) page * @param int $userid * @param ArtefactType $artefact * @param View $view * @return boolean */ public static function can_moderate_comments($userid, $artefact = null, $view = null) { static $usercache = array(); if (array_key_exists($userid, $usercache)) { return $usercache[$userid]; } $user = new User(); $user->find_by_id($userid); if ($artefact) { $canmod = $user->can_edit_artefact($artefact); } else { $canmod = $user->can_moderate_view($view); } $usercache[$userid] = $canmod; return $canmod; }