function fasttoggle_fasttoggle_options in Fasttoggle 6
Same name and namespace in other branches
- 5 fasttoggle.module \fasttoggle_fasttoggle_options()
Implementation of hook_fasttoggle_options().
File
- ./
fasttoggle.module, line 260 - Enables fast toggling of binary or not so binary settings.
Code
function fasttoggle_fasttoggle_options($type, $obj) {
$return = array();
switch ($type) {
case 'node':
// $obj = node
$allow = node_access('update', $obj);
// Get an array with all enabled fast toggle links
$settings = variable_get('fasttoggle_togglable_options_' . $obj->type, array());
if (in_array('status', $settings) && $allow && user_access('moderate posts')) {
$return['status']['status']['label'] = _fasttoggle_get_label('node_status');
}
if (in_array('sticky', $settings) && $allow && user_access('make posts sticky')) {
$return['status']['sticky']['label'] = _fasttoggle_get_label('node_sticky');
}
if (in_array('promote', $settings) && $allow && user_access('promote posts')) {
$return['status']['promote']['label'] = _fasttoggle_get_label('node_promote');
}
if (in_array('comment', $settings) && $allow && module_exists('comment') && user_access('administer comments') && user_access('moderate comments')) {
$return['status']['comment']['label'] = _fasttoggle_get_label('node_comment');
}
break;
case 'user':
// $obj = user
// Get an array with all enabled fast toggle links
$settings = variable_get('fasttoggle_user_settings', array(
'status' => TRUE,
));
$allow_u1 = variable_get('fasttoggle_allow_block_user1', 0);
if (($obj->uid != 1 || $allow_u1) && $settings['status'] && (user_access('administer users') || user_access('moderate users'))) {
$return['status']['status']['label'] = _fasttoggle_get_label('user_status');
}
// Roles
$available_roles = fasttoggle_user_toggleable_roles();
$role_labels = _fasttoggle_get_label('role');
foreach ($available_roles as $roleid => $rolename) {
foreach ($role_labels as $key => $value) {
$labels[$key] = $role_labels[$key] . $rolename;
}
$return['role'][$roleid]['label'] = $labels;
$return['role'][$roleid]['role'] = $rolename;
$return['role'][$roleid]['value_fn'] = 'fasttoggle_get_user_role_option_value';
$return['role'][$roleid]['value_key'] = $roleid;
$return['role'][$roleid]['array_fn'] = 'fasttoggle_get_user_role_array';
}
break;
case 'comment':
// $obj = comment
// Get an array with all enabled fast toggle links
$settings = variable_get('fasttoggle_comment_settings', array(
'status' => TRUE,
));
if ($settings['status'] && user_access('administer comments') && user_access('moderate comments')) {
$return['status']['status']['label'] = _fasttoggle_get_label('comment_status');
}
break;
}
return $return;
}