Ignore:
Timestamp:
Oct 4, 2012, 5:03:55 PM (12 years ago)
Author:
mistic100
Message:

feature:2614 pagination on albums
return to old fashioned way (one query in category_cats), restoring recent_cats feature and "menubar optimization", rename "starta" into "startcat"

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/category_cats.inc.php

    r18165 r18462  
    2828 */
    2929
    30 $selection = array_slice(
    31   $page['categories'],
    32   $page['starta'],
    33   $conf['nb_categories_page']
    34   );
    35 
    36 $selection = trigger_event('loc_index_categories_selection', $selection);
    3730
    3831// $user['forbidden_categories'] including with USER_CACHE_CATEGORIES_TABLE
     
    4942    INNER JOIN '.USER_CACHE_CATEGORIES_TABLE.' ucc
    5043    ON id = cat_id
    51     AND user_id = '.$user['id'].'
    52   WHERE c.id IN('.implode(',', $selection).')';
     44    AND user_id = '.$user['id'];
     45 
     46if ('recent_cats' == $page['section'])
     47{
     48  $query.= '
     49  WHERE date_last >= '.pwg_db_get_recent_period_expression($user['recent_period']);
     50}
     51else
     52{
     53  $query.= '
     54  WHERE id_uppercat '.(!isset($page['category']) ? 'is NULL' : '= '.$page['category']['id']);
     55}
     56
     57$query.= '
     58      '.get_sql_condition_FandF(
     59        array('visible_categories' => 'id'),
     60        'AND'
     61        );
    5362 
    5463if ('recent_cats' != $page['section'])
     
    6170;';
    6271
    63 $result = pwg_query($query);
     72$categories_sql = hash_from_query($query, 'id');
     73
     74$page['total_categories'] = count($categories_sql);
     75
     76$categories_sql = array_slice(
     77  array_values($categories_sql),
     78  $page['startcat'],
     79  $conf['nb_categories_page']
     80  );
     81
     82$categories_sql = trigger_event('loc_index_categories_selection', $categories_sql);
     83
    6484$categories = array();
    6585$category_ids = array();
     
    6787$user_representative_updates_for = array();
    6888
    69 while ($row = pwg_db_fetch_assoc($result))
     89foreach ($categories_sql as $row)
    7090{
    7191  $row['is_child_date_last'] = @$row['max_date_last']>@$row['date_last'];
     
    375395
    376396  $template->assign_var_from_handle('CATEGORIES', 'index_category_thumbnails');
    377 }
     397 
     398  // navigation bar
     399  $page['cats_navigation_bar'] = array();
     400  if ($page['total_categories'] > $conf['nb_categories_page'])
     401  {
     402    $page['cats_navigation_bar'] = create_navigation_bar(
     403      duplicate_index_url(array(), array('startcat')),
     404      $page['total_categories'],
     405      $page['startcat'],
     406      $conf['nb_categories_page'],
     407      true, 'startcat'
     408      );
     409  }
     410
     411  $template->assign('cats_navbar', $page['cats_navigation_bar'] );
     412}
     413
    378414pwg_debug('end include/category_cats.inc.php');
    379415?>
Note: See TracChangeset for help on using the changeset viewer.