Changeset 17644


Ignore:
Timestamp:
08/25/12 15:22:45 (7 years ago)
Author:
mistic100
Message:

improve upgrade process (for manual upgrades and piwigo.com upgrades)
improve delete button visibility

Location:
extensions/header_manager
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • extensions/header_manager/admin.php

    r16937 r17644  
    55load_language('plugin.lang', HEADER_MANAGER_PATH); 
    66 
    7 if (!file_exists(HEADER_MANAGER_DIR))  
    8 { 
    9   mkdir(HEADER_MANAGER_DIR, 0755); 
    10 } 
    11  
    127$page['tab'] = (isset($_GET['tab'])) ? $_GET['tab'] : 'config'; 
    138 
    14 if ($page['tab'] == 'album') 
    15 { 
    16   include(HEADER_MANAGER_PATH . 'admin/album.php'); 
    17 } 
    18 else 
     9if ($page['tab'] != 'album') 
    1910{ 
    2011  // tabsheet 
    2112  include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');     
    2213  $tabsheet = new tabsheet(); 
     14  $tabsheet->set_id('header_manager'); 
    2315  $tabsheet->add('config', l10n('Configuration'), HEADER_MANAGER_ADMIN . '-config'); 
    2416  $tabsheet->add('add', l10n('Add a banner'), HEADER_MANAGER_ADMIN . '-add'); 
    2517  $tabsheet->select($page['tab']); 
    2618  $tabsheet->assign(); 
    27  
    28   // include page 
    29   include(HEADER_MANAGER_PATH . 'admin/' . $page['tab'] . '.php'); 
    3019 
    3120  // template 
     
    3625} 
    3726 
     27// include page 
     28include(HEADER_MANAGER_PATH . 'admin/' . $page['tab'] . '.php'); 
     29 
    3830$template->assign('HEADER_MANAGER_PATH', HEADER_MANAGER_PATH); 
    3931 
  • extensions/header_manager/admin/template/config.tpl

    r15958 r17644  
    3636  {if $banners} 
    3737    <div class="banner-radio" style="display:block;"> 
    38       <input type="radio" name="image" value="random" id="banner-random"{if $BANNER_IMAGE=='random'}checked="checked"{/if}> 
     38      <input type="radio" name="image" value="random" id="banner-random" {if $BANNER_IMAGE=='random'}checked="checked"{/if}> 
    3939      <label for="banner-random"><b>{'Random'|@translate}</b></label> 
    4040    </div> 
     
    4343      <span class="actions"> 
    4444        <input type="radio" name="image" value="{$image.NAME}" id="banner-{$image.NAME}" {if $BANNER_IMAGE==$image.NAME}checked="checked"{/if}><br> 
    45         <a href="{$CONFIG_URL}&amp;delete_banner={$image.NAME}" class="removeFilter" title="{'Delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate|@escape:javascript}');"><span>[x]</span></a> 
    4645      </span> 
    47       <label for="banner-{$image.NAME}"><img src="{$image.THUMB}" alt="{$image.NAME}"></label>  
     46      <span class="banner-wrapper"> 
     47        <a href="{$CONFIG_URL}&amp;delete_banner={$image.NAME}" title="{'Delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate|@escape:javascript}');" class="delete-banner">&times;</a> 
     48        <label for="banner-{$image.NAME}"><img src="{$image.THUMB}" alt="{$image.NAME}"></label> 
     49      </span> 
    4850    </div> 
    4951    {/foreach} 
  • extensions/header_manager/admin/template/style.css

    r15854 r17644  
    33  margin:5px 0 0 20px; 
    44} 
    5 .banner-radio .actions { 
    6   display:inline-block; 
    7   vertical-align:80%; 
    8   text-align:center; 
    9 } 
     5  .banner-radio .actions { 
     6    display:inline-block; 
     7    padding-top:30px; 
     8    vertical-align:top; 
     9  } 
     10  .banner-wrapper { 
     11    display:inline-block; 
     12    position:relative; 
     13    width:230px; 
     14    height:70px; 
     15  } 
     16    .delete-banner { 
     17      position:absolute; 
     18      display:block; 
     19      top:0; 
     20      right:0; 
     21      margin:0; 
     22      width:16px; 
     23      height:16px; 
     24      background:rgba(20,20,20,0.5); 
     25      color:#eee; 
     26      border:1px solid #999; 
     27      border-top:none; 
     28      border-right:none; 
     29      border-radius:0 0 0 4px; 
     30      font-weight:bold; 
     31      text-align:center; 
     32    } 
     33      .delete-banner:hover { 
     34        color:#e00 !important; 
     35        border-color:#e00; 
     36        background:rgba(20,20,20,1); 
     37      } 
     38 
    1039.showInfo { 
    1140  position:static; 
  • extensions/header_manager/include/header_manager.inc.php

    r17012 r17644  
    88{ 
    99  global $conf, $user, $template, $page; 
    10    
    11   if (defined('IN_ADMIN')) return $page_banner; 
    1210   
    1311  // search banner for a specific category 
     
    2826    if (count($cat_banners)) 
    2927    { 
    30       function uppercats_sort($a, $b) 
    31       { 
    32         global $page; 
    33         $ids = explode(',', $page['category']['uppercats']); 
    34         return array_search($a['category_id'], $ids) < array_search($b['category_id'], $ids); 
    35       } 
    36       usort($cat_banners, 'uppercats_sort'); 
     28      usort($cat_banners, 'hm_uppercats_sort'); 
    3729       
    3830      foreach ($cat_banners as $cat_banner) 
     
    10698} 
    10799 
    108 /** 
    109  * Header Manager admin link 
    110  */ 
    111 function header_manager_admin_menu($menu)  
     100function hm_uppercats_sort($a, $b) 
    112101{ 
    113   array_push($menu, array( 
    114     'NAME' => 'Header Manager', 
    115     'URL' => HEADER_MANAGER_ADMIN, 
    116   )); 
    117   return $menu; 
    118 } 
    119  
    120 /** 
    121  * tab on album edition page 
    122  */ 
    123 function header_manager_tab($sheets, $id) 
    124 { 
    125   if ($id == 'album') 
    126   { 
    127     load_language('plugin.lang', HEADER_MANAGER_PATH); 
    128      
    129     $sheets['headermanager'] = array( 
    130       'caption' => l10n('Banner'), 
    131       'url' => HEADER_MANAGER_ADMIN.'-album&amp;cat_id='.$_GET['cat_id'], 
    132       ); 
    133   } 
    134    
    135   return $sheets; 
     102  global $page; 
     103  $ids = explode(',', $page['category']['uppercats']); 
     104  return array_search($a['category_id'], $ids) < array_search($b['category_id'], $ids); 
    136105} 
    137106 
  • extensions/header_manager/main.inc.php

    r17012 r17644  
    1212 
    1313global $prefixeTable; 
    14 define('HEADER_MANAGER_PATH', PHPWG_PLUGINS_PATH . basename(dirname(__FILE__)) . '/'); 
    15 define('HEADER_MANAGER_ADMIN', get_root_url() . 'admin.php?page=plugin-' . basename(dirname(__FILE__))); 
    16 define('HEADER_MANAGER_DIR', PWG_LOCAL_DIR . 'banners/'); 
    17 define('HEADER_MANAGER_TABLE', $prefixeTable . 'category_banner'); 
     14define('HEADER_MANAGER_PATH',    PHPWG_PLUGINS_PATH . 'header_manager/'); 
     15define('HEADER_MANAGER_ADMIN',   get_root_url() . 'admin.php?page=plugin-header_manager'); 
     16define('HEADER_MANAGER_DIR',     PWG_LOCAL_DIR . 'banners/'); 
     17define('HEADER_MANAGER_TABLE',   $prefixeTable . 'category_banner'); 
     18define('HEADER_MANAGER_VERSION', '1.0.3'); 
    1819 
    1920add_event_handler('init', 'header_manager_init'); 
     
    2627  $conf['header_manager'] = unserialize($conf['header_manager']); 
    2728     
    28   include(HEADER_MANAGER_PATH . 'include/functions.inc.php'); 
    29   include(HEADER_MANAGER_PATH . 'include/header_manager.inc.php'); 
     29  include_once(HEADER_MANAGER_PATH . 'include/functions.inc.php'); 
     30  include_once(HEADER_MANAGER_PATH . 'include/header_manager.inc.php'); 
    3031   
    31   add_event_handler('render_page_banner', 'header_manager_render'); 
    32  
    33   if (defined('IN_ADMIN')) 
     32  if (!defined('IN_ADMIN')) 
    3433  { 
     34    add_event_handler('render_page_banner', 'header_manager_render'); 
     35  } 
     36  else 
     37  { 
     38    add_event_handler('loc_begin_admin_page', 'header_manager_check_version'); 
     39    add_event_handler('get_admin_plugin_menu_links', 'header_manager_admin_menu'); 
    3540    add_event_handler('tabsheet_before_select', 'header_manager_tab', EVENT_HANDLER_PRIORITY_NEUTRAL, 2); 
    36     add_event_handler('get_admin_plugin_menu_links', 'header_manager_admin_menu'); 
    3741    add_event_handler('delete_categories', 'header_manager_delete_categories'); 
    3842  } 
    3943} 
    4044 
     45/** 
     46 * Header Manager admin link 
     47 */ 
     48function header_manager_admin_menu($menu)  
     49{ 
     50  array_push($menu, array( 
     51    'NAME' => 'Header Manager', 
     52    'URL' => HEADER_MANAGER_ADMIN, 
     53  )); 
     54  return $menu; 
     55} 
     56 
     57/** 
     58 * tab on album edition page 
     59 */ 
     60function header_manager_tab($sheets, $id) 
     61{ 
     62  if ($id == 'album') 
     63  { 
     64    load_language('plugin.lang', HEADER_MANAGER_PATH); 
     65     
     66    $sheets['headermanager'] = array( 
     67      'caption' => l10n('Banner'), 
     68      'url' => HEADER_MANAGER_ADMIN.'-album&amp;cat_id='.$_GET['cat_id'], 
     69      ); 
     70  } 
     71   
     72  return $sheets; 
     73} 
     74 
     75/** 
     76 * updating the plugin 
     77 */ 
     78function header_manager_check_version() 
     79{ 
     80  global $pwg_loaded_plugins, $page; 
     81   
     82  if ( 
     83    (  
     84      @$page['page'] == 'intro' or  
     85      @$_GET['section'] == 'header_manager/admin.php'  
     86    ) 
     87    and  
     88    ( 
     89      $pwg_loaded_plugins['header_manager']['version'] == 'auto' or 
     90      version_compare($pwg_loaded_plugins['header_manager']['version'], HEADER_MANAGER_VERSION, '<') 
     91    )  
     92  ) 
     93  { 
     94    include_once(HEADER_MANAGER_PATH . 'include/install.inc.php'); 
     95    header_manager_install(); 
     96     
     97    if ($pwg_loaded_plugins['header_manager']['version'] != 'auto') 
     98    { 
     99      $query = ' 
     100UPDATE '. PLUGINS_TABLE .' 
     101SET version = "'. HEADER_MANAGER_VERSION .'" 
     102WHERE id = "header_manager"'; 
     103      pwg_query($query); 
     104    } 
     105  } 
     106} 
     107 
    41108?> 
  • extensions/header_manager/maintain.inc.php

    r16937 r17644  
    11<?php 
    22if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    3  
    4 define('header_dir', PWG_LOCAL_DIR . 'banners/'); 
    5  
    6 define( 
    7   'header_manager_default_config',  
    8   serialize(array( 
    9     'width' => 1000, 
    10     'height' => 150, 
    11     'image' => 'random', 
    12     'display' => 'image_only' 
    13     )) 
    14   ); 
    153   
     4include_once(PHPWG_PLUGINS_PATH . 'header_manager/include/install.inc.php'); 
    165 
    176function plugin_install()  
    187{ 
    19   global $prefixeTable; 
    20    
    21         pwg_query( 
    22 'CREATE TABLE IF NOT EXISTS `' .$prefixeTable . 'category_banner` ( 
    23   `category_id` smallint(5) unsigned NOT NULL, 
    24   `image` varchar(255) NOT NULL, 
    25   `deep` tinyint(1) DEFAULT 1, 
    26   PRIMARY KEY (`category_id`) 
    27 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 
    28 ;'); 
    29  
    30   conf_update_param('header_manager', header_manager_default_config); 
    31   mkdir(header_dir, 0755); 
     8  header_manager_install(); 
     9  define('header_manager_installed', true); 
    3210} 
    3311 
    3412function plugin_activate() 
    3513{ 
    36   global $conf, $prefixeTable; 
    37  
    38   if (empty($conf['header_manager'])) 
     14  if (!defined('header_manager_installed')) 
    3915  { 
    40     conf_update_param('header_manager', header_manager_default_config); 
     16    header_manager_install() 
    4117  } 
    42   if (!file_exists(header_dir))  
    43   { 
    44     mkdir(header_dir, 0755); 
    45   } 
    46    
    47   pwg_query( 
    48 'CREATE TABLE IF NOT EXISTS `' .$prefixeTable . 'category_banner` ( 
    49   `category_id` smallint(5) unsigned NOT NULL, 
    50   `image` varchar(255) NOT NULL, 
    51   `deep` tinyint(1) DEFAULT 1, 
    52   PRIMARY KEY (`category_id`) 
    53 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 
    54 ;'); 
    5518} 
    5619 
Note: See TracChangeset for help on using the changeset viewer.