function template_preprocess_contactinfo in Contact Info 7
Theme preprocess function for the contact information block.
Parameters
array $variables: Template variables as defined by contactinfo_theme(). $variable['contactinfo'] is equivalent to contactinfo_get_contactinfo().
See also
File
- ./
contactinfo.module, line 93 - Collects contact information and displays it in an hCard block.
Code
function template_preprocess_contactinfo(array &$variables) {
drupal_add_css(drupal_get_path('module', 'contactinfo') . '/css/contactinfo.css');
// Build $variables from scratch.
$contactinfo = $variables['contactinfo'];
$variables['type'] = $contactinfo['type'];
$variables['given_name'] = check_plain($contactinfo['fn_n']['given-name']);
$variables['family_name'] = check_plain($contactinfo['fn_n']['family-name']);
$variables['org'] = $contactinfo['use_site_name'] ? check_plain(variable_get('site_name', '')) : check_plain($contactinfo['org']);
$variables['street_address'] = check_plain($contactinfo['adr']['street-address']);
$variables['extended_address'] = check_plain($contactinfo['adr']['extended-address']);
$variables['locality'] = check_plain($contactinfo['adr']['locality']);
$variables['region'] = check_plain($contactinfo['adr']['region']);
$variables['postal_code'] = check_plain($contactinfo['adr']['postal-code']);
$variables['country'] = check_plain($contactinfo['adr']['country-name']);
$variables['longitude'] = check_plain($contactinfo['location']['longitude']);
$variables['latitude'] = check_plain($contactinfo['location']['latitude']);
$variables['tagline'] = $contactinfo['use_site_slogan'] ? check_plain(variable_get('site_slogan', '')) : check_plain($contactinfo['tagline']);
// Generate formatted longitude and latitude.
$variables['longitude_formatted'] = contactinfo_coord_convert($variables['longitude'], 'longitude');
$variables['latitude_formatted'] = contactinfo_coord_convert($variables['latitude'], 'latitude');
// Generates the output for the 'phones' variable.
if ($contactinfo['phone']['voice']) {
$phone_text = check_plain($contactinfo['phone']['voice']);
$phones = explode(',', $phone_text);
$variables['phones'] = array_map('trim', $phones);
}
// Generates the output for the 'faxes' variable.
if ($contactinfo['phone']['fax']) {
$fax_text = check_plain($contactinfo['phone']['fax']);
$faxes = explode(',', $fax_text);
$variables['faxes'] = array_map('trim', $faxes);
}
// Generate the output for the 'email' variable.
if ($contactinfo['email']) {
$email = check_plain($contactinfo['email']);
// Use obfuscation provided by invisimail module.
if (function_exists('invisimail_encode_html')) {
$variables['email'] = invisimail_encode_html($email);
$variables['email_url'] = INVISIMAIL_MAILTO_ASCII . $variables['email'];
}
else {
$variables['email'] = $email;
$variables['email_url'] = 'mailto:' . $email;
}
}
// Generate ID.
$id = 'contactinfo';
if ($contactinfo['type'] == 'personal') {
$id .= !empty($contactinfo['fn_n']['given-name']) ? '-' . check_plain($contactinfo['fn_n']['given-name']) : '';
$id .= !empty($contactinfo['fn_n']['family-name']) ? '-' . check_plain($contactinfo['fn_n']['family-name']) : '';
}
else {
$id .= !empty($contactinfo['org']) ? '-' . check_plain($contactinfo['org']) : '';
}
$variables['id'] = drupal_html_id($id);
}