[30210] | 1 | <?php |
---|
| 2 | /* |
---|
| 3 | Theme Name: GreyDragon |
---|
[31987] | 4 | Version: 1.3.2 |
---|
[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 | |
---|
[31979] | 30 | if (defined('IN_ADMIN')) { |
---|
| 31 | add_event_handler('loc_after_page_header', 'greydragon_add_admin_controller'); |
---|
| 32 | } |
---|
| 33 | |
---|
[30210] | 34 | // Load Theme's Parameters |
---|
| 35 | function 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] | 61 | function 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] | 72 | function 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] | 80 | function 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] | 88 | function greydragon_picture_handler() { |
---|
| 89 | global $template; |
---|
| 90 | |
---|
| 91 | $template->set_prefilter('picture', 'greydragon_prepare_meta'); |
---|
| 92 | } |
---|
| 93 | |
---|
| 94 | function 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 |
---|
[31987] | 117 | {if isset($previous.U_IMG)}<a class="gd-nav nav-prev" title="{\'Previous\'|@translate}" href="{$previous.U_IMG}"><i class="fas fa-angle-left"></i></a>{/if} |
---|
| 118 | {if isset($next.U_IMG) }<a class="gd-nav nav-next" title="{\'Next\'|@translate}" href="{$next.U_IMG}"><i class="fas fa-angle-right"></i></a>{/if} |
---|
| 119 | {if isset($U_UP) }<a class="gd-nav nav-up" title="{\'Up\'|@translate}" href="{$U_UP}"><i class="fas fa-angle-up"></i></a>{/if} |
---|
[31979] | 120 | {* <a class="gd-nav nav-zoom" title="{\'Full HD\'|@translate}" href="{$U_UP}"> </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 |
---|
| 141 | function greydragon_render_header() { |
---|
| 142 | return greyDragonCore::Instance()->getHeader(); |
---|
| 143 | } |
---|
| 144 | |
---|
[31043] | 145 | function 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 | } |
---|