--- forum_access.module 2008-03-10 15:08:42.000000000 +0800 +++ forum_access.module 2008-03-13 12:56:07.000000000 +0800 @@ -401,3 +401,39 @@ function forum_access_node_access_explai } } +/** + * Return a themed list of moderators for a given forum. + */ +function forum_access_moderator_list($tid) { + $acl_id = db_result(db_query("SELECT acl_id from {acl} WHERE name = '%s'", $tid)); + $result = db_query("SELECT uid from {acl_user} WHERE acl_id = '%s'", $acl_id); + $moderators = array(); + while ($row = db_fetch_object($result)) { + $moderators[] = $row->uid; + } + return theme('forum_access_moderator_list', $moderators); +} + +/** + * theme function for list of moderators + */ +function theme_forum_access_moderator_list($moderators) { + static $users; + if (!empty($moderators)) { + $moderators_links = array(); + foreach ($moderators as $uid) { + if (!isset($users[$uid])) { + $users[$uid] = user_load(array('uid' => $uid)); + } + $moderators_links[] = theme('username', $users[$uid]); + } + $output = ''. format_plural(count($moderators_links), t('Moderator:'), t('Moderators:')) .' '; + $moderators = implode(', ', $moderators_links); + $output .= ''. $moderators .''; + $output = '
'. $output .'
'; + return $output; + } + else { + return ''; + } +}