themekey.og_context.inc in ThemeKey 7.3
Same filename and directory in other branches
Provides some og attributes as ThemeKey properties.
@author Markus Kalkbrenner | bio.logis GmbH
@author daggerhart
File
modules/themekey.og_context.incView source
<?php
/**
* @file
* Provides some og attributes as ThemeKey properties.
*
* @author Markus Kalkbrenner | bio.logis GmbH
* @see http://drupal.org/user/124705
*
* @author daggerhart
* @see http://drupal.org/user/167806
*/
/**
* Implements hook_themekey_properties().
*
* Provides additional properties for module ThemeKey:
* - group:id
* - group:type
*
* @return
* array of themekey properties and mapping functions
*/
function themekey_og_context_themekey_properties() {
// Attributes for properties
$attributes = array();
$attributes['group:id'] = array(
'description' => t('Group: ID - The og group ID'),
'validator' => 'themekey_validator_ctype_digit',
'page cache' => THEMEKEY_PAGECACHE_SUPPORTED,
);
$attributes['group:type'] = array(
'description' => t('Group: Type - The type of an og group'),
'validator' => 'themekey_validator_og_group_type',
'page cache' => THEMEKEY_PAGECACHE_SUPPORTED,
);
// Mapping functions
$maps = array();
$maps[] = array(
'src' => 'node:nid',
'dst' => 'group:id',
'callback' => 'themekey_og_context_nid2gid',
);
$maps[] = array(
'src' => 'node:nid',
'dst' => 'group:type',
'callback' => 'themekey_og_context_nid2type',
);
return array(
'attributes' => $attributes,
'maps' => $maps,
);
}
/**
* Implements hook_themekey_paths().
*/
function themekey_og_context_themekey_paths() {
$paths = array();
$paths[] = array(
'path' => 'group/%group:type/#group:id',
);
return $paths;
}
/**
* ThemeKey mapping function to set a
* ThemeKey property's value (destination)
* with the aid of another ThemeKey property (source).
*
* src: node:nid
* dst: group:id
*
* @param $nid
* a node id
*
* @return
* int
* or NULL if no value could be mapped
*/
function themekey_og_context_nid2gid($nid) {
// look for group info from context
if ($group = og_context()) {
return $group['gid'];
}
return NULL;
}
/**
* ThemeKey mapping function to set a
* ThemeKey property's value (destination)
* with the aid of another ThemeKey property (source).
*
* src: node:nid
* dst: group:type
*
* @param $nid
* a node id
*
* @return
* string
* or NULL if no value could be mapped
*/
function themekey_og_context_nid2type($nid) {
// look for group info from context
if ($group = og_context()) {
return $group['group_type'];
}
return NULL;
}
Functions
Name | Description |
---|---|
themekey_og_context_nid2gid | ThemeKey mapping function to set a ThemeKey property's value (destination) with the aid of another ThemeKey property (source). |
themekey_og_context_nid2type | ThemeKey mapping function to set a ThemeKey property's value (destination) with the aid of another ThemeKey property (source). |
themekey_og_context_themekey_paths | Implements hook_themekey_paths(). |
themekey_og_context_themekey_properties | Implements hook_themekey_properties(). |