# HG changeset patch # User Dan # Date 1261187848 18000 # Node ID ac861c01a764316225f267de8bc2fbcf16264b2e # Parent 57dfbd2a614d8fed5633b48c31823388ede9b526 Added an upgrade hook to populate the author_uid column in logs, pending test by Neal diff -r 57dfbd2a614d -r ac861c01a764 install/schemas/upgrade/1.1.6-1.1.7.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/install/schemas/upgrade/1.1.6-1.1.7.php Fri Dec 18 20:57:28 2009 -0500 @@ -0,0 +1,35 @@ +sql_query('SELECT user_id, username FROM users;'); +if ( !$q ) + $db->_die(); + +$map = array(); +while($row = $db->fetchrow()) +{ + $map[ $row['username'] ] = $row['user_id']; +} +$db->free_result(); + +$q = $db->sql_query('SELECT author FROM logs WHERE author_uid = 1;'); +if ( !$q ) + $db->_die(); + +$updated = array(); + +while ( $row = $db->fetchrow($q) ) +{ + if ( isset($map[ $row['author'] ]) && !is_valid_ip($row['author']) && !in_array($row['author'], $updated) ) + { + $author = $db->escape($row['author']); + $sql = "UPDATE logs SET author_uid = {$map[ $row['author'] ]} WHERE author = '$author';"; + if ( !$db->sql_query($sql) ) + $db->_die(); + $updated[] = $row['author']; + } +} +