Dotclear

Changeset 1041:ffd8fd14003c for admin


Ignore:
Timestamp:
11/25/12 22:38:00 (13 years ago)
Author:
JcDenis
Branch:
default
Message:

Enhance mass comments actions by reducing SQL queries, addresses #943

File:
1 edited

Legend:

Unmodified
Added
Removed
  • admin/comments_actions.php

    r270 r1041  
    5252     $co = $core->blog->getComments($params); 
    5353      
     54     $co_ids = array(); 
     55     while ($co->fetch())     { 
     56          $co_ids[] = $co->comment_id; 
     57     } 
     58      
    5459     # --BEHAVIOR-- adminCommentsActions 
    5560     $core->callBehavior('adminCommentsActions',$core,$co,$action,$redir); 
     
    6469          } 
    6570           
    66           while ($co->fetch()) 
    67           { 
    68                try { 
    69                     $core->blog->updCommentStatus($co->comment_id,$status); 
    70                } catch (Exception $e) { 
    71                     $core->error->add($e->getMessage()); 
    72                } 
     71          try { 
     72               $core->blog->updCommentsStatus($co_ids,$status); 
     73          } catch (Exception $e) { 
     74               $core->error->add($e->getMessage()); 
    7375          } 
    7476           
     
    7981     elseif ($action == 'delete') 
    8082     { 
    81           while ($co->fetch()) 
    82           { 
    83                try { 
     83          try { 
     84               // Backward compatibility 
     85               foreach($co_ids as $comment_id) 
     86               { 
    8487                    # --BEHAVIOR-- adminBeforeCommentDelete 
    85                     $core->callBehavior('adminBeforeCommentDelete',$co->comment_id);                 
    86                      
    87                     $core->blog->delComment($co->comment_id); 
    88                } catch (Exception $e) { 
    89                     $core->error->add($e->getMessage()); 
     88                    $core->callBehavior('adminBeforeCommentDelete',$comment_id);                     
    9089               } 
     90                
     91               # --BEHAVIOR-- adminBeforeCommentsDelete 
     92               $core->callBehavior('adminBeforeCommentsDelete',$co_ids); 
     93                
     94               $core->blog->delComments($co_ids); 
     95          } catch (Exception $e) { 
     96               $core->error->add($e->getMessage()); 
    9197          } 
    9298           
Note: See TracChangeset for help on using the changeset viewer.

Sites map