<?php
// $Id: template.php,v 1.3 2008/09/26 0829 Exp $
/**
* Get theme setting values.
*/
if (is_null(theme_get_setting('diykit_skin'))) {
global $theme_key;
$themes = list_themes();
$defaults = $themes[$theme_key]->info['settings'];
$settings = theme_get_settings($theme_key);
if (module_exists('node')) {
foreach (node_get_types() as $type => $name) {
unset($settings['toggle_node_info_' . $type]);
}
}
variable_set(
str_replace('/', '_', 'theme_'. $theme_key .'_settings'),
array_merge($defaults, $settings)
);
theme_get_setting('', TRUE);
}
/**
* Override or insert PHPTemplate variables into the page.tpl.php.
*/
function phptemplate_preprocess_page(&$vars) {
global $theme;
// $xml
$user_agent = getenv('HTTP_USER_AGENT');
if (!(strpos($user_agent, 'Windows') !== FALSE && strpos($user_agent, 'MSIE 6') !== FALSE)) {
$vars['xml'] = '<?xml version="1.0" encoding="utf-8"?>'. "\n";
}
// $css, $styles, $iefix
$skin = theme_get_setting($theme . '_skin');
$iefix = $vars['directory'] . '/css/ie-fix.css';
$vars['iefix'] = '';
if (file_exists($iefix)) {
$vars['iefix'] .= '<!--[if IE]><link type="text/css" rel="stylesheet" media="all" href="' . base_path() . $iefix . '" /><![endif]-->' . "\n";
}
if ($skin == 'default') {
$css = $vars['directory'] . '/css/skin.css';
if (file_exists($css)) {
drupal_add_css($css, 'theme', 'all');
}
}
else if ($skin) {
$css = $vars['directory'] . '/skin/' . $skin . '/skin.css';
$skin_iefix = $vars['directory'] . '/skin/' . $skin . '/ie-fix.css';
if (file_exists($css)) {
drupal_add_css($css, 'theme', 'all');
}
if (file_exists($skin_iefix)) {
$vars['iefix'] .= '<!--[if IE]><link type="text/css" rel="stylesheet" media="all" href="' . base_path() . $skin_iefix . '" /><![endif]-->' . "\n";
}
}
$vars['css'] = drupal_add_css();
$vars['styles'] = drupal_get_css();
// $body_classes
$body_classes = array($vars['body_classes']);
$layout = theme_get_setting($theme . '_layout');
$column = theme_get_setting($theme . '_column');
if ($layout) { $body_classes[] = $layout; }
if ($column) { $body_classes[] = $column; }
$vars['body_classes'] = implode(' ', $body_classes);
}
/**
* Override or insert PHPTemplate variables into the node.tpl.php.
*/
function phptemplate_preprocess_node(&$vars) {
// $node_classes
$node_classes[] = 'node';
if ($vars['teaser']) {
$node_classes[] = 'teaser';
$node_classes[] = $vars['zebra'];
}
if ($vars['page']) {
$node_classes[] = 'page';
}
if ($vars['sticky']) {
$node_classes[] = 'sticky';
}
if (!$vars['status']) {
$node_classes[] = 'node-unpublished';
}
$vars['node_classes'] = implode(' ', $node_classes);
// $content_body_top, $content_body_bottom
if ($vars['page']) {
$vars['content_body_top'] = theme('blocks', 'content_body_top');
$vars['content_body_bottom'] = theme('blocks', 'content_body_bottom');
}
}
/**
* Override or insert PHPTemplate variables into the comment-wrapper.tpl.php.
*/
function phptemplate_preprocess_comment_wrapper(&$vars) {
// $comments_title
if ($vars['content'] && $vars['node']->type != 'forum') {
$vars['comments_title'] = t('Comments');
}
}
/**
* Override or insert PHPTemplate variables into the comment.tpl.php.
*/
function phptemplate_preprocess_comment(&$vars) {
global $user;
// $comment_classes
$comment_classes[] = 'comment';
if ($vars['comment']->new) {
$comment_classes[] = 'comment-new';
}
if ($vars['comment']->status == COMMENT_NOT_PUBLISHED) {
$comment_classes[] = 'comment-unpublished';
}
if ($vars['comment']->uid == $vars['node']->uid) {
$comment_classes[] = 'comment-by-author';
}
if ($user->uid && $vars['comment']->uid == $user->uid) {
$comment_classes[] = 'comment-mine';
}
if ($vars['comment']->uid) {
$comment_classes[] = 'comment-uid-' . $vars['comment']->uid;
}
$comment_classes[] = $vars['zebra'];
$vars['comment_classes'] = implode(' ', $comment_classes);
}
/**
* Override or insert PHPTemplate variables into the block.tpl.php.
*/
function phptemplate_preprocess_block(&$vars) {
// $block_classes
$block_classes[] = 'block';
$block_classes[] = 'block-' . $vars['block']->module;
$block_classes[] = $vars['zebra'];
$block_classes[] = $vars['block']->region . '-' . $vars['block_zebra'];
$block_classes[] = $vars['block']->region . '-' . $vars['block_id'];
$vars['block_classes'] = implode(' ', $block_classes);
}
/**
* Override theme functions.
*/
function phptemplate_links($links, $attributes = array('class' => 'links')) {
$output = '';
if (count($links) > 0) {
$output = '<ul' . drupal_attributes($attributes) . '>';
$num_links = count($links);
$i = 1;
foreach ($links as $key => $link) {
$class = $key;
if ($i == 1) {
$class .= ' first';
}
if ($i == $num_links) {
$class .= ' last';
}
if (isset($link['href']) && ($link['href'] == $_GET['q'] || ($link['href'] == '<front>' && drupal_is_front_page()))) {
$class .= ' active';
}
$output .= '<li class="'. $class . '">';
if (isset($link['href'])) {
$link['html'] = TRUE;
$output .= l('<span>' . $link['title'] . '</span>', $link['href'], $link);
}
else if (!empty($link['title'])) {
if (empty($link['html'])) {
$link['title'] = check_plain($link['title']);
}
$span_attributes = '';
if (isset($link['attributes'])) {
$span_attributes = drupal_attributes($link['attributes']);
}
$output .= '<span' . $span_attributes . '>' . $link['title'] . '</span>';
}
$i++;
$output .= "</li>\n";
}
$output .= '</ul>';
}
return $output;
}
function phptemplate_breadcrumb($breadcrumb) {
if (!empty($breadcrumb)) {
return '<div class="breadcrumb">' . implode('<span class="breadcrumb-separate"> » </span>', $breadcrumb) . '</div>';
}
}
function phptemplate_feed_icon($url, $title) {
global $theme;
$skin = theme_get_setting($theme . '_skin');
if ($skin && $skin != 'default') {
$path = path_to_theme() . '/skin/' . $skin . '/images/feed.png';
if (!is_file($path)) {
$path = path_to_theme() . '/images/feed.png';
}
}
else {
$path = path_to_theme() . '/images/feed.png';
}
if (!is_file($path)) {
$path = 'misc/feed.png';
}
if ($image = theme('image', $path, t('Syndicate content'), t('Syndicate content'), $title)) {
return '<a href="' . check_url($url) . '" class="feed-icon">' . $image . '</a>';
}
}
function phptemplate_mark($type = MARK_NEW) {
global $user;
if ($user->uid) {
if ($type == MARK_NEW) {
return ' <span class="marker marker-new">' . t('new') . '</span>';
}
else if ($type == MARK_UPDATED) {
return ' <span class="marker marker-update">' . t('updated') . '</span>';
}
}
}
// $Id: template.php,v 1.3 2008/09/26 0829 Exp $
/**
* Get theme setting values.
*/
if (is_null(theme_get_setting('diykit_skin'))) {
global $theme_key;
$themes = list_themes();
$defaults = $themes[$theme_key]->info['settings'];
$settings = theme_get_settings($theme_key);
if (module_exists('node')) {
foreach (node_get_types() as $type => $name) {
unset($settings['toggle_node_info_' . $type]);
}
}
variable_set(
str_replace('/', '_', 'theme_'. $theme_key .'_settings'),
array_merge($defaults, $settings)
);
theme_get_setting('', TRUE);
}
/**
* Override or insert PHPTemplate variables into the page.tpl.php.
*/
function phptemplate_preprocess_page(&$vars) {
global $theme;
// $xml
$user_agent = getenv('HTTP_USER_AGENT');
if (!(strpos($user_agent, 'Windows') !== FALSE && strpos($user_agent, 'MSIE 6') !== FALSE)) {
$vars['xml'] = '<?xml version="1.0" encoding="utf-8"?>'. "\n";
}
// $css, $styles, $iefix
$skin = theme_get_setting($theme . '_skin');
$iefix = $vars['directory'] . '/css/ie-fix.css';
$vars['iefix'] = '';
if (file_exists($iefix)) {
$vars['iefix'] .= '<!--[if IE]><link type="text/css" rel="stylesheet" media="all" href="' . base_path() . $iefix . '" /><![endif]-->' . "\n";
}
if ($skin == 'default') {
$css = $vars['directory'] . '/css/skin.css';
if (file_exists($css)) {
drupal_add_css($css, 'theme', 'all');
}
}
else if ($skin) {
$css = $vars['directory'] . '/skin/' . $skin . '/skin.css';
$skin_iefix = $vars['directory'] . '/skin/' . $skin . '/ie-fix.css';
if (file_exists($css)) {
drupal_add_css($css, 'theme', 'all');
}
if (file_exists($skin_iefix)) {
$vars['iefix'] .= '<!--[if IE]><link type="text/css" rel="stylesheet" media="all" href="' . base_path() . $skin_iefix . '" /><![endif]-->' . "\n";
}
}
$vars['css'] = drupal_add_css();
$vars['styles'] = drupal_get_css();
// $body_classes
$body_classes = array($vars['body_classes']);
$layout = theme_get_setting($theme . '_layout');
$column = theme_get_setting($theme . '_column');
if ($layout) { $body_classes[] = $layout; }
if ($column) { $body_classes[] = $column; }
$vars['body_classes'] = implode(' ', $body_classes);
}
/**
* Override or insert PHPTemplate variables into the node.tpl.php.
*/
function phptemplate_preprocess_node(&$vars) {
// $node_classes
$node_classes[] = 'node';
if ($vars['teaser']) {
$node_classes[] = 'teaser';
$node_classes[] = $vars['zebra'];
}
if ($vars['page']) {
$node_classes[] = 'page';
}
if ($vars['sticky']) {
$node_classes[] = 'sticky';
}
if (!$vars['status']) {
$node_classes[] = 'node-unpublished';
}
$vars['node_classes'] = implode(' ', $node_classes);
// $content_body_top, $content_body_bottom
if ($vars['page']) {
$vars['content_body_top'] = theme('blocks', 'content_body_top');
$vars['content_body_bottom'] = theme('blocks', 'content_body_bottom');
}
}
/**
* Override or insert PHPTemplate variables into the comment-wrapper.tpl.php.
*/
function phptemplate_preprocess_comment_wrapper(&$vars) {
// $comments_title
if ($vars['content'] && $vars['node']->type != 'forum') {
$vars['comments_title'] = t('Comments');
}
}
/**
* Override or insert PHPTemplate variables into the comment.tpl.php.
*/
function phptemplate_preprocess_comment(&$vars) {
global $user;
// $comment_classes
$comment_classes[] = 'comment';
if ($vars['comment']->new) {
$comment_classes[] = 'comment-new';
}
if ($vars['comment']->status == COMMENT_NOT_PUBLISHED) {
$comment_classes[] = 'comment-unpublished';
}
if ($vars['comment']->uid == $vars['node']->uid) {
$comment_classes[] = 'comment-by-author';
}
if ($user->uid && $vars['comment']->uid == $user->uid) {
$comment_classes[] = 'comment-mine';
}
if ($vars['comment']->uid) {
$comment_classes[] = 'comment-uid-' . $vars['comment']->uid;
}
$comment_classes[] = $vars['zebra'];
$vars['comment_classes'] = implode(' ', $comment_classes);
}
/**
* Override or insert PHPTemplate variables into the block.tpl.php.
*/
function phptemplate_preprocess_block(&$vars) {
// $block_classes
$block_classes[] = 'block';
$block_classes[] = 'block-' . $vars['block']->module;
$block_classes[] = $vars['zebra'];
$block_classes[] = $vars['block']->region . '-' . $vars['block_zebra'];
$block_classes[] = $vars['block']->region . '-' . $vars['block_id'];
$vars['block_classes'] = implode(' ', $block_classes);
}
/**
* Override theme functions.
*/
function phptemplate_links($links, $attributes = array('class' => 'links')) {
$output = '';
if (count($links) > 0) {
$output = '<ul' . drupal_attributes($attributes) . '>';
$num_links = count($links);
$i = 1;
foreach ($links as $key => $link) {
$class = $key;
if ($i == 1) {
$class .= ' first';
}
if ($i == $num_links) {
$class .= ' last';
}
if (isset($link['href']) && ($link['href'] == $_GET['q'] || ($link['href'] == '<front>' && drupal_is_front_page()))) {
$class .= ' active';
}
$output .= '<li class="'. $class . '">';
if (isset($link['href'])) {
$link['html'] = TRUE;
$output .= l('<span>' . $link['title'] . '</span>', $link['href'], $link);
}
else if (!empty($link['title'])) {
if (empty($link['html'])) {
$link['title'] = check_plain($link['title']);
}
$span_attributes = '';
if (isset($link['attributes'])) {
$span_attributes = drupal_attributes($link['attributes']);
}
$output .= '<span' . $span_attributes . '>' . $link['title'] . '</span>';
}
$i++;
$output .= "</li>\n";
}
$output .= '</ul>';
}
return $output;
}
function phptemplate_breadcrumb($breadcrumb) {
if (!empty($breadcrumb)) {
return '<div class="breadcrumb">' . implode('<span class="breadcrumb-separate"> » </span>', $breadcrumb) . '</div>';
}
}
function phptemplate_feed_icon($url, $title) {
global $theme;
$skin = theme_get_setting($theme . '_skin');
if ($skin && $skin != 'default') {
$path = path_to_theme() . '/skin/' . $skin . '/images/feed.png';
if (!is_file($path)) {
$path = path_to_theme() . '/images/feed.png';
}
}
else {
$path = path_to_theme() . '/images/feed.png';
}
if (!is_file($path)) {
$path = 'misc/feed.png';
}
if ($image = theme('image', $path, t('Syndicate content'), t('Syndicate content'), $title)) {
return '<a href="' . check_url($url) . '" class="feed-icon">' . $image . '</a>';
}
}
function phptemplate_mark($type = MARK_NEW) {
global $user;
if ($user->uid) {
if ($type == MARK_NEW) {
return ' <span class="marker marker-new">' . t('new') . '</span>';
}
else if ($type == MARK_UPDATED) {
return ' <span class="marker marker-update">' . t('updated') . '</span>';
}
}
}

