system_update_114
modules/system/system.install, строка 1264
- Версии
- 5
system_update_114()
Код
<?php
function system_update_114() {
$ret = array();
if ($GLOBALS['db_type'] == 'mysql') {
$ret[] = update_sql("CREATE TABLE {queue} (
nid int unsigned NOT NULL,
uid int unsigned NOT NULL,
vote int NOT NULL default '0',
PRIMARY KEY (nid, uid)
)");
}
else if ($GLOBALS['db_type'] == 'pgsql') {
$ret[] = update_sql("CREATE TABLE {queue} (
nid integer NOT NULL default '0',
uid integer NOT NULL default '0',
vote integer NOT NULL default '0',
PRIMARY KEY (nid, uid)
)");
$ret[] = update_sql("CREATE INDEX {queue}_nid_idx ON queue(nid)");
$ret[] = update_sql("CREATE INDEX {queue}_uid_idx ON queue(uid)");
}
$result = db_query("SELECT nid, votes, score, users FROM {node}");
while ($node = db_fetch_object($result)) {
if (isset($node->users)) {
$arr = explode(',', $node->users);
unset($node->users);
foreach ($arr as $value) {
$arr2 = explode('=', trim($value));
if (isset($arr2[0]) && isset($arr2[1])) {
switch ($arr2[1]) {
case '+ 1':
db_query("INSERT INTO {queue} (nid, uid, vote) VALUES (%d, %d, %d)", $node->nid, (int)$arr2[0], 1);
break;
case '- 1':
db_query("INSERT INTO {queue} (nid, uid, vote) VALUES (%d, %d, %d)", $node->nid, (int)$arr2[0], -1);
break;
default:
db_query("INSERT INTO {queue} (nid, uid, vote) VALUES (%d, %d, %d)", $node->nid, (int)$arr2[0], 0);
}
}
}
}
}
if ($GLOBALS['db_type'] == 'mysql') {
// Postgres only supports dropping of columns since 7.4
$ret[] = update_sql("ALTER TABLE {node} DROP votes");
$ret[] = update_sql("ALTER TABLE {node} DROP score");
$ret[] = update_sql("ALTER TABLE {node} DROP users");
}
return $ret;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии