Newer
Older
function unl_wdn_get_instance()
static $instance;
if (!$instance) {
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/lib');
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;
function unl_wdn_head_title()
{
// Based on
// http://api.drupal.org/api/function/menu_get_active_breadcrumb/5
// We don't have to add the current page, as drupal normally drops it
$path[] = 'Home';
// $trail = _menu_get_active_trail();
$trail = array();
foreach ($trail as $mid) {
$item = menu_get_item($mid);
if ($item['type'] & MENU_VISIBLE_IN_BREADCRUMB) {
$path[] = $item['title'];
}
}
// Change 'Home' to be $site_name
array_unshift($path, str_replace( 'Home', unl_get_site_name_abbreviated(), array_shift($path)));
//Prepend UNL
array_unshift($path, 'UNL');
if (!drupal_is_front_page()) {
$path[] = drupal_get_title();
}
return implode(' | ', $path);
}
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
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');
}
}