auto-update - create 's' keys for all users that don't have 'em

This commit is contained in:
Mike Macgirvin 2010-10-12 01:14:50 -07:00
parent b9d768972e
commit cc64742e23
2 changed files with 24 additions and 3 deletions

View File

@ -2,7 +2,7 @@
set_time_limit(0);
define ( 'BUILD_ID' , 1006 );
define ( 'BUILD_ID' , 1007 );
define ( 'EOL', "<br />\r\n");
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@ -236,7 +236,6 @@ function check_config(&$a) {
$stored = intval($build);
$current = intval(BUILD_ID);
if(($stored < $current) && file_exists('update.php')) {
// We're reporting a different version than what is currently installed.
// Run any existing update scripts to bring the database up to current.

View File

@ -40,4 +40,26 @@ function update_1005() {
q("ALTER TABLE `user` ADD `spubkey` TEXT NOT NULL AFTER `prvkey` ,
ADD `sprvkey` TEXT NOT NULL AFTER `spubkey`");
}
}
function update_1006() {
// create 's' keys for everybody that does not have one
$r = q("SELECT * FROM `user` WHERE `spubkey` = '' ");
if(count($r)) {
foreach($r as $rr) {
$sres=openssl_pkey_new(array('encrypt_key' => false ));
$sprvkey = '';
openssl_pkey_export($sres, $sprvkey);
$spkey = openssl_pkey_get_details($sres);
$spubkey = $spkey["key"];
$r = q("UPDATE `user` SET `spubkey` = '%s', `sprvkey` = '%s'
WHERE `uid` = %d LIMIT 1",
dbesc($spubkey),
dbesc($sprvkey),
intval($rr['uid'])
);
}
}
}