function fasttoggle_link in Fasttoggle 6
Same name and namespace in other branches
- 5 fasttoggle.module \fasttoggle_link()
- 7 fasttoggle.module \fasttoggle_link()
Implementation of hook_link().
1 call to fasttoggle_link()
- fasttoggle_user in ./
fasttoggle.module - Implementation of hook_user().
File
- ./
fasttoggle.module, line 404 - Enables fast toggling of binary or not so binary settings.
Code
function fasttoggle_link($type, $obj = NULL, $teaser = FALSE) {
$links = array();
$options = fasttoggle_get_options($type, $obj);
if (!empty($options)) {
switch ($type) {
case 'node':
foreach ($options as $group => $flags) {
foreach ($flags as $key => $data) {
$links['fasttoggle_' . $key] = fasttoggle($data['label'][intval($obj->{$key})], 'node/' . $obj->nid . '/toggle/status/' . $key, FASTTOGGLE_FORMAT_LINK_ARRAY, $group . '_' . $key . '_' . $obj->nid, 'fasttoggle-status-node-status-' . $key . '-' . intval($obj->{$key}));
}
}
break;
case 'comment':
fasttoggle_load_comment($obj);
foreach ($options as $group => $flags) {
foreach ($flags as $key => $data) {
$links['fasttoggle_' . $key] = fasttoggle($data['label'][intval($obj->{$key})], 'comment/' . $obj->cid . '/toggle/status/' . $key, FASTTOGGLE_FORMAT_LINK_ARRAY, $group . '_' . $key . '_' . $obj->cid, 'fasttoggle-status-comment-status-' . $key . '-' . (1 - intval($obj->{$key})));
}
}
break;
// User is not one of the standard types for hook_link(). This
// use enables adding of user links to a user profile.
case 'user':
foreach ($options as $group => $flags) {
foreach ($flags as $key => $data) {
if ($group == "role") {
$rolename = $data['role'];
$current_roles = array_flip($obj->roles);
$current_state = isset($current_roles[$rolename]) ? 1 : 0;
$links[$data['value_key']] = fasttoggle($data['label'][$current_state], 'user/' . $obj->uid . '/toggle/role/' . $data['value_key'], FASTTOGGLE_FORMAT_LINK_ARRAY, $group . '_' . $data['value_key'] . '_' . $obj->uid, 'fasttoggle-status-user-role-' . $data['value_key'] . '-' . $current_state);
}
else {
$links['fasttoggle_' . $key] = fasttoggle($data['label'][intval($obj->{$key})], 'user/' . $obj->uid . '/toggle/' . $group . '/' . $key, FASTTOGGLE_FORMAT_LINK_ARRAY, $group . '_' . $key . '_' . $obj->uid, 'fasttoggle-status-user-status-' . $key . '-' . $obj->{$key});
}
}
}
break;
}
}
return $links;
}