source: extensions/greydragon/themeconf.inc.php @ 31979

Last change on this file since 31979 was 31979, checked in by SergeD, 5 years ago

version 1.3.1 - see changelog for details

File size: 5.5 KB
RevLine 
[30210]1<?php
2/*
3Theme Name: GreyDragon
[31979]4Version: 1.3.1
[30730]5Description: GreyDragon Theme
[30210]6Theme URI: http://piwigo.org/ext/extension_view.php?eid=775
7Author: Serge Dosyukov
8Author URI: http://blog.dragonsoft.us
9*/
10
11if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
12
[31043]13define('GDTHEME_ID',   basename(dirname(__FILE__)));
14if (!defined('GDTHEME_PATH')):
15  define('GDTHEME_PATH', PHPWG_THEMES_PATH . GDTHEME_ID . '/');
16endif;
17require_once( GDTHEME_PATH . 'include/greydragon.class.php');
18require_once( GDTHEME_PATH . 'admin/upgrade.inc.php');
[30210]19
20$themeCore = greyDragonCore::Instance(GDTHEME_VERSION);
21
22$themeconf = array(
23  'name'  => 'greydragon',
24  'parent' => 'default',
25  'colorscheme' => 'whitehawk' == $themeCore->getOption('p_colorpack') ? 'clear' : 'dark'
26);
27
28add_event_handler('init', 'greydragon_init');
29
[31979]30if (defined('IN_ADMIN')) {
31  add_event_handler('loc_after_page_header', 'greydragon_add_admin_controller');
32}
33
[30210]34// Load Theme's Parameters
35function greydragon_init() {
36  global $template;
37
38  $themeCore = greyDragonCore::Instance();
[31043]39
[30900]40  if ($themeCore->hasCustomFavicon() || $themeCore->hasOption("p_header") || $themeCore->hasOption('page_banner', TRUE)):
[30210]41    add_event_handler('render_page_banner', 'greydragon_render_header');
42  endif;
43  if ($themeCore->getOption("p_nocounter") == "on"):
[31043]44    add_event_handler('loc_end_index', 'greydragon_nobreadcrumb_counter');
[30210]45  endif;
[30643]46  if ($themeCore->getOption("p_pict_tab_exif") == "off"):
47    pwg_set_session_var('show_metadata', 0);
48  else:
49    pwg_set_session_var('show_metadata', 1);
50  endif;
[30210]51
52  $template->assign('greydragon', $themeCore->getConfig());
[31043]53
[31061]54  $template->smarty->registerPlugin("modifier", "get_x_half", "greydragon_array_getXhalf");
55  $template->smarty->registerPlugin("modifier", "get_y_half", "greydragon_array_getYhalf");
56
[31043]57  // Allow dynamic addition of metadata tabs content
58  add_event_handler('loc_begin_picture', 'greydragon_picture_handler');
[31061]59}
[31043]60
[31979]61function greydragon_add_admin_controller() {
62  global $template, $page, $user;
63
64  $template->assign(array(                                               
65    'GDTHEME_PATH' => GDTHEME_PATH
66  ));
67
68  $template->set_filename('gdtheme_admin_controller', realpath(GDTHEME_PATH . 'admin/admin_controller.tpl'));
69  $template->parse('gdtheme_admin_controller');
70}
71
[31061]72function greydragon_array_getXhalf($array) {
73  if (isset($array) && (count($array) > 0)):
74    return (int)($array[0] / 2);
75  else:
76    return "";
77  endif;
[30210]78}
79
[31061]80function greydragon_array_getYhalf($array) {
81  if (isset($array) && (count($array) > 1)):
82    return (int)($array[1] / 2);
83  else:
84    return 1000;
85  endif;
86}
87
[31043]88function greydragon_picture_handler() {
89  global $template;
90
91  $template->set_prefilter('picture', 'greydragon_prepare_meta');
92}
93
94function greydragon_prepare_meta($tpl_source, &$smarty) {
95
[31061]96  $metadata = greyDragonCore::Instance()->getPageTabs();
[31043]97
98  $content  = $tpl_source;
[31061]99  if ($metadata["icon"]):
[31043]100    $pattern  = '#{\*GD_META_ICO\*}#';
[31061]101    $replace  = $metadata["icon"] . "{*GD_META_ICO*}";
[31043]102    $content  = preg_replace($pattern, $replace, $content, 1);
103  endif;
[31061]104  if ($metadata["text"]):
[31043]105    $pattern  = '#{\*GD_META_TXT\*}#';
[31061]106    $replace  = $metadata["text"] . "{*GD_META_TXT*}";
[31043]107    $content  = preg_replace($pattern, $replace, $content, 1);
108  endif;
[31061]109  if ($metadata["content"]):
[31043]110    $pattern  = '#{\*GD_META_CONTENT\*}#';
[31061]111    $replace  = $metadata["content"] . "{*GD_META_CONTENT*}";
[31043]112    $content  = preg_replace($pattern, $replace, $content, 1);
113  endif;
[31061]114
115  $pattern  = '#<div.*"theImageAndInfos".*>#';
116  $replace  = '$0
[31979]117    {if isset($previous.U_IMG)}<a class="gd-nav nav-prev" title="{\'Previous\'|@translate}" href="{$previous.U_IMG}">&nbsp;</a>{/if}
118    {if isset($next.U_IMG)    }<a class="gd-nav nav-next" title="{\'Next\'|@translate}" href="{$next.U_IMG}">&nbsp;</a>{/if}
119    {if isset($U_UP)          }<a class="gd-nav nav-up"   title="{\'Up\'|@translate}" href="{$U_UP}">&nbsp;</a>{/if}
120{*    <a class="gd-nav nav-zoom" title="{\'Full HD\'|@translate}" href="{$U_UP}">&nbsp;</a> *}
[31061]121  {html_head}
122    <style type="text/css">{strip}
123      {if $current.selected_derivative}
[31107]124      #theImageAndInfos .gd-nav.nav-prev {ldelim} margin-left: {if $DISPLAY_NAV_THUMB}calc(-142px - {else}-{/if}{$current.selected_derivative->get_size()|get_x_half}px{if $DISPLAY_NAV_THUMB}){/if} !important; top: {$current.selected_derivative->get_size()|get_y_half}px; {rdelim}
125      #theImageAndInfos .gd-nav.nav-next {ldelim} margin-right: {if $DISPLAY_NAV_THUMB}calc(146px - {else}-{/if}{$current.selected_derivative->get_size()|get_x_half}px{if $DISPLAY_NAV_THUMB}){/if} !important; top: {$current.selected_derivative->get_size()|get_y_half}px; {rdelim}
126      {if $DISPLAY_NAV_THUMB}#theImageAndInfos .gd-nav.nav-up {ldelim} margin-left: -182px; {rdelim}{/if}
[31061]127      {else}
[31107]128      #theImageAndInfos .gd-nav.nav-prev {ldelim} margin-left: -32% !important; top: 40%; {rdelim}
129      #theImageAndInfos .gd-nav.nav-next {ldelim} margin-right: -32% !important; top: 40%; {rdelim}
[31061]130      {/if}
131{*      #theImageAndInfos .gd-nav.nav-zoom {ldelim} top: {$current.selected_derivative->get_size()|get_y_half}px; {rdelim} *}
132    {/strip}</style>
133  {/html_head}';
134
135  $content  = preg_replace($pattern, $replace, $content, 1);
136
[31043]137  return $content;
138}
139
[30210]140// Render custom header content
141function greydragon_render_header() {
142  return greyDragonCore::Instance()->getHeader();
143}
144
[31043]145function greydragon_nobreadcrumb_counter() {
[30210]146  global $template;
147
148  $titre = $template->get_template_vars('TITLE');
149  $pos = strrpos($titre,"[");
150  if ($pos !== false):
151    $template->assign('TITLE', substr($titre, 0, $pos));
152  endif;
153}
Note: See TracBrowser for help on using the repository browser.