. */ namespace Fisharebest\Webtrees\Theme; use Fisharebest\Webtrees\I18N; use Fisharebest\Webtrees\Menu; use Fisharebest\Webtrees\Theme; /** * The clouds theme. */ class CloudsTheme extends AbstractTheme implements ThemeInterface { /** * Where are our CSS, JS and other assets? * * @return string A relative path, such as "themes/foo/" */ public function assetUrl() { return 'themes/clouds/css-1.7.8/'; } /** * Add markup to a flash message. * * @param \stdClass $message * * @return string */ protected function flashMessageContainer(\stdClass $message) { // This theme uses jQueryUI markup. switch ($message->status) { case 'danger': return '

' . $message->text . '

'; default: return '

' . $message->text . '

'; } } /** * Format the contents of a variable-height home-page block. * * @param string $id * @param string $title * @param string $class * @param string $content * * @return string */ public function formatBlock($id, $title, $class, $content) { return '
' . '
' . '
' . $title . '
' . '
' . '
' . $content . '
' . '
'; } /** * Create a search field and submit button for the quick search form in the header. * * @return string */ protected function formQuickSearchFields() { return '' . ''; } /** * Allow themes to add extra scripts to the page footer. * * @return string */ public function hookFooterExtraJavascript() { return '' . '' . ''; } /** * Misecellaneous dimensions, fonts, styles, etc. * * @param string $parameter_name * * @return string|int|float */ public function parameter($parameter_name) { $parameters = array( 'chart-background-f' => 'e9daf1', 'chart-background-m' => 'b1cff0', 'chart-spacing-x' => 4, 'distribution-chart-high-values' => '95b8e0', 'distribution-chart-low-values' => 'c8e7ff', ); if (array_key_exists($parameter_name, $parameters)) { return $parameters[$parameter_name]; } else { return parent::parameter($parameter_name); } } /** * Create the primary menu. * * @param Menu[] $menus * * @return string */ protected function primaryMenuContent(array $menus) { $html = ''; foreach ($menus as $menu) { // Create an inert menu - to use as a label $tmp = new Menu($menu->getLabel(), ''); // Insert the label into the submenu $submenus = $menu->getSubmenus(); array_unshift($submenus, $tmp); $menu->setSubmenus($submenus); $html .= $menu->getMenuAsList(); } return $html; } /** * A list of CSS files to include for this page. * * @return string[] */ protected function stylesheets() { return array( 'themes/clouds/jquery-ui-1.11.2/jquery-ui.css', $this->assetUrl() . 'style.css', ); } /** * A fixed string to identify this theme, in settings, etc. * * @return string */ public function themeId() { return 'clouds'; } /** * What is this theme called? * * @return string */ public function themeName() { return /* I18N: Name of a theme. */ I18N::translate('clouds'); } }