$info = get_systype_db_info($typeno);
if ($info == null || $info[3] == null) continue;
$tbl = str_replace(TB_PREF, $pref, $info[0]);
- $sql = "SELECT {$info[2]} as id,{$info[3]} as ref FROM $tbl";
+ $sql = "SELECT DISTINCT {$info[2]} as id,{$info[3]} as ref FROM $tbl";
if ($info[1])
$sql .= " WHERE {$info[1]}=$typeno";
$result = db_query($sql);
if (db_num_rows($result)) {
while ($row = db_fetch($result)) {
$res2 = db_query("INSERT INTO {$pref}refs VALUES("
- . $row['id'].",".$typeno.",'".addslashes($row['ref'])."')");
+ . $row['id'].",".$typeno.",".db_escape($row['ref']).")");
if (!$res2) {
display_error(_("Cannot copy references from $tbl")
.':<br>'. db_error_msg($db));
if ($this->beta && !$force)
$this->sql = 'alter2.2rc.sql';
- return $this->beta || !check_table($pref, 'usersonline');
+ // return ok when security groups still defined (upgrade from 2.1)
+ // or usersonline not defined (upgrade from 2.2 beta)
+ return isset($security_groups) || (check_table($pref, 'usersonline')!=0);
}
//
// Test if patch was applied before.