function og_theme in Organic groups 5
Same name and namespace in other branches
- 8 og.module \og_theme()
- 5.8 og.module \og_theme()
- 5.2 og.module \og_theme()
- 5.3 og.module \og_theme()
- 5.7 og.module \og_theme()
- 6.2 og.module \og_theme()
- 6 og.module \og_theme()
Override theme based on what group is being displayed (if any). Be smart about selecting the 'active' group for ambigous urls like node/$nid
Parameters
none:
Return value
none
1 call to og_theme()
File
- ./
og.module, line 208
Code
function og_theme() {
global $custom_theme;
$group_node = NULL;
// a node object containing the 'active' group for this request
if (arg(0) == 'og' && is_numeric(arg(2))) {
$group_node = og_set_theme(arg(2));
}
elseif (arg(0) == 'node' && is_numeric(arg(1))) {
$group_node = og_set_theme(arg(1));
}
elseif (arg(0) == 'node' && arg(1) == 'add' && arg(2) == 'book' && arg(3) == 'parent') {
$group_node = og_set_theme(arg(4));
$_REQUEST['edit']['og_groups'][] = $group_node->nid;
// checks the right box on node form
}
elseif (arg(0) == 'node' && arg(1) == 'add' && isset($_REQUEST['gids'])) {
$gid = intval(current($_REQUEST['gids']));
$group_node = node_load($gid);
$custom_theme = $group_node->og_theme;
}
elseif (arg(0) == 'comment' && in_array(arg(1), array(
'edit',
'delete',
)) && is_numeric(arg(2))) {
$nid = db_result(db_query('SELECT nid FROM {comments} WHERE cid = %d', arg(2)));
$group_node = og_set_theme($nid);
}
elseif (arg(0) == 'comment' && is_numeric(arg(2))) {
// comment/reply/cid/nid URL pattern.
$group_node = og_set_theme(arg(2));
}
og_set_group_context($group_node);
}