This commit is contained in:
2019-02-06 00:49:12 +03:00
commit 8dbb1bb605
4796 changed files with 506072 additions and 0 deletions

21
local/htdocs/styles/create.bml Executable file
View File

@@ -0,0 +1,21 @@
<title> Ne rabotaet </title>
<h1> Не работает </h1>
Друзья, система стилей S1 устарела и не поддерживает
многих возможностей LJ (например, тэгов). Поддержка ее
приостанавливается (как нами, так и, судя по всему,
командой livejournal.com).
<p>
На настоящий момент, создание новых стилей в S1 на LJR
отключено, и мы работаем над их полным уничтожением.
<A HREF="http://lj.rossia.org/customize/advanced/index.bml">Пользуйтесь,
пожалуйста, стилями S2. </a>
<p>
Приносим извинения за неудобства. Администрация.
<p>
<b><A HREF="http://lj.rossia.org/">
lj.rossia.org</a>
</b>

101
local/htdocs/styles/create_do.bml Executable file
View File

@@ -0,0 +1,101 @@
<?page
title=><?_ml .title _ml?>
body<=
<?_code
{
use strict;
use vars qw(%GET %POST);
LJ::set_active_crumb('createstyle');
return LJ::server_down_html() if $LJ::SERVER_DOWN;
return BML::redirect("create.bml") unless LJ::did_post();
my $remote = LJ::get_remote();
return "<?needlogin?>"
unless $remote;
my $authas = $GET{'authas'} || $remote->{'user'};
my $u = LJ::get_authas_user($authas);
return LJ::bad_input($ML{'error.authinvalid'})
unless $u;
unless (LJ::get_cap($u, "styles")) {
return LJ::bad_input($ML{'.error.accounttype'});
}
# error check submission
return LJ::bad_input($ML{'.error.invalidview'})
unless $POST{'type'} && defined $LJ::viewinfo{$POST{'type'}};
my $view = $POST{'type'};
my $base = "";
my $baseid = $POST{"base_$view"} || $POST{"basenum_$view"};
if ($baseid) {
my $rec = LJ::S1::get_style($baseid);
return LJ::bad_input(BML::ml('.error.stylenotfound',{ 'baseid' => $baseid, }))
unless $rec && $rec->{'type'} eq $view;
return LJ::bad_input(BML::ml('.error.stylenotpublic',{ 'baseid' => $baseid, }))
unless $rec->{'is_public'} eq "Y" || $rec->{'user'} eq $u->{'user'};
# they're allowed to base on this style
$base = $rec->{'formatdata'};
}
### start of output
my $ret = "";
my $des = "$u->{'user'}-$view-new";
# let's see if they accidentally double-clicked:
my $double_clicked = 0;
my $new_id = 0;
my $oldstyle = LJ::S1::check_dup_style($u, $view, $des);
# closure to show edit form
my $editform = sub {
my $getextra = "?authas=$authas" if $u->{'user'} ne $remote->{'user'};
return "<div align='center'><form method='post' action='$LJ::SITEROOT/styles/edit_do.bml$getextra'>\n" .
LJ::html_hidden('mode', 'editstyle', 'styleid', $_[0]) . "\n" .
LJ::html_submit(undef, $ML{'.editstyle'}) . "</form></div>\n";
};
if ($oldstyle) {
if ($oldstyle->{'formatdata'} eq $base) {
# the user double-clicked
$double_clicked = 1;
$new_id = $oldstyle->{'styleid'};
} else {
$ret .= "<?h1 $ML{'Error'} h1?>" .
"<?p " . BML::ml('.error.styleexists',{ 'des' => $des, 'view' => $view, }) . " p?>";
$ret .= $editform->($oldstyle->{'styleid'});
return $ret;
}
}
unless ($double_clicked) {
$new_id = LJ::S1::create_style($u,
{ 'styledes' => $des,
'type' => $view,
'formatdata' => $base });
return "<?h1 $ML{'Error'} h1?><?p $ML{'error.nodb'} p?>"
unless defined $new_id;
}
$ret .= "<?h1 $ML{'.success.head'} h1?><?p " . BML::ml('.success.text',{ 'des' => $des, }) . " p?>\n";
$ret .= $editform->($new_id);
return $ret;
}
_code?>
<=body
page?><?_c <LJDEP>
post: htdocs/styles/edit_do.bml
</LJDEP> _c?>