Changeset 20 for trunk/inc

Show
Ignore:
Timestamp:
08/12/05 17:31:00 (7 years ago)
Author:
alexx
Message:
  • fix number of item in pager system to 10 by default
  • add link header when pager is actif (Add link to First, Back, Next and Last)
  • modify pager system to use less memory (re-introduce LIMIT in sql query), see #20
  • fix size of "saved" table to be the same as inbox and sent
Location:
trunk/inc/messages
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/inc/messages/inbox.inc.php

    r19 r20  
    2727$_SMARTY['Title'] =  'Messages'; 
    2828 
    29 $messages_r = $db->query('SELECT id_mess, id_from, from_str, type, dest, subject, message, flag, date FROM message WHERE id=? AND box=? ORDER by date DESC', array($_SESSION['my_id'],'inbox')); 
     29$nb_messages = $db->getOne('SELECT COUNT(id_mess) FROM message WHERE id=? AND box=?', array($_SESSION['my_id'],'inbox')); 
     30 
     31$pager =& Pager_dotnode::factory(null, array('totalItems' => $nb_messages)); 
     32 
     33list($first_item, $last_item) = $pager->getOffsetByPageId(); 
     34$limit_start = $first_item-1; 
     35$limit_offset = $last_item-$limit_start; 
     36 
     37$messages_r = $db->query('SELECT id_mess, id_from, from_str, type, dest, subject, message, flag, date FROM message WHERE id=? AND box=? ORDER by date DESC LIMIT !,!', array($_SESSION['my_id'],'inbox', $limit_start, $limit_offset )); 
    3038 
    3139if(!DB::isError($messages_r) ) 
    3240while($message = $messages_r->fetchRow()) 
    33         $messages[$message['id_mess']] = $message; 
     41        $messages[$message['id_mess']] = $message; 
    3442else 
    3543        error_log($_SERVER['HTTP_HOST'].' | '.__FILE__.' | '.$messages_r->getUserInfo()); 
     
    3846$_SESSION['nb_new_messages_timestamp'] = 1; 
    3947 
    40 $pager =& Pager_dotnode::factory($messages); 
    41  
    4248$_SMARTY['pager'] = $pager->getLinks(); 
    43  
    44 // $pager->getPageData() return '' if no data element 
    45 // For smarty reason, i prefere an empty array to use foreach / foreachelse 
    46 if(!is_array($_SMARTY['messages'] = $pager->getPageData())) 
    47         $_SMARTY['messages'] = array(); 
     49$_SMARTY['messages'] = $messages; 
    4850?> 
  • trunk/inc/messages/saved.inc.php

    r19 r20  
    2727$_SMARTY['Title'] =  'Messages'; 
    2828 
    29 $messages_r = $db->query('SELECT id_mess, id_from, from_str, type, dest, subject, message, flag, date FROM message WHERE id=? AND box=? ORDER by date DESC', array($_SESSION['my_id'],'save') ); 
     29$nb_messages = $db->getOne('SELECT COUNT(id_mess) FROM message WHERE id=? AND box=?', array($_SESSION['my_id'],'save')); 
     30 
     31$pager =& Pager_dotnode::factory(null, array('totalItems' => $nb_messages)); 
     32 
     33list($first_item, $last_item) = $pager->getOffsetByPageId(); 
     34$limit_start = $first_item-1; 
     35$limit_offset = $last_item-$limit_start; 
     36 
     37$messages_r = $db->query('SELECT id_mess, id_from, from_str, type, dest, subject, message, flag, date FROM message WHERE id=? AND box=? ORDER by date DESC LIMIT !,!', array($_SESSION['my_id'],'save', $limit_start, $limit_offset) ); 
    3038 
    3139if(!DB::isError($messages_r) ) 
     
    3543        error_log($_SERVER['HTTP_HOST'].' | '.__FILE__.' | '.$messages_r->getUserInfo()); 
    3644 
    37 $pager =& Pager_dotnode::factory($messages); 
    38  
    3945$_SMARTY['pager'] = $pager->getLinks(); 
    40  
    41 // $pager->getPageData() return '' if no data element 
    42 // For smarty reason, i prefere an empty array to use foreach / foreachelse 
    43 if(!is_array($_SMARTY['messages'] = $pager->getPageData())) 
    44         $_SMARTY['messages'] = array(); 
     46$_SMARTY['messages'] = $messages; 
    4547?> 
  • trunk/inc/messages/sent.inc.php

    r19 r20  
    2727$_SMARTY['Title'] =  'Messages'; 
    2828 
    29 $messages_r = $db->query('SELECT id, id_mess, id_from, from_str, type, dest, subject, message, flag, date FROM message WHERE id_from=? AND box=? ORDER by date DESC', array($_SESSION['my_id'],'send') ); 
     29$nb_messages = $db->getOne('SELECT COUNT(id_mess) FROM message WHERE id_from=? AND box=?', array($_SESSION['my_id'],'send')); 
     30 
     31$pager =& Pager_dotnode::factory(null, array('totalItems' => $nb_messages)); 
     32 
     33list($first_item, $last_item) = $pager->getOffsetByPageId(); 
     34$limit_start = $first_item-1; 
     35$limit_offset = $last_item-$limit_start; 
     36 
     37$messages_r = $db->query('SELECT id, id_mess, id_from, from_str, type, dest, subject, message, flag, date FROM message WHERE id_from=? AND box=? ORDER by date DESC LIMIT !,!', array($_SESSION['my_id'],'send', $limit_start, $limit_offset) ); 
    3038 
    3139$cache=array(); 
     
    5058        error_log($_SERVER['HTTP_HOST'].' | '.__FILE__.' | '.$messages_r->getUserInfo()); 
    5159 
    52 $pager =& Pager_dotnode::factory($messages); 
    53  
    5460$_SMARTY['pager'] = $pager->getLinks(); 
    55  
    56 // $pager->getPageData() return '' if no data element 
    57 // For smarty reason, i prefere an empty array to use foreach / foreachelse 
    58 if(!is_array($_SMARTY['messages'] = $pager->getPageData())) 
    59         $_SMARTY['messages'] = array(); 
     61$_SMARTY['messages'] = $messages; 
    6062?>