install/schemas/upgrade/1125.php
author Dan Fuhry <dan@enanocms.org>
Thu, 01 Jul 2010 20:24:19 -0400
changeset 1259 49db7495f6b8
permissions -rw-r--r--
First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1259
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     1
<?php
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     2
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     3
// Migrate usernames in the logs table
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     4
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     5
global $db, $session, $paths, $template, $plugins; // Common objects
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     6
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     7
$q = $db->sql_query('SELECT user_id, username FROM ' . table_prefix . 'users;');
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     8
if ( !$q )
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     9
  $db->_die();
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    10
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    11
$map = array();
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    12
while($row = $db->fetchrow())
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    13
{
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    14
  $map[ $row['username'] ] = $row['user_id'];
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    15
}
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    16
$db->free_result();
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    17
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    18
$q = $db->sql_query('SELECT author FROM ' . table_prefix . 'logs WHERE author_uid = 1;');
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    19
if ( !$q )
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    20
  $db->_die();
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    21
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    22
$updated = array();
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    23
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    24
while ( $row = $db->fetchrow($q) )
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    25
{
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    26
  if ( isset($map[ $row['author'] ]) && !is_valid_ip($row['author']) && !in_array($row['author'], $updated) )
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    27
  {
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    28
    $author = $db->escape($row['author']);
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    29
    $sql = "UPDATE " . table_prefix . "logs SET author_uid = {$map[ $row['author'] ]} WHERE author = '$author';";
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    30
    if ( !$db->sql_query($sql) )
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    31
      $db->_die();
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    32
    $updated[] = $row['author'];
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    33
  }
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    34
}
49db7495f6b8 First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    35