Changeset 16928


Ignore:
Timestamp:
07/23/12 13:50:41 (7 years ago)
Author:
mistic100
Message:

feature 2703: make it easy for plugins to add tabs in admin screens
centralize all core tabs in one file

Location:
trunk
Files:
1 added
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin.php

    r15230 r16928  
    3232include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 
    3333include_once(PHPWG_ROOT_PATH.'admin/include/functions_plugins.inc.php'); 
     34include_once(PHPWG_ROOT_PATH.'admin/include/add_core_tabs.inc.php'); 
    3435 
    3536trigger_action('loc_begin_admin'); 
  • trunk/admin/album.php

    r16925 r16928  
    6464$tabsheet = new tabsheet(); 
    6565$tabsheet->set_id('album'); 
    66 $tabsheet->add('properties', l10n('Properties'), $admin_album_base_url.'-properties'); 
    67 $tabsheet->add('sort_order', l10n('Manage photo ranks'), $admin_album_base_url.'-sort_order'); 
    68 $tabsheet->add('permissions', l10n('Permissions'), $admin_album_base_url.'-permissions'); 
    69 $tabsheet->add('notification', l10n('Notification'), $admin_album_base_url.'-notification'); 
    7066$tabsheet->select($page['tab']); 
    7167$tabsheet->assign(); 
  • trunk/admin/batch_manager.php

    r16925 r16928  
    351351// |                                 Tabs                                  | 
    352352// +-----------------------------------------------------------------------+ 
    353  
    354 $tabs = array( 
    355   array( 
    356     'code' => 'global', 
    357     'label' => l10n('global mode'), 
    358     ), 
    359   array( 
    360     'code' => 'unit', 
    361     'label' => l10n('unit mode'), 
    362     ), 
    363   ); 
    364  
    365 $tab_codes = array_map( 
    366   create_function('$a', 'return $a["code"];'), 
    367   $tabs 
    368   ); 
     353$manager_link = get_root_url().'admin.php?page=batch_manager&mode='; 
    369354 
    370355if (isset($_GET['mode'])) 
     
    374359else 
    375360{ 
    376   $page['tab'] = $tabs[0]['code']; 
    377 } 
    378  
    379 if (in_array($page['tab'], $tab_codes)) 
    380 { 
    381   $tabsheet = new tabsheet(); 
    382   $tabsheet->set_id('batch_manager'); 
    383   foreach ($tabs as $tab) 
    384   { 
    385     $tabsheet->add( 
    386       $tab['code'], 
    387       $tab['label'], 
    388       get_root_url().'admin.php?page='.$_GET['page'].'&mode='.$tab['code'] 
    389       ); 
    390   } 
    391   $tabsheet->select($page['tab']); 
    392   $tabsheet->assign(); 
     361  $page['tab'] = 'global'; 
     362} 
     363 
     364$tabsheet = new tabsheet(); 
     365$tabsheet->set_id('batch_manager'); 
     366$tabsheet->select($page['tab']); 
     367$tabsheet->assign(); 
    393368 
    394369// +-----------------------------------------------------------------------+ 
     
    406381// +-----------------------------------------------------------------------+ 
    407382 
    408   include(PHPWG_ROOT_PATH.'admin/batch_manager_'.$page['tab'].'.php'); 
    409 } 
     383include(PHPWG_ROOT_PATH.'admin/batch_manager_'.$page['tab'].'.php'); 
    410384?> 
  • trunk/admin/cat_options.php

    r16925 r16928  
    140140$tabsheet = new tabsheet(); 
    141141$tabsheet->set_id('cat_options'); 
    142 // TabSheet initialization 
    143 $opt_link = $link_start.'cat_options&section='; 
    144 $tabsheet->add('status', l10n('Public / Private'), $opt_link.'status'); 
    145 $tabsheet->add('visible', l10n('Lock'), $opt_link.'visible'); 
    146 if ($conf['activate_comments']) 
    147 { 
    148   $tabsheet->add('comments', l10n('Comments'), $opt_link.'comments'); 
    149 } 
    150 if ($conf['allow_random_representative']) 
    151 { 
    152   $tabsheet->add('representative', l10n('Representative'), $opt_link.'representative'); 
    153 } 
    154 // TabSheet selection 
    155142$tabsheet->select($page['section']); 
    156 // Assign tabsheet to template 
    157143$tabsheet->assign(); 
    158144 
  • trunk/admin/comments.php

    r16925 r16928  
    100100$tabsheet = new tabsheet(); 
    101101$tabsheet->set_id('comments'); 
    102 $tabsheet->add('', l10n('User comments validation'), ''); 
    103102$tabsheet->select(''); 
    104103$tabsheet->assign(); 
  • trunk/admin/configuration.php

    r16925 r16928  
    288288$tabsheet = new tabsheet(); 
    289289$tabsheet->set_id('configuration'); 
    290 // TabSheet initialization 
    291 $tabsheet->add('main', l10n('Main'), $conf_link.'main'); 
    292 $tabsheet->add('sizes', l10n('Photo sizes'), $conf_link.'sizes'); 
    293 $tabsheet->add('watermark', l10n('Watermark'), $conf_link.'watermark'); 
    294 $tabsheet->add('display', l10n('Display'), $conf_link.'display'); 
    295 $tabsheet->add('comments', l10n('Comments'), $conf_link.'comments'); 
    296 $tabsheet->add('default', l10n('Guest Settings'), $conf_link.'default'); 
    297 // TabSheet selection 
    298290$tabsheet->select($page['section']); 
    299 // Assign tabsheet to template 
    300291$tabsheet->assign(); 
    301292 
  • trunk/admin/help.php

    r16925 r16928  
    3030check_status(ACCESS_ADMINISTRATOR); 
    3131 
    32 $link = get_root_url().'admin.php?page=help&section='; 
     32$help_link = get_root_url().'admin.php?page=help&section='; 
    3333$selected = null; 
    34 $help_section_title = null; 
    35  
    36 $tabs = array(); 
    37 $tabs[] = array( 
    38   'code' => 'add_photos', 
    39   'label' => l10n('Add Photos'), 
    40   ); 
    41 $tabs[] = array( 
    42   'code' => 'permissions', 
    43   'label' => l10n('Permissions'), 
    44   ); 
    45 $tabs[] = array( 
    46   'code' => 'groups', 
    47   'label' => l10n('Groups'), 
    48   ); 
    49 $tabs[] = array( 
    50   'code' => 'virtual_links', 
    51   'label' => l10n('Virtual Links'), 
    52   ); 
    53 $tabs[] = array( 
    54   'code' => 'misc', 
    55   'label' => l10n('Miscellaneous'), 
    56   ); 
    5734 
    5835if (!isset($_GET['section'])) 
    5936{ 
    60   $section = $tabs[0]['code']; 
     37  $selected = 'add_photos'; 
    6138} 
    6239else 
    6340{ 
    64   $section = $_GET['section']; 
     41  $selected = $_GET['section']; 
    6542} 
    6643 
    6744$tabsheet = new tabsheet(); 
    6845$tabsheet->set_id('help'); 
    69 foreach ($tabs as $tab) 
    70 { 
    71   if ($tab['code'] == $section) 
    72   { 
    73     $selected_tab = $tab['code']; 
    74     $help_section_title = $tab['label']; 
    75   } 
    76    
    77   $tabsheet->add($tab['code'], $tab['label'], $link.$tab['code']); 
    78 } 
    79 $tabsheet->select($selected_tab); 
    8046$tabsheet->assign(); 
    8147 
     
    8551  array( 
    8652    'HELP_CONTENT' => load_language( 
    87       'help/help_'.$selected_tab.'.html', 
     53      'help/help_'.$tabsheet->selected.'.html', 
    8854      '', 
    8955      array('return'=>true) 
    9056      ), 
    91     'HELP_SECTION_TITLE' => $help_section_title, 
     57    'HELP_SECTION_TITLE' => $tabsheet->sheets[ $tabsheet->selected ]['caption'], 
    9258    ) 
    9359  ); 
  • trunk/admin/include/albums_tab.inc.php

    r16925 r16928  
    2727 
    2828$tabsheet = new tabsheet(); 
    29 $tabsheet->set_id('cat_list'); 
    30 $tabsheet->add('list', l10n('List'), $my_base_url.'cat_list'); 
    31 $tabsheet->add('move', l10n('Move'), $my_base_url.'cat_move'); 
    32 $tabsheet->add('permalinks', l10n('Permalinks'), $my_base_url.'permalinks'); 
     29$tabsheet->set_id('albums'); 
    3330$tabsheet->select($page['tab']); 
    3431$tabsheet->assign(); 
  • trunk/admin/include/functions_history.inc.php

    r16925 r16928  
    3131  $tabsheet = new tabsheet(); 
    3232  $tabsheet->set_id('history'); 
    33   // TabSheet initialization 
    34   $tabsheet->add('stats', l10n('Statistics'), $link_start.'stats'); 
    35   $tabsheet->add('history', l10n('Search'), $link_start.'history'); 
    36   // TabSheet selection 
    3733  $tabsheet->select($page['page']); 
    38   // Assign tabsheet to template 
    3934  $tabsheet->assign(); 
    4035} 
  • trunk/admin/include/tabsheet.class.php

    r16925 r16928  
    9090  { 
    9191    $this->sheets = trigger_event('tabsheet_before_select', $this->sheets, $this->uniqid); 
     92    if (!array_key_exists($name, $this->sheets)) 
     93    { 
     94      $keys = array_keys($this->sheets); 
     95      $name = $keys[0]; 
     96    } 
    9297    $this->selected = $name; 
    9398  } 
  • trunk/admin/languages.php

    r16925 r16928  
    3636  $page['tab'] = 'installed'; 
    3737 
    38 $tabsheet = new tabsheet(); 
    39 $tabsheet->set_id('languages'); 
    40 $tabsheet->add('installed', l10n('Installed Languages'), $my_base_url.'&tab=installed'); 
    41 $tabsheet->add('update', l10n('Check for updates'), $my_base_url.'&tab=update'); 
    42 $tabsheet->add('new', l10n('Add New Language'), $my_base_url.'&tab=new'); 
     38$tabsheet = new tabsheet('languages'); 
    4339$tabsheet->select($page['tab']); 
    4440$tabsheet->assign(); 
  • trunk/admin/notification_by_mail.php

    r16925 r16928  
    590590  $tabsheet = new tabsheet(); 
    591591  $tabsheet->set_id('nbm'); 
    592   // TabSheet initialization 
    593   $tabsheet->add('param', l10n('Parameter'), 
    594     add_url_params($base_url.get_query_string_diff(array('mode', 'select')), 
    595         array('mode' => 'param'))); 
    596   $tabsheet->add('subscribe', l10n('Subscribe'), 
    597     add_url_params($base_url.get_query_string_diff(array('mode', 'select')), 
    598       array('mode' => 'subscribe'))); 
    599   $tabsheet->add('send', l10n('Send'), 
    600     add_url_params($base_url.get_query_string_diff(array('mode', 'select')), 
    601       array('mode' => 'send'))); 
    602   // TabSheet selection 
    603592  $tabsheet->select($page['mode']); 
    604   // Assign tabsheet to template 
    605593  $tabsheet->assign(); 
    606594} 
  • trunk/admin/photo.php

    r16925 r16928  
    6363$tabsheet = new tabsheet(); 
    6464$tabsheet->set_id('photo'); 
    65 $tabsheet->add('properties', l10n('Properties'), $admin_photo_base_url.'-properties'); 
    66 $tabsheet->add('coi', l10n('Center of interest'), $admin_photo_base_url.'-coi'); 
    67  
    6865$tabsheet->select($page['tab']); 
    6966$tabsheet->assign(); 
  • trunk/admin/photos_add.php

    r16925 r16928  
    5050// |                                 Tabs                                  | 
    5151// +-----------------------------------------------------------------------+ 
    52  
    53 $tabs = array( 
    54   array( 
    55     'code' => 'direct', 
    56     'label' => l10n('Web Form'), 
    57     ), 
    58   array( 
    59     'code' => 'applications', 
    60     'label' => l10n('Applications'), 
    61     ), 
    62   ); 
    63  
    64 if ($conf['enable_synchronization']) 
    65 { 
    66   array_push( 
    67     $tabs, 
    68     array( 
    69       'code' => 'ftp', 
    70       'label' => l10n('FTP + Synchronization'), 
    71       ) 
    72     ); 
    73 } 
    74  
    75 $tab_codes = array_map( 
    76   create_function('$a', 'return $a["code"];'), 
    77   $tabs 
    78   ); 
    79  
    80 if (isset($_GET['section']) and in_array($_GET['section'], $tab_codes)) 
     52if (isset($_GET['section'])) 
    8153{ 
    8254  $page['tab'] = $_GET['section']; 
     
    8456else 
    8557{ 
    86   $page['tab'] = $tabs[0]['code']; 
     58  $page['tab'] = 'direct'; 
    8759} 
    8860 
    8961$tabsheet = new tabsheet(); 
    9062$tabsheet->set_id('photos_add'); 
    91 foreach ($tabs as $tab) 
    92 { 
    93   $tabsheet->add( 
    94     $tab['code'], 
    95     $tab['label'], 
    96     PHOTOS_ADD_BASE_URL.'&section='.$tab['code'] 
    97     ); 
    98 } 
    9963$tabsheet->select($page['tab']); 
    10064$tabsheet->assign(); 
  • trunk/admin/plugins.php

    r16925 r16928  
    3838$tabsheet = new tabsheet(); 
    3939$tabsheet->set_id('plugins'); 
    40 $tabsheet->add('installed', l10n('Plugin list'), $my_base_url.'&tab=installed'); 
    41 $tabsheet->add('update', l10n('Check for updates'), $my_base_url.'&tab=update'); 
    42 $tabsheet->add('new', l10n('Other plugins'), $my_base_url.'&tab=new'); 
    4340$tabsheet->select($page['tab']); 
    4441$tabsheet->assign(); 
  • trunk/admin/rating.php

    r16925 r16928  
    3838$tabsheet = new tabsheet(); 
    3939$tabsheet->set_id('rating'); 
    40 $tabsheet->add('rating', l10n('Photos'), get_root_url().'admin.php?page=rating'); 
    41 $tabsheet->add('rating_user', l10n('Users'), get_root_url().'admin.php?page=rating_user'); 
    4240$tabsheet->select('rating'); 
    4341$tabsheet->assign(); 
  • trunk/admin/rating_user.php

    r16925 r16928  
    2727$tabsheet = new tabsheet(); 
    2828$tabsheet->set_id('rating'); 
    29 $tabsheet->add('rating', l10n('Photos'), get_root_url().'admin.php?page=rating'); 
    30 $tabsheet->add('rating_user', l10n('Users'), get_root_url().'admin.php?page=rating_user'); 
    3129$tabsheet->select('rating_user'); 
    3230$tabsheet->assign(); 
  • trunk/admin/themes.php

    r16925 r16928  
    3838$tabsheet = new tabsheet(); 
    3939$tabsheet->set_id('themes'); 
    40 $tabsheet->add('installed', l10n('Installed Themes'), $my_base_url.'&tab=installed'); 
    41 $tabsheet->add('update', l10n('Check for updates'), $my_base_url.'&tab=update'); 
    42 $tabsheet->add('new', l10n('Add New Theme'), $my_base_url.'&tab=new'); 
    4340$tabsheet->select($page['tab']); 
    4441$tabsheet->assign(); 
  • trunk/admin/updates.php

    r16925 r16928  
    3636$tabsheet = new tabsheet(); 
    3737$tabsheet->set_id('updates'); 
    38 $tabsheet->add('pwg', l10n('Piwigo Update'), $my_base_url); 
    39 $tabsheet->add('ext', l10n('Extensions Update'), $my_base_url.'&tab=ext'); 
    4038$tabsheet->select($page['tab']); 
    4139$tabsheet->assign(); 
Note: See TracChangeset for help on using the changeset viewer.