Changeset 11219


Ignore:
Timestamp:
06/03/11 18:09:08 (8 years ago)
Author:
mistic100
Message:

add some options, better intégration

Location:
extensions/Back2Front
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • extensions/Back2Front/Back2Front.php

    r10981 r11219  
    3232    $conf['back2front'] = explode(',',$conf['back2front']); 
    3333     
    34     // calculation of width and height 
    35     include_once(PHPWG_ROOT_PATH.'include/functions_picture.inc.php'); 
    36      
    37     if (!empty($verso['width'])) 
    38     { 
    39       list( 
    40         $verso['scaled_width'], 
    41         $verso['scaled_height'] 
    42         ) = get_picture_size( 
    43           $verso['width'], 
    44           $verso['height'], 
    45           @$user['maxwidth'], 
    46           @$user['maxheight'] 
    47         ); 
    48     } 
    49  
    5034    /* websize picture */ 
    51     $template->assign(array( 
    52       'VERSO_URL' => $verso['path'], 
    53       'VERSO_WIDTH' => $verso['scaled_width'], 
    54       'VERSO_HEIGHT' => $verso['scaled_height'], 
    55       'b2f_switch_mode' => $conf['back2front'][1], 
    56       'b2f_transition' => $conf['back2front'][2], 
    57     )); 
     35    $template->assign('VERSO_URL', $verso['path']); 
    5836     
    5937    /* admin link */ 
     
    7048      $template->assign('VERSO_HD', get_high_url($verso)); 
    7149    } 
     50     
     51    /* link name */ 
     52    $conf['back2front'][4] = unserialize($conf['back2front'][4]); 
     53    if (!empty($conf['back2front'][4][$user['language']])) 
     54    { 
     55      if (strpos($conf['back2front'][4][$user['language']], '|') !== false) 
     56      { 
     57        $conf['back2front'][4] = explode('|', $conf['back2front'][4][$user['language']]); 
     58      } 
     59      else 
     60      { 
     61        $conf['back2front'][4] = array($conf['back2front'][4][$user['language']], $conf['back2front'][4][$user['language']]); 
     62      } 
     63    } 
     64    else if (!empty($conf['back2front'][4]['default'])) 
     65    { 
     66      if (strpos($conf['back2front'][4]['default'], '|') != false) 
     67      { 
     68        $conf['back2front'][4] = explode('|', $conf['back2front'][4]['default']); 
     69      } 
     70      else 
     71      { 
     72        $conf['back2front'][4] = array($conf['back2front'][4]['default'], $conf['back2front'][4]['default']); 
     73      } 
     74    } 
     75    else 
     76    { 
     77      $conf['back2front'][4] = array(l10n('See back'), l10n('See front')); 
     78    } 
    7279 
    7380    /* template & output */ 
    74     $template->set_filenames(array('B2F_picture_content' => dirname(__FILE__).'/template/picture_content.tpl') ); 
    75     $template->assign('B2F_PATH', B2F_PATH); 
    76      
    77     return $template->parse('B2F_picture_content', true).$content;   
     81    $template->set_filenames(array('B2F_picture_content' => dirname(__FILE__).'/template/picture_content.tpl') );     
     82    $template->assign(array( 
     83      'B2F_PATH' => B2F_PATH, 
     84      'b2f_switch_mode' => $conf['back2front'][1], 
     85      'b2f_transition' => $conf['back2front'][2], 
     86      'b2f_position' => $conf['back2front'][3], 
     87      'b2f_see_back' => $conf['back2front'][4][0], 
     88      'b2f_see_front' => $conf['back2front'][4][1], 
     89    )); 
     90     
     91    switch ($conf['back2front'][3]) 
     92    { 
     93      case 'toolbar': 
     94        $template->set_prefilter('picture', 'Back2Front_toolbar_prefilter');   
     95        break; 
     96      case 'top': 
     97        return $template->parse('B2F_picture_content', true)."\n".$content; 
     98        break; 
     99      case 'bottom': 
     100        return $content."\n".$template->parse('B2F_picture_content', true); 
     101        break; 
     102    }     
    78103  } 
    79   else  
    80   { 
    81     return $content; 
    82   } 
     104   
     105  return $content; 
     106} 
     107 
     108function Back2Front_toolbar_prefilter($content, &$smarty) 
     109{ 
     110  $search = '{/if}{/strip}{*caddie management END*}'; 
     111  $replacement = $search."\n".file_get_contents(B2F_PATH.'template/picture_content.tpl'); 
     112  return str_replace($search, $replacement, $content); 
    83113} 
    84114 
     
    87117 * Add field on picture modify page 
    88118 */ 
    89 function Back2Front_picture_modify($menu) 
     119function Back2Front_picture_modify() 
    90120{ 
    91121  global $page, $template, $conf; 
    92122   
    93   if ($page['page'] != 'picture_modify') return $menu; 
     123  if ($page['page'] != 'picture_modify') return; 
    94124  $conf['back2front'] = explode(',',$conf['back2front']); 
    95125   
     
    267297   
    268298  $template->set_prefilter('picture_modify', 'Back2front_picture_modify_prefilter'); 
    269    
    270   return $menu; 
    271299} 
    272300 
  • extensions/Back2Front/admin.php

    r10981 r11219  
    66$conf['back2front'] = explode(',', $conf['back2front']); 
    77 
     8include_once(B2F_PATH.'functions.inc.php'); 
     9 
    810// Enregistrement de la configuration 
    911if (isset($_POST['submit'])) 
     
    1214    $conf['back2front'][0],  
    1315    $_POST['switch_mode'],  
    14     $_POST['transition'] 
     16    $_POST['transition'], 
     17    $_POST['position'], 
     18    serialize(stripslashes_deep(str_replace(array("'",'"',','), null, $_POST['link_name']))), 
    1519  ); 
    1620         
     
    1923} 
    2024 
     25// Gestion des langues pour le bloc menu 
     26$conf['back2front'][4] = unserialize($conf['back2front'][4]); 
     27$template->append('link_name', array( 
     28  'LANGUAGE_NAME' => l10n('Default'), 
     29  'LANGUAGE_CODE' => 'default', 
     30  'VALUE' => @$conf['back2front'][4]['default'], 
     31  ) 
     32); 
     33foreach (get_languages() as $language_code => $language_name) 
     34{ 
     35        $template->append('link_name', array( 
     36    'LANGUAGE_NAME' => $language_name, 
     37    'LANGUAGE_CODE' => $language_code, 
     38    'VALUE' => isset($conf['back2front'][4][$language_code]) ? $conf['back2front'][4][$language_code] : '', 
     39    ) 
     40  ); 
     41} 
     42 
    2143$template->assign(array( 
     44  'B2F_PATH' => B2F_PATH, 
    2245        'SWITCH_MODE' => $conf['back2front'][1], 
    2346        'TRANSITION' => $conf['back2front'][2], 
     47  'POSITION' => $conf['back2front'][3], 
    2448)); 
    2549         
  • extensions/Back2Front/functions.inc.php

    r10981 r11219  
    5151} 
    5252 
     53if (!function_exists('stripslashes_deep')) 
     54{ 
     55  function stripslashes_deep($value) 
     56  { 
     57    return is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); 
     58  } 
     59} 
     60 
    5361?> 
  • extensions/Back2Front/main.inc.php

    r10852 r11219  
    2626if (script_basename() == 'admin') 
    2727{ 
    28   add_event_handler('get_admin_plugin_menu_links', 'Back2Front_picture_modify'); 
    29   // add_event_handler('loc_begin_admin_page', 'Back2Front_picture_modify'); /* for Piwigo 2.2.2 */ 
     28  add_event_handler('loc_begin_admin_page', 'Back2Front_picture_modify'); 
    3029   
    3130        add_event_handler('get_admin_plugin_menu_links', 'Back2Front_admin_menu'); 
  • extensions/Back2Front/maintain.inc.php

    r10852 r11219  
    3939} 
    4040 
     41function plugin_activate() 
     42{ 
     43  global $conf; 
     44 
     45  if (!isset($conf['back2front'])) { 
     46    pwg_query("INSERT INTO `" . CONFIG_TABLE . "` 
     47      VALUES ('back2front', '".$versos_cat['id'].",click,none', 'Configuration for Back2Front plugin');"); 
     48  } else { 
     49    $conf['back2front'] = explode(',', $conf['back2front']); 
     50    if (!isset($conf['back2front'][3])) { 
     51      $conf['back2front'][3] = 'top'; 
     52      $conf['back2front'][4] = serialize(array('default'=>null)); 
     53      conf_update_param('back2front', implode (',', $conf['back2front']));  
     54    } 
     55  } 
     56} 
     57 
     58 
    4159function plugin_uninstall() { 
    4260        global $conf, $prefixeTable; 
  • extensions/Back2Front/template/admin.tpl

    r10852 r11219  
     1{combine_css path=$B2F_PATH|@cat:"template/style.css"} 
     2{if $themeconf.id == roma}<style type="text/css">.lang_help {ldelim} background-color:#464646; }</style>{/if} 
     3 
     4{footer_script require='jquery'}{literal} 
     5jQuery().ready( function () { 
     6  jQuery('select[name="lang_desc_select"]').change(function () { 
     7    jQuery('[id^="link_name"]').hide(); 
     8    jQuery("#link_name_"+this.options[this.selectedIndex].value).show(); 
     9  }); 
     10  jQuery('[id^="link_name_"]').keyup(function () { 
     11    arr = jQuery(this).attr("id").split("link_name_"); 
     12    id = arr[1]; 
     13    opt = jQuery('select[name="lang_desc_select"] option[id="opt_'+id+'"]'); 
     14    if (this.value != '') 
     15      opt.html(opt.html().replace("\u2718", "\u2714")); 
     16    else 
     17      opt.html(opt.html().replace("\u2714", "\u2718")); 
     18  }); 
     19}); 
     20 
     21jQuery('.lang_help').tipTip(); 
     22{/literal}{/footer_script} 
     23 
    124<div class="titrePage"> 
    225        <h2>Back2Front</h2> 
     
    730                <legend>{'Display'|@translate}</legend>    
    831                <ul>                     
     32      <li> 
     33        <span class="property">{'Link position'|@translate}</span> 
     34        <label><input type="radio" name="position" value="top" {if $POSITION == 'top'}checked="checked"{/if}/> {'Top'|@translate}</label> 
     35        <label><input type="radio" name="position" value="bottom" {if $POSITION == 'bottom'}checked="checked"{/if}/> {'Bottom'|@translate}</label> 
     36        <label><input type="radio" name="position" value="toolbar" {if $POSITION == 'toolbar'}checked="checked"{/if}/> {'Toolbar'|@translate}</label> 
     37      </li> 
    938                        <li> 
    1039                                <span class="property">{'Switch mode'|@translate}</span> 
     
    1645                                <label><input type="radio" name="transition" value="none" {if $TRANSITION == 'none'}checked="checked"{/if}/> {'None'|@translate}</label> 
    1746                                <label><input type="radio" name="transition" value="fade" {if $TRANSITION == 'fade'}checked="checked"{/if}/> {'Fade'|@translate}</label> 
    18                         </li>            
     47                        </li>    
     48 
     49      <li> 
     50        <span class="property">{'Link name'|@translate}</span> 
     51        <select name="lang_desc_select"> 
     52          {foreach from=$link_name item=lang} 
     53            <option value="{$lang.LANGUAGE_CODE}" id="opt_{$lang.LANGUAGE_CODE}">{if empty($lang.VALUE)}&#x2718;{else}&#x2714;{/if} &nbsp;{$lang.LANGUAGE_NAME}</option> 
     54          {/foreach} 
     55        </select> 
     56        {foreach from=$link_name item=lang} 
     57          <input type="text" size="30" name="link_name[{$lang.LANGUAGE_CODE}]" id="link_name_{$lang.LANGUAGE_CODE}" value="{$lang.VALUE}" style="{if $lang.LANGUAGE_CODE != 'default'}display:none; {/if}margin-left:10px;"> 
     58        {/foreach} 
     59 
     60        <a class="lang_help" title="{'Seperate the two labels with the | symbol. Leave blank to use default translation.'|@translate}">i</a> 
     61      </li>       
    1962                </ul> 
    2063        </fieldset> 
  • extensions/Back2Front/template/picture_content.tpl

    r10852 r11219  
    11{combine_css path=$B2F_PATH|@cat:"template/style.css"} 
     2{combine_script id="jquery" load="header" path = "themes/default/js/jquery.min.js"} 
    23 
    34{footer_script require="jquery"} 
     
    1617        opacity:0 
    1718      }, 400, function() {ldelim} 
     19        jQuery(this).attr({ldelim} 
     20          src: '{$VERSO_URL}', 
     21          style: 'max-width:{$WIDTH_IMG}px;max-height:{$HEIGHT_IMG}px;', 
     22        }); 
    1823        jQuery(this).animate({ldelim} 
    19           width:'{$VERSO_WIDTH}px', 
    20           height:'{$VERSO_HEIGHT}px' 
    21         }, 200, function() {ldelim} 
    22             jQuery(this).attr('src', '{$VERSO_URL}'); 
    23             jQuery(this).animate({ldelim} 
    24               opacity:1 
    25             }, 400); 
    26         }); 
     24          opacity:1 
     25        }, 400); 
    2726      }); 
    2827    {else} 
    2928      jQuery('img[alt="{$ALT_IMG}"]').attr({ldelim} 
    3029        src: '{$VERSO_URL}', 
    31         style: 'width:{$VERSO_WIDTH}px;height:{$VERSO_HEIGHT}px;', 
     30        style: 'max-width:{$WIDTH_IMG}px;max-height:{$HEIGHT_IMG}px;', 
    3231      }); 
    3332    {/if} 
     
    4241     
    4342      /* B2F link content */ 
    44       jQuery(this).html('<img src="{$B2F_PATH}template/rotate_2.png"/> {'See front'|@translate}'); 
     43      jQuery(this).html('<img src="{$B2F_PATH}template/rotate_2.png"/> {$b2f_see_front}'); 
    4544      jQuery(this).attr('rel', 'back'); 
    4645    {/if} 
     
    5251{/if}  
    5352 
     53      /* picture switch */ 
    5454    {if $b2f_transition == 'fade'} 
    5555      jQuery('img[alt="{$ALT_IMG}"]').animate({ldelim} 
    5656        opacity:0 
    5757      }, 400, function() {ldelim} 
     58        jQuery(this).attr({ldelim} 
     59          src: '{$SRC_IMG}', 
     60          style: 'width:{$WIDTH_IMG}px;height:{$HEIGHT_IMG}px;', 
     61        }); 
    5862        jQuery(this).animate({ldelim} 
    59           width:'{$WIDTH_IMG}px', 
    60           height:'{$HEIGHT_IMG}px' 
    61         }, 200, function() {ldelim} 
    62             jQuery(this).attr('src', '{$SRC_IMG}'); 
    63             jQuery(this).animate({ldelim} 
    64               opacity:1 
    65             }, 400); 
    66         }); 
     63          opacity:1 
     64        }, 400); 
    6765      }); 
    6866    {else} 
     
    7472       
    7573    {if $b2f_switch_mode == 'click'} 
     74      /* hd link */ 
    7675      {if isset($high.U_HIGH)} 
    7776      jQuery('img[alt="{$ALT_IMG}"]').parent().attr({ldelim} 
     
    8079      {/if} 
    8180       
    82       jQuery(this).html('<img src="{$B2F_PATH}template/rotate_1.png"/> {'See back'|@translate}'); 
     81      /* B2F link content */ 
     82      jQuery(this).html('<img src="{$B2F_PATH}template/rotate_1.png"/> {$b2f_see_back}'); 
    8383      jQuery(this).attr('rel', 'front'); 
    8484    {/if} 
     
    9494{/footer_script} 
    9595 
    96 <img src="{$VERSO_URL}" style="display:none;"> {* <!-- force preload the verso --> *} 
     96<img src="{$VERSO_URL}" style="display:none;"/> {* <!-- force preload the verso --> *} 
    9797 
    98 <a class="reverse" rel="front" name="verso-link" {if $b2f_switch_mode == 'hover'}href="javascript:phpWGOpenWindow('{$VERSO_HD}','{$high.UUID}','scrollbars=yes,toolbar=no,status=no,resizable=yes')"{/if}> 
    99   <img src="{$B2F_PATH}template/rotate_1.png"/> {'See back'|@translate} 
     98{if $b2f_position != 'toolbar'}<div>{/if} 
     99<a class="reverse" rel="front" {if $b2f_position == 'toolbar'}style="border:none !important;"{/if} {if $b2f_switch_mode == 'hover'}href="javascript:phpWGOpenWindow('{$VERSO_HD}','{$high.UUID}','scrollbars=yes,toolbar=no,status=no,resizable=yes')"{/if}> 
     100  <img src="{$B2F_PATH}template/rotate_1.png"/> {$b2f_see_back} 
    100101</a> 
    101 <br/> 
     102{if $b2f_position != 'toolbar'}</div>{/if} 
  • extensions/Back2Front/template/style.css

    r10852 r11219  
    55  margin-bottom:10px; 
    66  font-size:15px; 
    7   font-style:italic;     
    8   height:1em; 
     7  font-style:italic;   
    98} 
    109a.reverse img { 
    11   margin:0 !important; 
    1210  vertical-align:top; 
    13   border:none !important; 
    1411} 
     12.lang_help { 
     13  display:inline-block; 
     14  width:16px; 
     15  text-align:center; 
     16  vertical-align:middle; 
     17  font-style:italic; 
     18  font-family:"Georgia",serif; 
     19  background-color:#999; 
     20  margin-left:15px; 
     21  color:#fff; 
     22  font-size:0.9em; 
     23  line-height:1.4em; 
     24  border-radius:7px; 
     25  -moz-border-radius:7px; 
     26} 
     27.lang_help:hover { 
     28  background-color:#333; 
     29  border:none; 
     30  color:#fff; 
     31} 
Note: See TracChangeset for help on using the changeset viewer.