<?php /** * ***************************************************************************** * Copyright (c) 2016 Eclipse Foundation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Christopher Guindon (Eclipse Foundation) - Initial implementation * ***************************************************************************** */ require_once ('solstice.class.php'); class Quicksilver extends solstice { /** * Constructor */ public function __construct($App = NULL) { parent::__construct($App); $this->setTheme('quicksilver'); $this->resetAttributes('header-left'); $this->resetAttributes('main-menu-wrapper'); $this->resetAttributes('header-right'); $this->resetAttributes('main-sidebar'); $this->setAttributes('header-left', 'col-sm-5 col-md-4'); $this->setAttributes('main-menu-wrapper', 'col-sm-19 col-md-20 margin-top-10'); $this->setAttributes('main-menu-wrapper-no-header-right', 'col-sm-24 col-md-19 reset margin-top-10'); $this->removeAttributes('main', 'no-promo'); $this->setAttributes('breadcrumbs', 'breadcrumbs-default-margin'); $this->setAlternateLayout(); $this->removeAttributes('img_logo_default', 'img-responsive', 'class'); $this->setAttributes('img_logo_default', '160', 'width'); $this->setAttributes('img_logo_mobile', '160', 'width'); // Featured footer $this->setAttributes('featured-footer', 'featured-footer featured-footer-newsletter'); // Set attributes on main sidebar $this->setAttributes('main-sidebar', 'main-sidebar-default-margin'); $this->setAttributes('btn-call-for-action', 'float-right hidden-xs'); $this->setAttributes('main-menu', 'float-sm-right'); $this->removeAttributes('navbar-main-menu', 'reset'); } public function setAlternateLayout($enable = FALSE) { $image_path = '//www.eclipse.org' . $this->getThemeUrl('solstice') . 'public/images/logo/'; $default_logo = 'eclipse-foundation-white-orange.svg'; if ($enable) { $default_logo = 'eclipse-foundation-grey-orange.svg'; $this->setAttributes('body', 'alternate-layout'); } else { $this->removeAttributes('body', 'alternate-layout'); } // Set default images $this->setAttributes('img_logo_default', $image_path . $default_logo, 'src'); $this->setAttributes('img_logo_eclipse_default', $image_path . $default_logo, 'src'); $this->setAttributes('img_logo_eclipse_white', $image_path . 'eclipse-foundation-white.svg', 'src'); $this->setAttributes('img_logo_mobile', $image_path . $default_logo, 'src'); } /** * Implement BaseTheme::_getHeaderRight(); * * Hide headerRight div if empty * * {@inheritDoc} * @see BaseTheme::getHeaderRight() */ public function getHeaderRight(){ return ""; } /** * Implement BaseTheme::getHeaderLeft(); * * Reset header left classes for thin layout * * {@inheritDoc} * @see BaseTheme::getHeaderLeft() */ public function getHeaderLeft(){ $layout_types = array( 'thin', 'thin-header', 'thin-with-footer-min' ); $cfa_button = $this->getCfaButton(); if (in_array($this->getLayout(), $layout_types) && (!$this->getDisplayHeaderRight() || empty($cfa_button))) { $this->resetAttributes('header-left', 'class'); $this->setAttributes('header-left', 'col-sm-5 col-md-4'); } return <<<EOHTML <div{$this->getAttributes('header-left')}> {$this->getLogo('default', TRUE)} </div> EOHTML; } /** * Get Menu Prefix * * @return string */ public function getMainMenuPrefix() { return $this->getCfaButton(); } /** * Get Menu Suffix * * @return string */ public function getMenuSuffix(){ $suffix_items = array(); $google_search = $this->getGoogleSearch(); if (!empty($google_search)) { $suffix_items[] = <<<EOHTML <li class="dropdown eclipse-more main-menu-search"> <a data-toggle="dropdown" class="dropdown-toggle" role="button"><i class="fa fa-search"></i> <b class="caret"></b></a> <ul class="dropdown-menu"> <li> <!-- Content container to add padding --> <div class="yamm-content"> <div class="row"> <div class="col-sm-24"> <p>Search</p> {$this->getGoogleSearch()} </div> </div> </div> </li> </ul> </li> EOHTML; } return implode('',$suffix_items); } /** * Implement BaseTheme::getFooterPrexfix() * * {@inheritDoc} * @see BaseTheme::getFooterPrexfix() */ public function getFooterPrexfix() { return $this->getFeaturedStoryFooter(); } }