function _comment_get_display_setting in Drupal 6
Same name and namespace in other branches
- 4 modules/comment.module \_comment_get_display_setting()
- 5 modules/comment/comment.module \_comment_get_display_setting()
Return a current comment display setting
Parameters
$setting: can be one of these: 'mode', 'sort', 'comments_per_page'
$node: The comment node in question.
3 calls to _comment_get_display_setting()
- comment_new_page_count in modules/
comment/ comment.module - Calculate page number for first new comment.
- comment_render in modules/
comment/ comment.module - Renders comment(s).
- template_preprocess_comment_wrapper in modules/
comment/ comment.module - Process variables for comment-wrapper.tpl.php.
File
- modules/
comment/ comment.module, line 1890 - Enables users to comment on published content.
Code
function _comment_get_display_setting($setting, $node) {
global $user;
if (isset($_GET[$setting])) {
$value = $_GET[$setting];
}
else {
// get the setting's site default
switch ($setting) {
case 'mode':
$default = variable_get('comment_default_mode_' . $node->type, COMMENT_MODE_THREADED_EXPANDED);
break;
case 'sort':
$default = variable_get('comment_default_order_' . $node->type, COMMENT_ORDER_NEWEST_FIRST);
break;
case 'comments_per_page':
$default = variable_get('comment_default_per_page_' . $node->type, 50);
}
if (variable_get('comment_controls_' . $node->type, COMMENT_CONTROLS_HIDDEN) == COMMENT_CONTROLS_HIDDEN) {
// if comment controls are disabled use site default
$value = $default;
}
else {
// otherwise use the user's setting if set
if (isset($user->{$setting}) && $user->{$setting}) {
$value = $user->{$setting};
}
else {
if (isset($_SESSION['comment_' . $setting]) && $_SESSION['comment_' . $setting]) {
$value = $_SESSION['comment_' . $setting];
}
else {
$value = $default;
}
}
}
}
return $value;
}