74 lines
2.1 KiB
Perl
74 lines
2.1 KiB
Perl
|
#!/usr/bin/perl
|
||
|
|
||
|
use strict;
|
||
|
$| = 1;
|
||
|
|
||
|
require "$ENV{'LJHOME'}/cgi-bin/ljlib.pl";
|
||
|
|
||
|
my $sysid = LJ::get_userid("system");
|
||
|
die "Couldn't find system userid"
|
||
|
unless $sysid;
|
||
|
|
||
|
my $dbh = LJ::get_db_writer();
|
||
|
die "Could not connect to global master"
|
||
|
unless $dbh;
|
||
|
|
||
|
|
||
|
# find info on styles based on public layouts
|
||
|
|
||
|
# need to select from:
|
||
|
# s2styles - get style name
|
||
|
# s2stylelayers - get layout s2lid
|
||
|
# s2layers - get userid of layer
|
||
|
# s2info - get redist_uniq
|
||
|
|
||
|
{
|
||
|
print "Converting styles based on public layouts...";
|
||
|
|
||
|
my $sth = $dbh->prepare("SELECT s.styleid, i.value " .
|
||
|
"FROM s2styles s, s2stylelayers sl, s2layers l, s2info i " .
|
||
|
"WHERE s.styleid=sl.styleid AND l.s2lid=sl.s2lid AND i.s2lid=l.s2lid " .
|
||
|
"AND l.userid=? AND l.type='layout' AND s.name='wizard' " .
|
||
|
"AND i.infokey='redist_uniq'");
|
||
|
$sth->execute($sysid);
|
||
|
my $ct = 0;
|
||
|
while (my ($styleid, $redist_uniq) = $sth->fetchrow_array) {
|
||
|
|
||
|
my $layout = (split("/", $redist_uniq))[0];
|
||
|
$dbh->do("UPDATE s2styles SET name=? WHERE styleid=?",
|
||
|
undef, "wizard-$layout", $styleid);
|
||
|
$ct++;
|
||
|
print "." if $ct % 1000 == 0;
|
||
|
}
|
||
|
|
||
|
print " $ct done.\n";
|
||
|
}
|
||
|
|
||
|
|
||
|
# find info on styles based on user layouts
|
||
|
|
||
|
# need to select from:
|
||
|
# s2styles - get style name
|
||
|
# s2stylelayers - get layout s2lid
|
||
|
# s2layers - get userid of layer
|
||
|
|
||
|
{
|
||
|
print "Converting styles based on user layouts...";
|
||
|
|
||
|
my $sth = $dbh->prepare("SELECT s.styleid, l.s2lid " .
|
||
|
"FROM s2styles s, s2stylelayers sl, s2layers l " .
|
||
|
"WHERE s.styleid=sl.styleid AND l.s2lid=sl.s2lid " .
|
||
|
"AND l.userid<>? AND l.type='layout' AND s.name='wizard'");
|
||
|
$sth->execute($sysid);
|
||
|
my $ct = 0;
|
||
|
while (my ($styleid, $s2lid) = $sth->fetchrow_array) {
|
||
|
|
||
|
$dbh->do("UPDATE s2styles SET name=? WHERE styleid=?",
|
||
|
undef, "wizard-$s2lid", $styleid);
|
||
|
$ct++;
|
||
|
print "." if $ct % 1000 == 0;
|
||
|
}
|
||
|
|
||
|
print " $ct done.\n";
|
||
|
}
|