install/schemas/upgrade/1.1.6-1.1.7.php
author Neal Gompa <neal@enanocms.org>
Thu, 01 Apr 2010 19:57:23 -0500
changeset 1233 202b25e2d0e6
parent 1227 bdac73ed481e
permissions -rw-r--r--
Fixed typo in install.json in pgsql "no php extension" error string

<?php

// Migrate usernames in the logs table

global $db, $session, $paths, $template, $plugins; // Common objects

$q = $db->sql_query('SELECT user_id, username FROM ' . table_prefix . '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 ' . table_prefix . '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 " . table_prefix . "logs SET author_uid = {$map[ $row['author'] ]} WHERE author = '$author';";
		if ( !$db->sql_query($sql) )
			$db->_die();
		$updated[] = $row['author'];
	}
}