function theme_certificate_certificate in Certificate 3.x
Same name and namespace in other branches
- 8.3 certificate.pages.inc \theme_certificate_certificate()
- 6.2 certificate.pages.inc \theme_certificate_certificate()
- 6 certificate.pages.inc \theme_certificate_certificate()
- 7.3 certificate.pages.inc \theme_certificate_certificate()
- 7.2 certificate.pages.inc \theme_certificate_certificate()
Theme a single certificate.
Does token replace (new style [], and old style %)
Parameters
$account: The user account being viewed.
Return value
The certificate HTML with all tokens translated.
2 theme calls to theme_certificate_certificate()
- certificate_preview in ./
certificate.pages.inc - Preview certificate template as PDF.
- certificate_single in ./
certificate.pages.inc - Generate a single certificate.
File
- ./
certificate.pages.inc, line 197 - certificate.pages.inc Functions for generating certificates.
Code
function theme_certificate_certificate($variables) {
$node = $variables['node'];
$account = $variables['account'];
$template = $variables['template'];
$types = array(
'global' => NULL,
'node' => $node,
'user' => $account,
);
$field_items = field_get_items('node', $template, 'body');
$body = $field_items[0]['value'];
// Invoke hook_certificate_body_alter() to allow all modules to alter the template body.
drupal_alter('certificate_body', $body, $account, $node);
if (module_exists('token')) {
if (module_exists('purl')) {
purl_disable(TRUE);
}
// Clear out un-replaced tokens and use a custom callback, so that we can
// have HTML tokens render in the PDF. We probably do not need to sanitize
// here as the output is PDF, but it doesn't hurt.
$options = array();
$options['clear'] = TRUE;
$options['sanitize'] = FALSE;
$options['callback'] = '_certificate_sanitize_tokens';
$body = token_replace($body, $types, $options);
}
$format = $field_items[0]['format'];
$body = check_markup($body, $format);
return $body;
}