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