'greydragon', 'parent' => 'default', 'colorscheme' => 'whitehawk' == $themeCore->getOption('p_colorpack') ? 'clear' : 'dark' ); add_event_handler('init', 'greydragon_init'); // Load Theme's Parameters function greydragon_init() { global $template; $themeCore = greyDragonCore::Instance(); if ($themeCore->hasCustomFavicon() || $themeCore->hasOption("p_header") || $themeCore->hasOption('page_banner', TRUE)): add_event_handler('render_page_banner', 'greydragon_render_header'); endif; if ($themeCore->getOption("p_nocounter") == "on"): add_event_handler('loc_end_index', 'greydragon_nobreadcrumb_counter'); endif; if ($themeCore->getOption("p_pict_tab_exif") == "off"): pwg_set_session_var('show_metadata', 0); else: pwg_set_session_var('show_metadata', 1); endif; $template->assign('greydragon', $themeCore->getConfig()); // Allow dynamic addition of metadata tabs content add_event_handler('loc_begin_picture', 'greydragon_picture_handler'); } function greydragon_picture_handler() { global $template; $template->set_prefilter('picture', 'greydragon_prepare_meta'); } function greydragon_prepare_meta($tpl_source, &$smarty) { // metadata array // each tab represented by respected sub array // sub array need to include // "id" = unique id of the tab // "icon_class" = class to be used to render icon tabs // "title" = tab or menu block title // "content" = block content // "target" = optional, rendering target - "left", "top", "right", "bottom", not supported, reserved for future use // "combine" = combine_css or combine_js reference block // // prior to rendering, each element would be processed and converted into tab content in picture.tpl $metadata = array(); $metadata = trigger_change('gd_get_metadata', $metadata); $meta_icon = ""; $meta_text = ""; $meta_content = ""; foreach ($metadata as $item): $id = $item["id"]; $icon_class = $item["icon_class"]; $title = $item["title"]; $block_content = $item["content"]; $combine = $item["combine"]; $no_overlay = $item["no_overlay"]; if ($no_overlay): $meta_icon .= '
  • ' . $block_content . '
  • '; else: $meta_icon .= '
  • {if $ico_mode=="off"}' . $title . '{/if}
  • '; endif; $meta_text .= '
  • {if $ico_mode=="off"}' . $title . '{/if}
  • '; if (isset($combine)): $meta_content .= '{strip}' . $combine . '{strip}'; endif; $meta_content .= '
    ' . $block_content . '
    '; endforeach; $content = $tpl_source; if ($meta_icon): $pattern = '#{\*GD_META_ICO\*}#'; $replace = $meta_icon . "{*GD_META_ICO*}"; $content = preg_replace($pattern, $replace, $content, 1); endif; if ($meta_text): $pattern = '#{\*GD_META_TXT\*}#'; $replace = $meta_text . "{*GD_META_TXT*}"; $content = preg_replace($pattern, $replace, $content, 1); endif; if ($meta_content): $pattern = '#{\*GD_META_CONTENT\*}#'; $replace = $meta_content . "{*GD_META_CONTENT*}"; $content = preg_replace($pattern, $replace, $content, 1); endif; return $content; } // Render custom header content function greydragon_render_header() { return greyDragonCore::Instance()->getHeader(); } function greydragon_nobreadcrumb_counter() { global $template; $titre = $template->get_template_vars('TITLE'); $pos = strrpos($titre,"["); if ($pos !== false): $template->assign('TITLE', substr($titre, 0, $pos)); endif; } ?>