2009-07-31 19:35:57 +00:00
< ? php
2010-05-12 09:22:24 +00:00
/**
2012-04-19 15:30:31 +00:00
* @ file
* Functions to support theming in the Seven theme .
*/
/**
* Implements hook_preprocess_HOOK () for maintenance - page . tpl . php .
2010-05-12 09:22:24 +00:00
*/
function seven_preprocess_maintenance_page ( & $vars ) {
// While markup for normal pages is split into page.tpl.php and html.tpl.php,
// the markup for the maintenance page is all in the single
// maintenance-page.tpl.php template. So, to have what's done in
// seven_preprocess_html() also happen on the maintenance page, it has to be
// called here.
seven_preprocess_html ( $vars );
}
2009-07-31 19:35:57 +00:00
/**
2012-04-19 15:30:31 +00:00
* Implements hook_preprocess_HOOK () for html . tpl . php .
2009-07-31 19:35:57 +00:00
*/
2010-02-25 20:57:39 +00:00
function seven_preprocess_html ( & $vars ) {
2010-03-03 19:46:26 +00:00
// Add conditional CSS for IE8 and below.
2011-08-22 02:38:33 +00:00
drupal_add_css ( path_to_theme () . '/ie.css' , array ( 'group' => CSS_THEME , 'browsers' => array ( 'IE' => 'lte IE 8' , '!IE' => FALSE ), 'weight' => 999 , 'preprocess' => FALSE ));
2009-09-15 17:10:39 +00:00
}
2010-02-25 20:57:39 +00:00
/**
2012-04-19 15:30:31 +00:00
* Implements hook_preprocess_HOOK () for page . tpl . php .
2010-02-25 20:57:39 +00:00
*/
2009-07-31 19:35:57 +00:00
function seven_preprocess_page ( & $vars ) {
2010-11-20 04:03:51 +00:00
$vars [ 'primary_local_tasks' ] = $vars [ 'tabs' ];
unset ( $vars [ 'primary_local_tasks' ][ '#secondary' ]);
$vars [ 'secondary_local_tasks' ] = array (
'#theme' => 'menu_local_tasks' ,
'#secondary' => $vars [ 'tabs' ][ '#secondary' ],
);
2009-07-31 19:35:57 +00:00
}
/**
2012-04-19 15:30:31 +00:00
* Displays the list of available node types for node creation .
2009-07-31 19:35:57 +00:00
*/
2009-10-09 01:00:08 +00:00
function seven_node_add_list ( $variables ) {
$content = $variables [ 'content' ];
2009-07-31 19:35:57 +00:00
$output = '' ;
if ( $content ) {
2010-10-03 02:46:12 +00:00
$output = '<ul class="admin-list">' ;
2012-05-14 02:50:42 +00:00
foreach ( $content as $type ) {
2009-07-31 19:35:57 +00:00
$output .= '<li class="clearfix">' ;
2012-05-14 02:50:42 +00:00
$output .= '<span class="label">' . l ( $type -> name , 'node/add/' . $type -> type ) . '</span>' ;
$output .= '<div class="description">' . filter_xss_admin ( $type -> description ) . '</div>' ;
2009-07-31 19:35:57 +00:00
$output .= '</li>' ;
}
$output .= '</ul>' ;
}
2010-10-03 00:09:28 +00:00
else {
$output = '<p>' . t ( 'You have not created any content types yet. Go to the <a href="@create-content">content type creation page</a> to add a new content type.' , array ( '@create-content' => url ( 'admin/structure/types/add' ))) . '</p>' ;
}
2009-07-31 19:35:57 +00:00
return $output ;
}
/**
2010-10-01 15:24:18 +00:00
* Overrides theme_admin_block_content () .
2009-07-31 19:35:57 +00:00
*
2012-04-19 15:30:31 +00:00
* Uses an unordered list markup in both compact and extended mode .
2009-07-31 19:35:57 +00:00
*/
2009-10-09 01:00:08 +00:00
function seven_admin_block_content ( $variables ) {
$content = $variables [ 'content' ];
2009-07-31 19:35:57 +00:00
$output = '' ;
if ( ! empty ( $content )) {
$output = system_admin_compact_mode () ? '<ul class="admin-list compact">' : '<ul class="admin-list">' ;
foreach ( $content as $item ) {
$output .= '<li class="leaf">' ;
$output .= l ( $item [ 'title' ], $item [ 'href' ], $item [ 'localized_options' ]);
2010-10-01 15:24:18 +00:00
if ( isset ( $item [ 'description' ]) && ! system_admin_compact_mode ()) {
2010-03-24 09:26:37 +00:00
$output .= '<div class="description">' . filter_xss_admin ( $item [ 'description' ]) . '</div>' ;
2009-07-31 19:35:57 +00:00
}
$output .= '</li>' ;
}
$output .= '</ul>' ;
}
return $output ;
}
/**
2012-04-19 15:30:31 +00:00
* Overrides theme_tablesort_indicator () .
2009-07-31 19:35:57 +00:00
*
2012-04-19 15:30:31 +00:00
* Uses Seven ' s image versions , so the arrows show up as black and not gray on
* gray .
2009-07-31 19:35:57 +00:00
*/
2009-10-09 01:00:08 +00:00
function seven_tablesort_indicator ( $variables ) {
$style = $variables [ 'style' ];
2009-07-31 19:35:57 +00:00
$theme_path = drupal_get_path ( 'theme' , 'seven' );
2010-04-21 06:55:23 +00:00
if ( $style == 'asc' ) {
2011-11-25 03:09:40 +00:00
return theme ( 'image' , array ( 'uri' => $theme_path . '/images/arrow-asc.png' , 'alt' => t ( 'sort ascending' ), 'width' => 13 , 'height' => 13 , 'title' => t ( 'sort ascending' )));
2009-07-31 19:35:57 +00:00
}
else {
2011-11-25 03:09:40 +00:00
return theme ( 'image' , array ( 'uri' => $theme_path . '/images/arrow-desc.png' , 'alt' => t ( 'sort descending' ), 'width' => 13 , 'height' => 13 , 'title' => t ( 'sort descending' )));
2009-07-31 19:35:57 +00:00
}
}
2009-08-12 11:32:07 +00:00
2010-01-04 03:46:31 +00:00
/**
* Implements hook_css_alter () .
*/
function seven_css_alter ( & $css ) {
// Use Seven's vertical tabs style instead of the default one.
2011-10-31 04:05:57 +00:00
if ( isset ( $css [ 'core/misc/vertical-tabs.css' ])) {
$css [ 'core/misc/vertical-tabs.css' ][ 'data' ] = drupal_get_path ( 'theme' , 'seven' ) . '/vertical-tabs.css' ;
2010-01-04 03:46:31 +00:00
}
2011-10-31 04:05:57 +00:00
if ( isset ( $css [ 'core/misc/vertical-tabs-rtl.css' ])) {
$css [ 'core/misc/vertical-tabs-rtl.css' ][ 'data' ] = drupal_get_path ( 'theme' , 'seven' ) . '/vertical-tabs-rtl.css' ;
2011-01-28 07:17:18 +00:00
}
2010-07-26 13:13:23 +00:00
// Use Seven's jQuery UI theme style instead of the default one.
2012-08-07 10:23:55 +00:00
if ( isset ( $css [ 'core/misc/ui/themes/base/jquery.ui.theme.css' ])) {
$css [ 'core/misc/ui/themes/base/jquery.ui.theme.css' ][ 'data' ] = drupal_get_path ( 'theme' , 'seven' ) . '/jquery.ui.theme.css' ;
2010-07-26 13:13:23 +00:00
}
2010-01-04 03:46:31 +00:00
}