Newer
Older
Eric Rasmussen
committed
function unl_wdn_preprocess_html(&$vars, $hook)
{
/**
* Change the <title> tag to UNL format: UNL | Department | Section | Page
*/
$head_title[] = 'Home';
$trail = menu_get_active_trail();
foreach ($trail as $item) {
if ($item['type'] & MENU_VISIBLE_IN_BREADCRUMB) {
if (isset($item['title']) && !empty($item['title'])) {
$head_title[] = $item['title'];
}
if (isset($item['page_arguments'],
$item['page_arguments'][0],
$item['page_arguments'][0]->title)) {
$head_title[] = $item['page_arguments'][0]->title;
}
Eric Rasmussen
committed
}
}
// Change 'Home' to be $site_name
array_unshift($head_title, str_replace( 'Home', variable_get('site_name', 'Department'), array_shift($head_title)));
//Prepend UNL
array_unshift($head_title, 'UNL');
$vars['head_title'] = implode(' | ', $head_title);
}
function unl_wdn_get_instance()
static $instance;
if (!$instance) {
Brett T Bieber
committed
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/lib/php');
require_once "UNL/Templates.php";
UNL_Templates::$options['version'] = UNL_Templates::VERSION3;
if (theme_get_setting('toggle_main_menu')) {
$instance = UNL_Templates::factory('Fixed');
} else {
$instance = UNL_Templates::factory('Document');
}
return $instance;
Eric Rasmussen
committed
}
require_once dirname(__FILE__) . '/includes/form.inc';
Eric Rasmussen
committed
function unl_wdn_breadcrumb($variables)
{
$breadcrumbs = $variables['breadcrumb'];
$breadcrumbs[] = '<a href="">' . unl_get_site_name_abbreviated() . '</a>';
} else {
//Change 'Home' to be $site_name
array_unshift($breadcrumbs,
str_replace('Home', unl_get_site_name_abbreviated(),
//Add the intermediate breadcrumb if it exists
$intermediateBreadcrumbText = theme_get_setting('intermediate_breadcrumb_text');
$intermediateBreadcrumbHref = theme_get_setting('intermediate_breadcrumb_href');
if ($intermediateBreadcrumbText && $intermediateBreadcrumbHref) {
array_unshift($breadcrumbs, '<a href="' . $intermediateBreadcrumbHref . '">' . $intermediateBreadcrumbText . '</a>');
}
Eric Rasmussen
committed
//Prepend UNL
array_unshift($breadcrumbs, '<a href="http://www.unl.edu/">UNL</a>');
//Append title of current page -- http://drupal.org/node/133242
if (!drupal_is_front_page()) {
$breadcrumbs[] = drupal_get_title();
}
Eric Rasmussen
committed
$html = '<ul>' . PHP_EOL;
foreach ($breadcrumbs as $breadcrumb) {
$html .= '<li>' . $breadcrumb . '</li>';
}
$html .= '</ul>';
return $html;
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
}
function unl_wdn_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL)
{
if ($extra_class) {
return '<li class="' . $extra_class . '">' . $link . $menu . '</li>' . "\n";
} else {
return '<li>' . $link . $menu . '</li>' . PHP_EOL;
}
}
function unl_wdn_menu_tree($variables)
{
$tree = $variables['tree'];
return '<ul>' . $tree . '</ul>' . PHP_EOL;
}
function unl_wdn_menu_local_tasks()
{
$output = array();
if ($primary = menu_primary_local_tasks()) {
$primary['#prefix'] = '<ul class="wdn_tabs disableSwitching">';
$primary['#suffix'] = '</ul>';
$output[] = $primary;
}
if ($secondary = menu_secondary_local_tasks()) {
$secondary['#prefix'] = '<ul class="wdn_tabs disableSwitching">';
$secondary['#suffix'] = '</ul>';
$output[] = $secondary;
}
return $output;
}
function unl_wdn_menu_local_task($variables)
{
$link = $variables['element']['#link'];
$link_text = $link['title'];
if (!empty($variables['element']['#active'])) {
// If the link does not contain HTML already, check_plain() it now.
// After we set 'html'=TRUE the link will not be sanitized by l().
if (empty($link['localized_options']['html'])) {
$link['title'] = check_plain($link['title']);
}
$link['localized_options']['html'] = TRUE;
$link_text = t('!local-task-title !active', array('!local-task-title' => $link['title'], '!active' => ''));
}
return '<li' . (!empty($variables['element']['#active']) ? ' class="selected"' : '') . '>' . l($link_text, $link['href'], $link['localized_options']) . "</li>\n";
}
function unl_wdn_status_messages($variables)
$display = $variables['display'];
foreach (drupal_get_messages($display) as $type => $messages) {
$type = ucfirst($type);
$output .= <<<EOF
<div class="wdn_notice">
<div class="close">
<a href="#" title="Close this notice">Close this notice</a>
</div>
<div class="message">
<h3>$type</h3>
if (count($messages) > 1) {
$output .= '<ul>' . PHP_EOL;
foreach ($messages as $message) {
$output .= '<li>' . $message . '</li>' . PHP_EOL;
}
$output .= '</ul>' . PHP_EOL;
} else {
$output .= $messages[0];
}
$output .= <<<EOF
</div>
</div>
EOF;
}
if (!$output) {
return '';
$output = <<<EOF
<script type="text/javascript">
WDN.initializePlugin('notice');
</script>
$output
EOF;
/**
* Return the abbreviated site name, assuming it has been set and we're not on the front page.
* Otherwise, it returns the full site name.
*/
function unl_get_site_name_abbreviated()
{
if (!drupal_is_front_page() && theme_get_setting('site_name_abbreviation')) {
return theme_get_setting('site_name_abbreviation');
} else {
return variable_get('site_name', 'Department');
}
}