Generate error pages
This commit is contained in:
parent
e4106ef46c
commit
5e8781baf7
52
gen_site.pl
52
gen_site.pl
|
@ -18,21 +18,39 @@ use Thread::Queue;
|
|||
|
||||
our $outdir = "outest";
|
||||
our $outteams = "/teams/";
|
||||
our $outerrors = "/errors/";
|
||||
our $outhome = "/htdocs/";
|
||||
our $tmpdir = tempdir();
|
||||
|
||||
our $baseurl = "http://localhost";
|
||||
our $baseadmin = "/admin/";
|
||||
our $basehome = "/";
|
||||
our $baseerrors = "/errors/";
|
||||
our $baseteams = "/connected/";
|
||||
our $threads = 6;
|
||||
|
||||
sub genErrors(;$)
|
||||
{
|
||||
my $m = shift // Mirror->new();
|
||||
|
||||
$m->add_url($baseerrors . "400");
|
||||
$m->add_url($baseerrors . "403");
|
||||
$m->add_url($baseerrors . "404");
|
||||
$m->add_url($baseerrors . "413");
|
||||
$m->add_url($baseerrors . "500");
|
||||
$m->add_url($baseerrors . "502");
|
||||
|
||||
return $m;
|
||||
}
|
||||
|
||||
sub genHome(;$)
|
||||
{
|
||||
my $m = shift // Mirror->new();
|
||||
$m->add_url($basehome . "index.html");
|
||||
$m->add_url($basehome);
|
||||
|
||||
genErrors($m);
|
||||
|
||||
return $m;
|
||||
}
|
||||
|
||||
|
@ -96,11 +114,16 @@ sub manage
|
|||
say "Generate all teams";
|
||||
genFull($m);
|
||||
}
|
||||
elsif (/^HOME$/)
|
||||
elsif (/^HOME/)
|
||||
{
|
||||
say "Generate full public part";
|
||||
genHome($m);
|
||||
}
|
||||
elsif (/^ERRORS?/)
|
||||
{
|
||||
say "Generate errors pages";
|
||||
genErrors($m);
|
||||
}
|
||||
elsif (/^TEAM([0-9]+)$/)
|
||||
{
|
||||
say "Generate team: $1";
|
||||
|
@ -178,12 +201,13 @@ sub sync
|
|||
if (-f)
|
||||
{
|
||||
my $todir = $File::Find::dir."/";
|
||||
if ($todir =~ /^\Q$main::tmpdir\E\/?(\Q$main::baseadmin\E|\Q$main::baseteams\E|\Q$main::basehome\E)(.*)$/)
|
||||
if ($todir =~ /^\Q$main::tmpdir\E\/?(\Q$main::baseadmin\E|\Q$main::baseteams\E|\Q$main::baseerrors\E|\Q$main::basehome\E)(.*)$/)
|
||||
{
|
||||
$todir = $tmpcopy;
|
||||
|
||||
return if ($1 eq $main::baseadmin);
|
||||
$todir .= $main::outteams if ($1 eq $main::baseteams);
|
||||
$todir .= $main::outerrors if ($1 eq $main::baseerrors);
|
||||
$todir .= $main::outhome if ($1 eq $main::basehome);
|
||||
|
||||
$todir .= $2;
|
||||
|
@ -220,6 +244,7 @@ sub sync
|
|||
|
||||
return if ($1 eq $main::baseadmin);
|
||||
$todir .= $main::outteams if ($1 eq $main::baseteams);
|
||||
$todir .= $main::outerrors if ($1 eq $main::baseerrors);
|
||||
$todir .= $main::outhome if ($1 eq $main::basehome);
|
||||
|
||||
$todir .= $2;
|
||||
|
@ -533,7 +558,7 @@ sub run
|
|||
|
||||
for my $link (@links)
|
||||
{
|
||||
$self->add_url($link) if ($link ne $url && $link =~ /^?\Q$url\E/);
|
||||
$self->add_url($link) if ($link ne $url && ($link =~ /^?\Q$url\E/) || $p->{url} =~ /\.css$/);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -611,16 +636,23 @@ sub getNearLinks($)
|
|||
{
|
||||
my $self = shift;
|
||||
|
||||
my @links = $self->{content} =~ /(?:src|href)="(?:\Q$main::baseurl\E|(?:\/?\.\.)+)?([^:"]+)"/g;
|
||||
|
||||
for my $action ($self->{content} =~ /action="(?:\Q$main::baseurl\E|(?:\/?\.\.)+)?([^:"]+)"/g)
|
||||
if ($self->{url} =~ /\.css$/)
|
||||
{
|
||||
push @links, $action;
|
||||
push @links, "$action/gerr";
|
||||
push @links, "$action/serr";
|
||||
return $self->{content} =~ /url\(["']?(?:\Q$main::baseurl\E|(?:\/?\.\.)+)?([^:)"'?#]+)/g;
|
||||
}
|
||||
else
|
||||
{
|
||||
my @links = $self->{content} =~ /(?:src|href)="(?:\Q$main::baseurl\E|(?:\/?\.\.)+)?([^:"]+)"/g;
|
||||
|
||||
return @links;
|
||||
for my $action ($self->{content} =~ /action="(?:\Q$main::baseurl\E|(?:\/?\.\.)+)?([^:"]+)"/g)
|
||||
{
|
||||
push @links, $action;
|
||||
push @links, "$action/gerr";
|
||||
push @links, "$action/serr";
|
||||
}
|
||||
|
||||
return @links;
|
||||
}
|
||||
}
|
||||
|
||||
sub treatLinks($)
|
||||
|
|
|
@ -217,6 +217,11 @@ else
|
|||
{
|
||||
if ($n == 0)
|
||||
$page = require("public/home.php");
|
||||
else if ($n && $p[0] == "errors")
|
||||
{
|
||||
$template->assign("err", intval($p[1]));
|
||||
$page = "err";
|
||||
}
|
||||
else if ($n == 1)
|
||||
{
|
||||
$TEAM = intval(substr($p[0], 0, strpos($p[0], "-")));
|
||||
|
@ -232,7 +237,7 @@ else
|
|||
if (empty($page) || $page == "404" || ! file_exists(ONYX . "/tpl/bootstrap/".$page.".tpl"))
|
||||
{
|
||||
$template->assign("err", 404);
|
||||
$template->display("404.tpl");
|
||||
$template->display("err.tpl");
|
||||
}
|
||||
else
|
||||
$template->display($page.".tpl");
|
||||
|
|
|
@ -1 +1,8 @@
|
|||
{"403":{"title":"Erreur 403","subtitle":"Accès réglementé","content":"Vous n'\u00eates pas autoris\u00e9 \u00e0 acc\u00e9der \u00e0 cette page."},"404":{"title":"Erreur 404","subtitle":"Page introuvable","content":"La page à laquelle vous tentez d'accéder n'existe pas ou l'adresse que vous avez tapée est incorrecte."},"500":{"title":"Erreur 500","subtitle":"Serveur indisponible","content":"Le serveur est actuellement dans l'incapacit\u00e9 de repondre \u00e0 votre requ\u00eate.<br \/><br \/>Veuillez recommencer plus tard."}}
|
||||
{
|
||||
"400":{"title":"Erreur 400","subtitle":"Requête erronée","content":"Vérifiez les paramètres de votre navigateur, il est très probable que ce problème soit lié à un mauvais certificat client : invalide, révoqué, ..."},
|
||||
"403":{"title":"Erreur 403","subtitle":"Accés réglementé","content":"Vous n'êtes pas autorisé à accéder à cette page."},
|
||||
"404":{"title":"Erreur 404","subtitle":"Page introuvable","content":"La page à laquelle vous tentez d'accéder n'existe pas ou l'adresse que vous avez tapée est incorrecte."},
|
||||
"413":{"title":"Erreur 413","subtitle":"Requête trop grande","content":"Vous tentez d'envoyer trop de données que ce que le serveur est prêt ou est capable de traiter."},
|
||||
"500":{"title":"Erreur 500","subtitle":"Erreur interne","content":"Le serveur est actuellement dans l'incapacité de repondre à votre requête.<br><br>Veuillez recommencer plus tard."},
|
||||
"502":{"title":"Erreur 502","subtitle":"Erreur de la passerelle (gateway)","content":"Le serveur est actuellement dans l'incapacité de repondre à votre requête.<br><br>Veuillez recommencer dans quelques instants."}
|
||||
}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
{extends file="layout.tpl"}
|
||||
{block name=content}
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
{text file="erreurs" path="$err/title"}
|
||||
<small>{text file="erreurs" path="$err/subtitle"}</small>
|
||||
</h1>
|
||||
</div>
|
||||
<p>
|
||||
{text file="erreurs" path="$err/content"}
|
||||
</p>
|
||||
{/block}
|
|
@ -0,0 +1,15 @@
|
|||
{extends file="layout.tpl"}
|
||||
|
||||
{block name=content}
|
||||
<div class="jumbotron">
|
||||
<div class="container">
|
||||
<h1>
|
||||
{text file="erreurs" path="$err/title"}
|
||||
<small>{text file="erreurs" path="$err/subtitle"}</small>
|
||||
</h1>
|
||||
<p>
|
||||
{text file="erreurs" path="$err/content"}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
|
@ -15,6 +15,7 @@ then
|
|||
OPTS="$OPTS --delete"
|
||||
fi
|
||||
|
||||
rsync -e ssh -av $OPTS out/errors phobos:~/
|
||||
rsync -e ssh -av $OPTS out/htdocs phobos:~/
|
||||
rsync -e ssh -av $OPTS out/teams phobos:~/
|
||||
rsync -e ssh -av $OPTS files phobos:~/
|
||||
|
|
Loading…
Reference in New Issue