Changeset 1080

Show
Ignore:
Timestamp:
10/29/07 22:22:23 (10 months ago)
Author:
Neal
Message:

Ticket #1: Modified the database query for PostgreSQL so that it should no longer create rows in the online table, even without the unique index.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/punbb-1.3-dev/upload/include/functions.php

    r1079 r1080  
    145145                                { 
    146146                                        case 'pgsql': 
    147                                                 $query = array( 
    148                                                         'INSERT'        => 'user_id, ident, logged, csrf_token', 
    149                                                         'INTO'          => 'online', 
    150                                                         'VALUES'        => $pun_user['id'].', \''.$db->escape($pun_user['username']).'\', '.$pun_user['logged'].', \''.$pun_user['csrf_token'].'\'' 
    151                                                 ); 
     147                                                $query = 'INSERT INTO '.$db->prefix.'online (user_id, ident, logged, csrf_token) SELECT '.$pun_user['id'].', \''.$db->escape($pun_user['username']).'\', '.$pun_user['logged'].', \''.$pun_user['csrf_token'].'\' FROM '.$db->prefix.'users WHERE id = '.$pun_user['id'].' AND NOT EXISTS (SELECT 1 FROM '.$db->prefix.'online WHERE user_id='.$pun_user['id'].')'; 
     148                                                ($hook = get_hook('fn_qr_add_online_user')) ? eval($hook) : null; 
     149                                                $db->query($query) or error(__FILE__, __LINE__); 
    152150                                                break; 
    153151 
     
    158156                                                        'VALUES'        => $pun_user['id'].', \''.$db->escape($pun_user['username']).'\', '.$pun_user['logged'].', \''.$pun_user['csrf_token'].'\'' 
    159157                                                ); 
     158                                                ($hook = get_hook('fn_qr_add_online_user')) ? eval($hook) : null; 
     159                                                $db->query_build($query) or error(__FILE__, __LINE__); 
    160160                                                break; 
    161161                                } 
    162  
    163                                 ($hook = get_hook('fn_qr_add_online_user')) ? eval($hook) : null; 
    164                                 $db->query_build($query) or error(__FILE__, __LINE__); 
    165162 
    166163                                // Reset tracked topics 
     
    258255                { 
    259256                        case 'pgsql': 
    260                                 $query = array( 
    261                                         'INSERT'        => 'user_id, ident, logged, csrf_token', 
    262                                         'INTO'          => 'online', 
    263                                         'VALUES'        => '1, \''.$db->escape($remote_addr).'\', '.$pun_user['logged'].', \''.$pun_user['csrf_token'].'\'' 
    264                                 ); 
     257                                $query = 'INSERT INTO '.$db->prefix.'online (user_id, ident, logged, csrf_token) SELECT 1, \''.$db->escape($remote_addr).'\', '.$pun_user['logged'].', \''.$pun_user['csrf_token'].'\' FROM '.$db->prefix.'users WHERE id=1 AND NOT EXISTS (SELECT 1 FROM '.$db->prefix.'online WHERE user_id=1 AND ident=\''.$db->escape($remote_addr).'\')'; 
     258                                ($hook = get_hook('fn_qr_add_online_guest_user')) ? eval($hook) : null; 
     259                                $db->query($query) or error(__FILE__, __LINE__); 
    265260                                break; 
    266261 
     
    271266                                        'VALUES'        => '1, \''.$db->escape($remote_addr).'\', '.$pun_user['logged'].', \''.$pun_user['csrf_token'].'\'' 
    272267                                ); 
     268                                ($hook = get_hook('fn_qr_add_online_guest_user')) ? eval($hook) : null; 
     269                                $db->query_build($query) or error(__FILE__, __LINE__); 
    273270                                break; 
    274271                } 
    275  
    276                 ($hook = get_hook('fn_qr_add_online_guest_user')) ? eval($hook) : null; 
    277                 $db->query_build($query) or error(__FILE__, __LINE__); 
    278272        } 
    279273        else