Ignore:
Timestamp:
Jul 10, 2012, 5:37:33 PM (12 years ago)
Author:
mistic100
Message:

-menu always displayed if user has unactive collections
-better user status checks
-localizations

Location:
extensions/UserCollections/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • extensions/UserCollections/include/collections.inc.php

    r16591 r16597  
    88switch ($page['sub_section'])
    99{
     10  /* list */
    1011  case 'list':
    1112  {
     13    if (is_a_guest()) access_denied();
     14   
    1215    $template->set_filename('index', dirname(__FILE__) . '/../template/list.tpl');
    1316   
     
    125128    {
    126129      $col['date_creation'] = format_date($col['date_creation'], true);
    127       $col['U_VIEW'] = USER_COLLEC_PUBLIC.'view/'.$col['id'];
    128130      $col['U_EDIT'] = USER_COLLEC_PUBLIC.'edit/'.$col['id'];
    129131      $col['U_ACTIVE'] = USER_COLLEC_PUBLIC.'&action=set_active&col_id='.$col['id'];
     
    133135      {
    134136        $col['name'] = 'temp #'.$col['id'];
     137        $col['U_VIEW'] = $col['U_EDIT'];
    135138        $col['U_SAVE'] = USER_COLLEC_PUBLIC.'&action=save&col_id='.$col['id'];
    136139        $template->append('temp_col', $col);
     
    138141      else
    139142      {
     143        $col['U_VIEW'] = USER_COLLEC_PUBLIC.'view/'.$col['id'];
    140144        $template->append('collections', $col);
    141145      }
     
    145149    break;
    146150  }
    147    
     151 
     152  /* edit */
    148153  case 'edit':
    149154  {
     
    165170    try {
    166171      $UserCollection = new UserCollection($page['col_id']);
     172     
     173      if (!is_admin() and $UserCollection->getParam('user_id') != $user['id'])
     174      {
     175        access_denied();
     176      }
    167177     
    168178      // save properties
     
    199209     
    200210      include(PHPWG_ROOT_PATH . 'include/category_default.inc.php');
     211     
     212      $template->concat('TITLE', $conf['level_separator'].$UserCollection->getParam('name'));
    201213    }
    202214    catch (Exception $e)
     
    208220  }
    209221 
     222  /* view */
    210223  case 'view':
    211224  {
     
    234247     
    235248      $template->assign('collection', $UserCollection->getCollectionInfo());
    236      
    237       include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
    238       $template->assign('OWNER', get_username($UserCollection->getParam('user_id')));
    239249     
    240250      $page['start'] = isset($_GET['start']) ? $_GET['start'] : 0;
     
    254264     
    255265      include(PHPWG_ROOT_PATH . 'include/category_default.inc.php');
     266     
     267      include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
     268      $template->concat('TITLE',
     269        $conf['level_separator'].$UserCollection->getParam('name').
     270        ' ('.sprintf(l10n('by %s'), get_username($UserCollection->getParam('user_id'))).')'
     271        );
    256272    }
    257273    catch (Exception $e)
    258274    {
    259       array_push($page['errors'], $e->getMessage());
     275      access_denied();
    260276    }
    261277   
    262278    break;
    263279  }
    264    
    265   // case 'send':
    266   // {
    267    
    268     // break;
    269   // }
    270280}
    271281
  • extensions/UserCollections/include/events.inc.php

    r16591 r16597  
    77function user_collections_init()
    88{
    9   global $conf;
    10  
    11   // $conf['user_collections'] = unserialize($conf['user_collections']);
    129  load_language('plugin.lang', USER_COLLEC_PATH);
    1310}
     
    2421    $page['title'] = '<a href="'.USER_COLLEC_PUBLIC.'">'.l10n('Collections').'</a>';
    2522   
    26     switch (@$tokens[1])
    27     {
    28       case 'edit':
    29         $page['sub_section'] = 'edit';
    30         $page['title'].= $conf['level_separator'].' '.l10n('Edit');
    31         break;
    32       case 'view':
    33         $page['sub_section'] = 'view';
    34         $page['title'].= $conf['level_separator'].' '.l10n('View');
    35         break;
    36       // case 'send':
    37         // $page['sub_section'] = 'send';
    38         // $page['title'].= $conf['level_separator'].' '.l10n('Send');
    39         // break;
    40       default:
    41         $page['sub_section'] = 'list';
     23    if (in_array(@$tokens[1], array('edit','view','list')))
     24    {
     25       $page['sub_section'] = $tokens[1];
     26    }
     27    else
     28    {
     29      $page['sub_section'] = 'list';
    4230    }
    4331   
     
    6452function user_collections_index_actions()
    6553{
     54  if (is_a_guest()) return;
     55 
    6656  global $page, $UserCollection;
    6757     
     
    8070function user_collections_thumbnails_list($tpl_thumbnails_var, $pictures)
    8171{
     72  if (is_a_guest()) return $tpl_thumbnails_var;
     73 
    8274  global $page, $template, $UserCollection;
    8375 
     
    9991    $collection = array();
    10092  }
    101  
    10293 
    10394 
     
    142133function user_collections_picture_page()
    143134{
     135  if (is_a_guest()) return;
     136 
    144137  global $template, $picture, $UserCollection;
    145138 
     
    186179function user_collections_add_menublock($menu_ref_arr)
    187180{
     181  if (is_a_guest()) return;
     182 
     183  global $user;
     184 
    188185  $menu = &$menu_ref_arr[0];
    189186  if ($menu->get_id() != 'menubar') return;
    190187 
    191   if (get_current_collection_id(false) === false) return;
    192  
    193   $menu->register_block(new RegisteredBlock('mbUserCollection', l10n('Download Basket'), 'UserCollection'));
     188  $query = '
     189SELECT id
     190  FROM '.COLLECTIONS_TABLE.'
     191  WHERE user_id = '.$user['id'].'
     192  LIMIT 1
     193;';
     194  $result = pwg_query($query);
     195 
     196  if (!pwg_db_num_rows($result)) return;
     197 
     198  $menu->register_block(new RegisteredBlock('mbUserCollection', l10n('Collections'), 'UserCollection'));
    194199}
    195200
     
    201206  if (($block = $menu->get_block('mbUserCollection')) != null)
    202207  {
    203     if (empty($UserCollection))
    204     {
    205       $UserCollection = new UserCollection(get_current_collection_id());
    206     }
    207    
    208     $data = array(
    209       'U_LIST' => USER_COLLEC_PUBLIC,
    210       'current' => array(
    211         'NAME' => $UserCollection->getParam('name'),
    212         'NB_IMAGES' => $UserCollection->getParam('nb_images'),
    213         ),
    214       'links' => array(),
    215       );
    216      
    217     if ($data['current']['NB_IMAGES'] > 0)
    218     {
    219       $data['links'] = array(
    220         array(
    221           'URL' => USER_COLLEC_PUBLIC.'view/'.$UserCollection->getParam('col_id'),
    222           'NAME' => l10n('View'),
     208    if (($col_id = get_current_collection_id(false)) !== false)
     209    {
     210      if (empty($UserCollection))
     211      {
     212        $UserCollection = new UserCollection($col_id);
     213      }
     214   
     215      $data = array(
     216        'current' => array(
     217          'NAME' => $UserCollection->getParam('name'),
     218          'NB_IMAGES' => $UserCollection->getParam('nb_images'),
    223219          ),
    224         array(
    225           'URL' => USER_COLLEC_PUBLIC.'&amp;action=clear&amp;col_id='.$UserCollection->getParam('col_id'),
    226           'NAME' => l10n('Clear'),
    227           ),
     220        'links' => array(),
    228221        );
    229     }
     222       
     223      if ($data['current']['NB_IMAGES'] > 0)
     224      {
     225        $data['links'] = array(
     226          array(
     227            'URL' => USER_COLLEC_PUBLIC.'edit/'.$UserCollection->getParam('col_id'),
     228            'NAME' => l10n('Display collection'),
     229            ),
     230          array(
     231            'URL' => USER_COLLEC_PUBLIC.'&amp;action=clear&amp;col_id='.$UserCollection->getParam('col_id'),
     232            'NAME' => l10n('Clear collection'),
     233            ),
     234          );
     235      }
     236    }
     237   
     238    $data['U_LIST'] = USER_COLLEC_PUBLIC;
    230239     
    231240    $template->set_template_dir(USER_COLLEC_PATH . 'template/');
Note: See TracChangeset for help on using the changeset viewer.