Ignore:
Timestamp:
Jan 17, 2011, 10:16:42 PM (13 years ago)
Author:
rvelices
Message:

bug 2105 : Browsing tags is slow if tags contains many photos

File:
1 edited

Legend:

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

    r8611 r8726  
    232232      $query .= "\n  AND ".$images_where;
    233233    }
    234     if (empty($tag_items) or $search['mode']=='AND')
    235     { // directly use forbidden and order by
    236       $query .= $forbidden.'
     234    $query .= $forbidden.'
    237235  '.$conf['order_by'];
    238     }
    239236    $items = array_from_query($query, 'id');
    240237  }
     
    242239  if ( !empty($tag_items) )
    243240  {
    244     $need_permission_check = false;
    245241    switch ($search['mode'])
    246242    {
     
    248244        if (empty($search_clause))
    249245        {
    250           $need_permission_check = true;
    251246          $items = $tag_items;
    252247        }
     
    264259            )
    265260          );
    266         if ( $before_count < count($items) )
    267         {
    268           $need_permission_check = true;
    269         }
    270261        break;
    271     }
    272     if ($need_permission_check and count($items) )
    273     {
    274       $query = '
    275 SELECT DISTINCT(id)
    276   FROM '.IMAGES_TABLE.' i
    277     INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON id = ic.image_id
    278   WHERE id IN ('.implode(',', $items).') '.$forbidden;
    279       if (!empty($images_where))
    280       {
    281         $query .= "\n  AND ".$images_where;
    282       }
    283       $query .= '
    284   '.$conf['order_by'];
    285       $items = array_from_query($query, 'id');
    286262    }
    287263  }
Note: See TracChangeset for help on using the changeset viewer.