Changeset 29569 for extensions/modus


Ignore:
Timestamp:
Sep 16, 2014, 9:14:48 PM (10 years ago)
Author:
rvelices
Message:

modus compatibility with header manager + faster load time

Location:
extensions/modus
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • extensions/modus/functions.inc.php

    r28453 r29569  
    2323);
    2424}
     25
     26function modus_smarty_prefilter($source)
     27{
     28        global $lang, $conf;
     29
     30        $source = str_replace('<div id="imageHeaderBar">', '<div class=titrePage id=imageHeaderBar>', $source );
     31        $source = str_replace('<div id=imageHeaderBar>',   '<div class=titrePage id=imageHeaderBar>', $source );
     32
     33        if (!isset($lang['modus_theme']))
     34                load_language('theme.lang', dirname(__FILE__).'/');
     35
     36        // picture page actionButtons wrap for mobile
     37        if (strpos($source, '<div id="imageToolBar">')!==false || strpos($source, '<div id=imageToolBar>')!==false){
     38                if ( !($pos=strpos($source,'<div class="actionButtons">') ) )
     39                        $pos = strpos($source,'<div class=actionButtons>');
     40                if ($pos !== false)
     41                {
     42                        $source = substr_replace($source, '<div class=actionButtonsWrapper><a id=imageActionsSwitch class=pwg-button><span class="pwg-icon pwg-icon-ellipsis"></span></a>{combine_script version=1 id=\'modus.async\' path="themes/`$themeconf.id`/js/modus.async.js" load=\'async\'}', $pos, 0);
     43                        $pos = strpos($source,'caddie', $pos+1);
     44                        $pos = strpos($source,'</div>', $pos+1);
     45                        $source = substr_replace($source, '</div>', $pos, 0);
     46                }
     47        }
     48
     49        if ( ($pos=strpos($source, '<ul class="categoryActions">'))!==false || ($pos=strpos($source, '<ul class=categoryActions>'))!==false){
     50                if ( ($pos2=strpos($source, '</ul>', $pos))!==false
     51                        && (substr_count($source, '<li>', $pos, $pos2-$pos) > 2) )
     52                        $source = substr_replace($source, '<a id=albumActionsSwitcher class=pwg-button><span class="pwg-icon pwg-icon-ellipsis"></span></a>{combine_script version=1 id=\'modus.async\' path="themes/`$themeconf.id`/js/modus.async.js" load=\'async\'}', $pos, 0);
     53        }
     54
     55        $re = preg_quote('<img title="{$cat.icon_ts.TITLE}" src="', '/')
     56                        .'[^>]+'
     57                        .preg_quote('/recent{if $cat.icon_ts.IS_CHILD_DATE}_by_child{/if}.png"', '/')
     58                        .'[^>]+'
     59                        .preg_quote('alt="(!)">', '/');
     60        $source = preg_replace('/'.$re.'/',
     61                '<span class=albSymbol title="{$cat.icon_ts.TITLE}">{if $cat.icon_ts.IS_CHILD_DATE}'.MODUS_STR_RECENT_CHILD.'{else}'.MODUS_STR_RECENT.'{/if}</span>',
     62                $source);
     63
     64        $re = preg_quote('<img title="{$thumbnail.icon_ts.TITLE}" src="', '/')
     65                .'[^>]+'
     66                .preg_quote('/recent.png" alt="(!)">', '/');
     67        $source = preg_replace('/'.$re.'/',
     68                '<span class=albSymbol title="{$thumbnail.icon_ts.TITLE}">'.MODUS_STR_RECENT.'</span>',
     69                $source);
     70
     71        return $source;
     72}
     73
    2574?>
  • extensions/modus/template/header.tpl

    r28977 r29569  
    4141</div>
    4242{/if}
    43 {*<div id="theHeader">{$PAGE_BANNER}</div>*}
     43{if !empty($PAGE_BANNER)}<div id="theHeader">{$PAGE_BANNER}</div>{/if}
  • extensions/modus/themeconf.inc.php

    r29030 r29569  
    22/*
    33Theme Name: modus
    4 Version: 2.7.a
     4Version: 2.7.b
    55Description: Responsive, horizontal menu, retina aware, no lost space.
    66Plugin URI: http://piwigo.org/ext/extension_view.php?eid=728
     
    4646        $conf['tag_letters_column_number'] = min($conf['tag_letters_column_number'],3);
    4747
    48 $this->smarty->registerFilter('pre', 'rv_menubar');
    49 function rv_menubar($source)
    50 {
    51         global $lang, $conf;
    52 
    53         $source = str_replace('<div id="imageHeaderBar">', '<div class=titrePage id=imageHeaderBar>', $source );
    54         $source = str_replace('<div id=imageHeaderBar>',   '<div class=titrePage id=imageHeaderBar>', $source );
    55 
    56         if (!isset($lang['modus_theme']))
    57                 load_language('theme.lang', dirname(__FILE__).'/');
    58 
    59         // picture page actionButtons wrap for mobile
    60         if (strpos($source, '<div id="imageToolBar">')!==false || strpos($source, '<div id=imageToolBar>')!==false){
    61                 if ( !($pos=strpos($source,'<div class="actionButtons">') ) )
    62                         $pos = strpos($source,'<div class=actionButtons>');
    63                 if ($pos !== false)
    64                 {
    65                         $source = substr_replace($source, '<div class=actionButtonsWrapper><a id=imageActionsSwitch class=pwg-button><span class="pwg-icon pwg-icon-ellipsis"></span></a>{combine_script version=1 id=\'modus.async\' path="themes/`$themeconf.id`/js/modus.async.js" load=\'async\'}', $pos, 0);
    66                         $pos = strpos($source,'caddie', $pos+1);
    67                         $pos = strpos($source,'</div>', $pos+1);
    68                         $source = substr_replace($source, '</div>', $pos, 0);
    69                 }
    70         }
    71 
    72         if ( ($pos=strpos($source, '<ul class="categoryActions">'))!==false || ($pos=strpos($source, '<ul class=categoryActions>'))!==false){
    73                 if ( ($pos2=strpos($source, '</ul>', $pos))!==false
    74                         && (substr_count($source, '<li>', $pos, $pos2-$pos) > 2) )
    75                         $source = substr_replace($source, '<a id=albumActionsSwitcher class=pwg-button><span class="pwg-icon pwg-icon-ellipsis"></span></a>{combine_script version=1 id=\'modus.async\' path="themes/`$themeconf.id`/js/modus.async.js" load=\'async\'}', $pos, 0);
    76         }
    77 
    78         $re = preg_quote('<img title="{$cat.icon_ts.TITLE}" src="', '/')
    79                         .'[^>]+'
    80                         .preg_quote('/recent{if $cat.icon_ts.IS_CHILD_DATE}_by_child{/if}.png"', '/')
    81                         .'[^>]+'
    82                         .preg_quote('alt="(!)">', '/');
    83         $source = preg_replace('/'.$re.'/',
    84                 '<span class=albSymbol title="{$cat.icon_ts.TITLE}">{if $cat.icon_ts.IS_CHILD_DATE}'.MODUS_STR_RECENT_CHILD.'{else}'.MODUS_STR_RECENT.'{/if}</span>',
    85                 $source);
    86 
    87         $re = preg_quote('<img title="{$thumbnail.icon_ts.TITLE}" src="', '/')
    88                 .'[^>]+'
    89                 .preg_quote('/recent.png" alt="(!)">', '/');
    90         $source = preg_replace('/'.$re.'/',
    91                 '<span class=albSymbol title="{$thumbnail.icon_ts.TITLE}">'.MODUS_STR_RECENT.'</span>',
    92                 $source);
    93 
    94         return $source;
     48$this->smarty->registerFilter('pre', 'modus_smarty_prefilter_wrap');
     49function modus_smarty_prefilter_wrap($source)
     50{
     51        include_once(dirname(__FILE__).'/functions.inc.php');
     52        return modus_smarty_prefilter($source);
    9553}
    9654
     
    12886{
    12987        global $conf;
    130         if (!is_callable('modus_css_gradient')) {
    131                 include_once(dirname(__FILE__).'/functions.inc.php');
     88        include_once(dirname(__FILE__).'/functions.inc.php');
     89
     90        try {
    13291                $template->smarty->registerPlugin('modifier', 'cssGradient', 'modus_css_gradient');
    133         }
     92        } catch(SmartyException $exc) {}
    13493
    13594        include( dirname(__FILE__).'/skins/'.$conf['modus_theme']['skin'].'.inc.php' );
Note: See TracChangeset for help on using the changeset viewer.