mirror of
https://framagit.org/fiat-tux/hat-softwares/lutim.git
synced 2026-08-09 18:33:02 +02:00
Fix #7
This commit is contained in:
@@ -362,6 +362,7 @@
|
||||
"css": [
|
||||
"print.less",
|
||||
"type.less",
|
||||
"grid.less",
|
||||
"tables.less",
|
||||
"forms.less",
|
||||
"buttons.less",
|
||||
|
||||
@@ -7,3 +7,4 @@ requires 'Text::Unidecode';
|
||||
requires 'DateTime';
|
||||
requires 'Filesys::DiskUsage';
|
||||
requires 'Switch';
|
||||
requires 'Data::Validate::URI';
|
||||
|
||||
+57
-4
@@ -2,10 +2,10 @@ package Lutim;
|
||||
use Mojo::Base 'Mojolicious';
|
||||
use LutimModel;
|
||||
use File::Type;
|
||||
use Mojo::Util qw(quote);
|
||||
use Mojo::JSON;;
|
||||
use Mojo::Util qw(quote url_unescape);
|
||||
use Digest::file qw(digest_file_hex);
|
||||
use Text::Unidecode;
|
||||
use Data::Validate::URI qw(is_http_uri is_https_uri);
|
||||
|
||||
$ENV{MOJO_TMPDIR} = 'tmp';
|
||||
mkdir($ENV{MOJO_TMPDIR}, 0700) unless (-d $ENV{MOJO_TMPDIR});
|
||||
@@ -198,10 +198,63 @@ sub startup {
|
||||
)->name('stats');
|
||||
|
||||
$r->post('/' => sub {
|
||||
my $c = shift;
|
||||
my $upload = $c->param('file');
|
||||
my $c = shift;
|
||||
my $upload = $c->param('file');
|
||||
my $file_url = $c->param('lutim-file-url');
|
||||
|
||||
if(!defined($c->stash('stop_upload'))) {
|
||||
if (defined($file_url)) {
|
||||
if (is_http_uri($file_url) || is_https_uri($file_url)) {
|
||||
my $ua = Mojo::UserAgent->new;
|
||||
my $tx = $ua->get($file_url => {DNT => 1});
|
||||
if (my $res = $tx->success) {
|
||||
$file_url = url_unescape $file_url;
|
||||
$file_url =~ m#^.*/([^/]*)$#;
|
||||
my $filename = $1;
|
||||
$filename = 'uploaded.image' unless (defined($filename));
|
||||
$filename .= '.image' if (index($filename, '.') == -1);
|
||||
$upload = Mojo::Upload->new(
|
||||
asset => $tx->res->content->asset,
|
||||
filename => $filename
|
||||
);
|
||||
} else {
|
||||
my $msg = $c->l('download_error');
|
||||
if (defined($c->param('format')) && $c->param('format') eq 'json') {
|
||||
return $c->render(
|
||||
json => {
|
||||
success => Mojo::JSON->false,
|
||||
msg => {
|
||||
filename => $file_url,
|
||||
msg => $msg
|
||||
}
|
||||
}
|
||||
);
|
||||
} else {
|
||||
$c->flash(msg => $msg);
|
||||
$c->flash(filename => $file_url);
|
||||
return $c->redirect_to('/');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
my $msg = $c->l('no_valid_url');
|
||||
if (defined($c->param('format')) && $c->param('format') eq 'json') {
|
||||
return $c->render(
|
||||
json => {
|
||||
success => Mojo::JSON->false,
|
||||
msg => {
|
||||
filename => $file_url,
|
||||
msg => $msg
|
||||
}
|
||||
}
|
||||
);
|
||||
} else {
|
||||
$c->flash(msg => $msg);
|
||||
$c->flash(filename => $file_url);
|
||||
return $c->redirect_to('/');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
my $ft = File::Type->new();
|
||||
my $mediatype = $ft->mime_type($upload->slurp());
|
||||
|
||||
|
||||
@@ -55,6 +55,10 @@ our %Lexicon = (
|
||||
'lutim-stats' => 'LUTIm\'s statistics',
|
||||
'back-to-index' => 'Back to homepage',
|
||||
'stop_upload' => 'Uploading is currently disabled, please try later or contact the administrator ([_1]).',
|
||||
'download_error' => 'An error occured while downloading the image.',
|
||||
'no_valid_url' => 'The URL is not valid.',
|
||||
'image_url' => 'Image URL',
|
||||
'upload_image_url' => 'Upload an image with its URL',
|
||||
);
|
||||
|
||||
1;
|
||||
|
||||
@@ -55,6 +55,10 @@ our %Lexicon = (
|
||||
'lutim-stats' => 'Statistiques de LUTIm',
|
||||
'back-to-index' => 'Retour à la page d\'accueil',
|
||||
'stop_upload' => 'L\'envoi d\'images est actuellement désactivé, veuillez réessayer plus ou contacter l\'administrateur ([_1]).',
|
||||
'download_error' => 'Une erreur est survenue lors du téléchargement de l\'image.',
|
||||
'no_valid_url' => 'l\'URL n\'est pas valide.',
|
||||
'image_url' => 'URL de l\'image',
|
||||
'upload_image_url' => 'Déposer une image par son URL',
|
||||
);
|
||||
|
||||
1;
|
||||
|
||||
Vendored
+676
@@ -680,6 +680,673 @@ address {
|
||||
font-style: normal;
|
||||
line-height: 1.42857143;
|
||||
}
|
||||
.container {
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.container {
|
||||
width: 750px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 992px) {
|
||||
.container {
|
||||
width: 970px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
.container {
|
||||
width: 1170px;
|
||||
}
|
||||
}
|
||||
.container-fluid {
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
.row {
|
||||
margin-left: -15px;
|
||||
margin-right: -15px;
|
||||
}
|
||||
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
|
||||
position: relative;
|
||||
min-height: 1px;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
|
||||
float: left;
|
||||
}
|
||||
.col-xs-12 {
|
||||
width: 100%;
|
||||
}
|
||||
.col-xs-11 {
|
||||
width: 91.66666667%;
|
||||
}
|
||||
.col-xs-10 {
|
||||
width: 83.33333333%;
|
||||
}
|
||||
.col-xs-9 {
|
||||
width: 75%;
|
||||
}
|
||||
.col-xs-8 {
|
||||
width: 66.66666667%;
|
||||
}
|
||||
.col-xs-7 {
|
||||
width: 58.33333333%;
|
||||
}
|
||||
.col-xs-6 {
|
||||
width: 50%;
|
||||
}
|
||||
.col-xs-5 {
|
||||
width: 41.66666667%;
|
||||
}
|
||||
.col-xs-4 {
|
||||
width: 33.33333333%;
|
||||
}
|
||||
.col-xs-3 {
|
||||
width: 25%;
|
||||
}
|
||||
.col-xs-2 {
|
||||
width: 16.66666667%;
|
||||
}
|
||||
.col-xs-1 {
|
||||
width: 8.33333333%;
|
||||
}
|
||||
.col-xs-pull-12 {
|
||||
right: 100%;
|
||||
}
|
||||
.col-xs-pull-11 {
|
||||
right: 91.66666667%;
|
||||
}
|
||||
.col-xs-pull-10 {
|
||||
right: 83.33333333%;
|
||||
}
|
||||
.col-xs-pull-9 {
|
||||
right: 75%;
|
||||
}
|
||||
.col-xs-pull-8 {
|
||||
right: 66.66666667%;
|
||||
}
|
||||
.col-xs-pull-7 {
|
||||
right: 58.33333333%;
|
||||
}
|
||||
.col-xs-pull-6 {
|
||||
right: 50%;
|
||||
}
|
||||
.col-xs-pull-5 {
|
||||
right: 41.66666667%;
|
||||
}
|
||||
.col-xs-pull-4 {
|
||||
right: 33.33333333%;
|
||||
}
|
||||
.col-xs-pull-3 {
|
||||
right: 25%;
|
||||
}
|
||||
.col-xs-pull-2 {
|
||||
right: 16.66666667%;
|
||||
}
|
||||
.col-xs-pull-1 {
|
||||
right: 8.33333333%;
|
||||
}
|
||||
.col-xs-pull-0 {
|
||||
right: 0%;
|
||||
}
|
||||
.col-xs-push-12 {
|
||||
left: 100%;
|
||||
}
|
||||
.col-xs-push-11 {
|
||||
left: 91.66666667%;
|
||||
}
|
||||
.col-xs-push-10 {
|
||||
left: 83.33333333%;
|
||||
}
|
||||
.col-xs-push-9 {
|
||||
left: 75%;
|
||||
}
|
||||
.col-xs-push-8 {
|
||||
left: 66.66666667%;
|
||||
}
|
||||
.col-xs-push-7 {
|
||||
left: 58.33333333%;
|
||||
}
|
||||
.col-xs-push-6 {
|
||||
left: 50%;
|
||||
}
|
||||
.col-xs-push-5 {
|
||||
left: 41.66666667%;
|
||||
}
|
||||
.col-xs-push-4 {
|
||||
left: 33.33333333%;
|
||||
}
|
||||
.col-xs-push-3 {
|
||||
left: 25%;
|
||||
}
|
||||
.col-xs-push-2 {
|
||||
left: 16.66666667%;
|
||||
}
|
||||
.col-xs-push-1 {
|
||||
left: 8.33333333%;
|
||||
}
|
||||
.col-xs-push-0 {
|
||||
left: 0%;
|
||||
}
|
||||
.col-xs-offset-12 {
|
||||
margin-left: 100%;
|
||||
}
|
||||
.col-xs-offset-11 {
|
||||
margin-left: 91.66666667%;
|
||||
}
|
||||
.col-xs-offset-10 {
|
||||
margin-left: 83.33333333%;
|
||||
}
|
||||
.col-xs-offset-9 {
|
||||
margin-left: 75%;
|
||||
}
|
||||
.col-xs-offset-8 {
|
||||
margin-left: 66.66666667%;
|
||||
}
|
||||
.col-xs-offset-7 {
|
||||
margin-left: 58.33333333%;
|
||||
}
|
||||
.col-xs-offset-6 {
|
||||
margin-left: 50%;
|
||||
}
|
||||
.col-xs-offset-5 {
|
||||
margin-left: 41.66666667%;
|
||||
}
|
||||
.col-xs-offset-4 {
|
||||
margin-left: 33.33333333%;
|
||||
}
|
||||
.col-xs-offset-3 {
|
||||
margin-left: 25%;
|
||||
}
|
||||
.col-xs-offset-2 {
|
||||
margin-left: 16.66666667%;
|
||||
}
|
||||
.col-xs-offset-1 {
|
||||
margin-left: 8.33333333%;
|
||||
}
|
||||
.col-xs-offset-0 {
|
||||
margin-left: 0%;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
|
||||
float: left;
|
||||
}
|
||||
.col-sm-12 {
|
||||
width: 100%;
|
||||
}
|
||||
.col-sm-11 {
|
||||
width: 91.66666667%;
|
||||
}
|
||||
.col-sm-10 {
|
||||
width: 83.33333333%;
|
||||
}
|
||||
.col-sm-9 {
|
||||
width: 75%;
|
||||
}
|
||||
.col-sm-8 {
|
||||
width: 66.66666667%;
|
||||
}
|
||||
.col-sm-7 {
|
||||
width: 58.33333333%;
|
||||
}
|
||||
.col-sm-6 {
|
||||
width: 50%;
|
||||
}
|
||||
.col-sm-5 {
|
||||
width: 41.66666667%;
|
||||
}
|
||||
.col-sm-4 {
|
||||
width: 33.33333333%;
|
||||
}
|
||||
.col-sm-3 {
|
||||
width: 25%;
|
||||
}
|
||||
.col-sm-2 {
|
||||
width: 16.66666667%;
|
||||
}
|
||||
.col-sm-1 {
|
||||
width: 8.33333333%;
|
||||
}
|
||||
.col-sm-pull-12 {
|
||||
right: 100%;
|
||||
}
|
||||
.col-sm-pull-11 {
|
||||
right: 91.66666667%;
|
||||
}
|
||||
.col-sm-pull-10 {
|
||||
right: 83.33333333%;
|
||||
}
|
||||
.col-sm-pull-9 {
|
||||
right: 75%;
|
||||
}
|
||||
.col-sm-pull-8 {
|
||||
right: 66.66666667%;
|
||||
}
|
||||
.col-sm-pull-7 {
|
||||
right: 58.33333333%;
|
||||
}
|
||||
.col-sm-pull-6 {
|
||||
right: 50%;
|
||||
}
|
||||
.col-sm-pull-5 {
|
||||
right: 41.66666667%;
|
||||
}
|
||||
.col-sm-pull-4 {
|
||||
right: 33.33333333%;
|
||||
}
|
||||
.col-sm-pull-3 {
|
||||
right: 25%;
|
||||
}
|
||||
.col-sm-pull-2 {
|
||||
right: 16.66666667%;
|
||||
}
|
||||
.col-sm-pull-1 {
|
||||
right: 8.33333333%;
|
||||
}
|
||||
.col-sm-pull-0 {
|
||||
right: 0%;
|
||||
}
|
||||
.col-sm-push-12 {
|
||||
left: 100%;
|
||||
}
|
||||
.col-sm-push-11 {
|
||||
left: 91.66666667%;
|
||||
}
|
||||
.col-sm-push-10 {
|
||||
left: 83.33333333%;
|
||||
}
|
||||
.col-sm-push-9 {
|
||||
left: 75%;
|
||||
}
|
||||
.col-sm-push-8 {
|
||||
left: 66.66666667%;
|
||||
}
|
||||
.col-sm-push-7 {
|
||||
left: 58.33333333%;
|
||||
}
|
||||
.col-sm-push-6 {
|
||||
left: 50%;
|
||||
}
|
||||
.col-sm-push-5 {
|
||||
left: 41.66666667%;
|
||||
}
|
||||
.col-sm-push-4 {
|
||||
left: 33.33333333%;
|
||||
}
|
||||
.col-sm-push-3 {
|
||||
left: 25%;
|
||||
}
|
||||
.col-sm-push-2 {
|
||||
left: 16.66666667%;
|
||||
}
|
||||
.col-sm-push-1 {
|
||||
left: 8.33333333%;
|
||||
}
|
||||
.col-sm-push-0 {
|
||||
left: 0%;
|
||||
}
|
||||
.col-sm-offset-12 {
|
||||
margin-left: 100%;
|
||||
}
|
||||
.col-sm-offset-11 {
|
||||
margin-left: 91.66666667%;
|
||||
}
|
||||
.col-sm-offset-10 {
|
||||
margin-left: 83.33333333%;
|
||||
}
|
||||
.col-sm-offset-9 {
|
||||
margin-left: 75%;
|
||||
}
|
||||
.col-sm-offset-8 {
|
||||
margin-left: 66.66666667%;
|
||||
}
|
||||
.col-sm-offset-7 {
|
||||
margin-left: 58.33333333%;
|
||||
}
|
||||
.col-sm-offset-6 {
|
||||
margin-left: 50%;
|
||||
}
|
||||
.col-sm-offset-5 {
|
||||
margin-left: 41.66666667%;
|
||||
}
|
||||
.col-sm-offset-4 {
|
||||
margin-left: 33.33333333%;
|
||||
}
|
||||
.col-sm-offset-3 {
|
||||
margin-left: 25%;
|
||||
}
|
||||
.col-sm-offset-2 {
|
||||
margin-left: 16.66666667%;
|
||||
}
|
||||
.col-sm-offset-1 {
|
||||
margin-left: 8.33333333%;
|
||||
}
|
||||
.col-sm-offset-0 {
|
||||
margin-left: 0%;
|
||||
}
|
||||
}
|
||||
@media (min-width: 992px) {
|
||||
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
|
||||
float: left;
|
||||
}
|
||||
.col-md-12 {
|
||||
width: 100%;
|
||||
}
|
||||
.col-md-11 {
|
||||
width: 91.66666667%;
|
||||
}
|
||||
.col-md-10 {
|
||||
width: 83.33333333%;
|
||||
}
|
||||
.col-md-9 {
|
||||
width: 75%;
|
||||
}
|
||||
.col-md-8 {
|
||||
width: 66.66666667%;
|
||||
}
|
||||
.col-md-7 {
|
||||
width: 58.33333333%;
|
||||
}
|
||||
.col-md-6 {
|
||||
width: 50%;
|
||||
}
|
||||
.col-md-5 {
|
||||
width: 41.66666667%;
|
||||
}
|
||||
.col-md-4 {
|
||||
width: 33.33333333%;
|
||||
}
|
||||
.col-md-3 {
|
||||
width: 25%;
|
||||
}
|
||||
.col-md-2 {
|
||||
width: 16.66666667%;
|
||||
}
|
||||
.col-md-1 {
|
||||
width: 8.33333333%;
|
||||
}
|
||||
.col-md-pull-12 {
|
||||
right: 100%;
|
||||
}
|
||||
.col-md-pull-11 {
|
||||
right: 91.66666667%;
|
||||
}
|
||||
.col-md-pull-10 {
|
||||
right: 83.33333333%;
|
||||
}
|
||||
.col-md-pull-9 {
|
||||
right: 75%;
|
||||
}
|
||||
.col-md-pull-8 {
|
||||
right: 66.66666667%;
|
||||
}
|
||||
.col-md-pull-7 {
|
||||
right: 58.33333333%;
|
||||
}
|
||||
.col-md-pull-6 {
|
||||
right: 50%;
|
||||
}
|
||||
.col-md-pull-5 {
|
||||
right: 41.66666667%;
|
||||
}
|
||||
.col-md-pull-4 {
|
||||
right: 33.33333333%;
|
||||
}
|
||||
.col-md-pull-3 {
|
||||
right: 25%;
|
||||
}
|
||||
.col-md-pull-2 {
|
||||
right: 16.66666667%;
|
||||
}
|
||||
.col-md-pull-1 {
|
||||
right: 8.33333333%;
|
||||
}
|
||||
.col-md-pull-0 {
|
||||
right: 0%;
|
||||
}
|
||||
.col-md-push-12 {
|
||||
left: 100%;
|
||||
}
|
||||
.col-md-push-11 {
|
||||
left: 91.66666667%;
|
||||
}
|
||||
.col-md-push-10 {
|
||||
left: 83.33333333%;
|
||||
}
|
||||
.col-md-push-9 {
|
||||
left: 75%;
|
||||
}
|
||||
.col-md-push-8 {
|
||||
left: 66.66666667%;
|
||||
}
|
||||
.col-md-push-7 {
|
||||
left: 58.33333333%;
|
||||
}
|
||||
.col-md-push-6 {
|
||||
left: 50%;
|
||||
}
|
||||
.col-md-push-5 {
|
||||
left: 41.66666667%;
|
||||
}
|
||||
.col-md-push-4 {
|
||||
left: 33.33333333%;
|
||||
}
|
||||
.col-md-push-3 {
|
||||
left: 25%;
|
||||
}
|
||||
.col-md-push-2 {
|
||||
left: 16.66666667%;
|
||||
}
|
||||
.col-md-push-1 {
|
||||
left: 8.33333333%;
|
||||
}
|
||||
.col-md-push-0 {
|
||||
left: 0%;
|
||||
}
|
||||
.col-md-offset-12 {
|
||||
margin-left: 100%;
|
||||
}
|
||||
.col-md-offset-11 {
|
||||
margin-left: 91.66666667%;
|
||||
}
|
||||
.col-md-offset-10 {
|
||||
margin-left: 83.33333333%;
|
||||
}
|
||||
.col-md-offset-9 {
|
||||
margin-left: 75%;
|
||||
}
|
||||
.col-md-offset-8 {
|
||||
margin-left: 66.66666667%;
|
||||
}
|
||||
.col-md-offset-7 {
|
||||
margin-left: 58.33333333%;
|
||||
}
|
||||
.col-md-offset-6 {
|
||||
margin-left: 50%;
|
||||
}
|
||||
.col-md-offset-5 {
|
||||
margin-left: 41.66666667%;
|
||||
}
|
||||
.col-md-offset-4 {
|
||||
margin-left: 33.33333333%;
|
||||
}
|
||||
.col-md-offset-3 {
|
||||
margin-left: 25%;
|
||||
}
|
||||
.col-md-offset-2 {
|
||||
margin-left: 16.66666667%;
|
||||
}
|
||||
.col-md-offset-1 {
|
||||
margin-left: 8.33333333%;
|
||||
}
|
||||
.col-md-offset-0 {
|
||||
margin-left: 0%;
|
||||
}
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
|
||||
float: left;
|
||||
}
|
||||
.col-lg-12 {
|
||||
width: 100%;
|
||||
}
|
||||
.col-lg-11 {
|
||||
width: 91.66666667%;
|
||||
}
|
||||
.col-lg-10 {
|
||||
width: 83.33333333%;
|
||||
}
|
||||
.col-lg-9 {
|
||||
width: 75%;
|
||||
}
|
||||
.col-lg-8 {
|
||||
width: 66.66666667%;
|
||||
}
|
||||
.col-lg-7 {
|
||||
width: 58.33333333%;
|
||||
}
|
||||
.col-lg-6 {
|
||||
width: 50%;
|
||||
}
|
||||
.col-lg-5 {
|
||||
width: 41.66666667%;
|
||||
}
|
||||
.col-lg-4 {
|
||||
width: 33.33333333%;
|
||||
}
|
||||
.col-lg-3 {
|
||||
width: 25%;
|
||||
}
|
||||
.col-lg-2 {
|
||||
width: 16.66666667%;
|
||||
}
|
||||
.col-lg-1 {
|
||||
width: 8.33333333%;
|
||||
}
|
||||
.col-lg-pull-12 {
|
||||
right: 100%;
|
||||
}
|
||||
.col-lg-pull-11 {
|
||||
right: 91.66666667%;
|
||||
}
|
||||
.col-lg-pull-10 {
|
||||
right: 83.33333333%;
|
||||
}
|
||||
.col-lg-pull-9 {
|
||||
right: 75%;
|
||||
}
|
||||
.col-lg-pull-8 {
|
||||
right: 66.66666667%;
|
||||
}
|
||||
.col-lg-pull-7 {
|
||||
right: 58.33333333%;
|
||||
}
|
||||
.col-lg-pull-6 {
|
||||
right: 50%;
|
||||
}
|
||||
.col-lg-pull-5 {
|
||||
right: 41.66666667%;
|
||||
}
|
||||
.col-lg-pull-4 {
|
||||
right: 33.33333333%;
|
||||
}
|
||||
.col-lg-pull-3 {
|
||||
right: 25%;
|
||||
}
|
||||
.col-lg-pull-2 {
|
||||
right: 16.66666667%;
|
||||
}
|
||||
.col-lg-pull-1 {
|
||||
right: 8.33333333%;
|
||||
}
|
||||
.col-lg-pull-0 {
|
||||
right: 0%;
|
||||
}
|
||||
.col-lg-push-12 {
|
||||
left: 100%;
|
||||
}
|
||||
.col-lg-push-11 {
|
||||
left: 91.66666667%;
|
||||
}
|
||||
.col-lg-push-10 {
|
||||
left: 83.33333333%;
|
||||
}
|
||||
.col-lg-push-9 {
|
||||
left: 75%;
|
||||
}
|
||||
.col-lg-push-8 {
|
||||
left: 66.66666667%;
|
||||
}
|
||||
.col-lg-push-7 {
|
||||
left: 58.33333333%;
|
||||
}
|
||||
.col-lg-push-6 {
|
||||
left: 50%;
|
||||
}
|
||||
.col-lg-push-5 {
|
||||
left: 41.66666667%;
|
||||
}
|
||||
.col-lg-push-4 {
|
||||
left: 33.33333333%;
|
||||
}
|
||||
.col-lg-push-3 {
|
||||
left: 25%;
|
||||
}
|
||||
.col-lg-push-2 {
|
||||
left: 16.66666667%;
|
||||
}
|
||||
.col-lg-push-1 {
|
||||
left: 8.33333333%;
|
||||
}
|
||||
.col-lg-push-0 {
|
||||
left: 0%;
|
||||
}
|
||||
.col-lg-offset-12 {
|
||||
margin-left: 100%;
|
||||
}
|
||||
.col-lg-offset-11 {
|
||||
margin-left: 91.66666667%;
|
||||
}
|
||||
.col-lg-offset-10 {
|
||||
margin-left: 83.33333333%;
|
||||
}
|
||||
.col-lg-offset-9 {
|
||||
margin-left: 75%;
|
||||
}
|
||||
.col-lg-offset-8 {
|
||||
margin-left: 66.66666667%;
|
||||
}
|
||||
.col-lg-offset-7 {
|
||||
margin-left: 58.33333333%;
|
||||
}
|
||||
.col-lg-offset-6 {
|
||||
margin-left: 50%;
|
||||
}
|
||||
.col-lg-offset-5 {
|
||||
margin-left: 41.66666667%;
|
||||
}
|
||||
.col-lg-offset-4 {
|
||||
margin-left: 33.33333333%;
|
||||
}
|
||||
.col-lg-offset-3 {
|
||||
margin-left: 25%;
|
||||
}
|
||||
.col-lg-offset-2 {
|
||||
margin-left: 16.66666667%;
|
||||
}
|
||||
.col-lg-offset-1 {
|
||||
margin-left: 8.33333333%;
|
||||
}
|
||||
.col-lg-offset-0 {
|
||||
margin-left: 0%;
|
||||
}
|
||||
}
|
||||
table {
|
||||
max-width: 100%;
|
||||
background-color: transparent;
|
||||
@@ -2093,6 +2760,12 @@ button.close {
|
||||
}
|
||||
.clearfix:before,
|
||||
.clearfix:after,
|
||||
.container:before,
|
||||
.container:after,
|
||||
.container-fluid:before,
|
||||
.container-fluid:after,
|
||||
.row:before,
|
||||
.row:after,
|
||||
.form-horizontal .form-group:before,
|
||||
.form-horizontal .form-group:after,
|
||||
.modal-footer:before,
|
||||
@@ -2101,6 +2774,9 @@ button.close {
|
||||
display: table;
|
||||
}
|
||||
.clearfix:after,
|
||||
.container:after,
|
||||
.container-fluid:after,
|
||||
.row:after,
|
||||
.form-horizontal .form-group:after,
|
||||
.modal-footer:after {
|
||||
clear: both;
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
@@ -1,5 +1,6 @@
|
||||
|
||||
.icon-bitcoin:before { content: '\e802'; } /* '' */
|
||||
.icon-spinner:before { content: '\e805'; } /* '' */
|
||||
.icon-github-circled:before { content: '\e800'; } /* '' */
|
||||
.icon-touiteur:before { content: '\e801'; } /* '' */
|
||||
.icon-flattr:before { content: '\e803'; } /* '' */
|
||||
Vendored
+7
-6
File diff suppressed because one or more lines are too long
Vendored
+1
@@ -1,5 +1,6 @@
|
||||
|
||||
.icon-bitcoin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spinner { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-github-circled { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-touiteur { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-flattr { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
Vendored
+1
@@ -11,6 +11,7 @@
|
||||
}
|
||||
|
||||
.icon-bitcoin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spinner { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-github-circled { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-touiteur { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-flattr { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
Vendored
+7
-6
@@ -1,10 +1,10 @@
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('../font/fontello.eot?4658339');
|
||||
src: url('../font/fontello.eot?4658339#iefix') format('embedded-opentype'),
|
||||
url('../font/fontello.woff?4658339') format('woff'),
|
||||
url('../font/fontello.ttf?4658339') format('truetype'),
|
||||
url('../font/fontello.svg?4658339#fontello') format('svg');
|
||||
src: url('../font/fontello.eot?14228411');
|
||||
src: url('../font/fontello.eot?14228411#iefix') format('embedded-opentype'),
|
||||
url('../font/fontello.woff?14228411') format('woff'),
|
||||
url('../font/fontello.ttf?14228411') format('truetype'),
|
||||
url('../font/fontello.svg?14228411#fontello') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('../font/fontello.svg?4658339#fontello') format('svg');
|
||||
src: url('../font/fontello.svg?14228411#fontello') format('svg');
|
||||
}
|
||||
}
|
||||
*/
|
||||
@@ -51,6 +51,7 @@
|
||||
}
|
||||
|
||||
.icon-bitcoin:before { content: '\e802'; } /* '' */
|
||||
.icon-spinner:before { content: '\e805'; } /* '' */
|
||||
.icon-github-circled:before { content: '\e800'; } /* '' */
|
||||
.icon-touiteur:before { content: '\e801'; } /* '' */
|
||||
.icon-flattr:before { content: '\e803'; } /* '' */
|
||||
Binary file not shown.
@@ -7,6 +7,7 @@
|
||||
<font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
|
||||
<missing-glyph horiz-adv-x="1000" />
|
||||
<glyph glyph-name="bitcoin" unicode="" d="m651 493q10-102-73-144q65-16 98-58t25-119q-4-40-18-70t-36-49t-54-33t-68-19t-81-9v-142h-86v140q-45 0-68 1v-141h-86v142q-10 0-30 1t-31 0h-112l18 102h62q27 0 32 28v225h9q-4 0-9 0v160q-7 38-50 38h-62v92l119-1q35 0 54 1v141h86v-138q45 1 68 1v137h86v-141q44-4 78-13t63-25t46-43t20-64z m-120-304q0 20-8 35t-21 26t-32 17t-36 10t-42 5t-38 2t-36 0t-27-1v-189q5 0 21 0t27 0t29 1t33 2t32 5t31 8t26 11t22 17t14 22t5 29z m-39 265q0 19-7 33t-17 23t-27 16t-31 9t-34 5t-33 1t-30 0t-22-1v-171q3 0 20 0t26 0t27 1t31 3t29 6t27 10t21 15t15 22t5 28z" horiz-adv-x="714.3" />
|
||||
<glyph glyph-name="spinner" unicode="" d="m277 100q0-33-24-57t-57-23q-33 0-56 23t-24 57t24 57t56 23q33 0 57-23t24-57z m241-107q0-30-21-51t-51-21t-50 21t-21 51t21 50t50 21t51-21t21-50z m-339 357q0-37-27-63t-63-26t-63 26t-26 63t26 63t63 26t63-26t27-63z m580-250q0-26-18-44t-45-18t-44 18t-18 44t18 44t44 19t45-19t18-44z m-464 500q0-41-29-69t-70-29t-69 29t-29 69t29 69t69 29t70-29t29-69z m259 107q0-45-32-76t-76-31t-75 31t-32 76t32 76t75 31t76-31t32-76z m303-357q0-22-15-38t-38-16t-38 16t-16 38t16 38t38 16t38-16t15-38z m-116 250q0-18-13-32t-32-13t-31 13t-13 32t13 31t31 14t32-14t13-31z" horiz-adv-x="875" />
|
||||
<glyph glyph-name="github-circled" unicode="" d="m857 350q0-140-82-252t-211-155q-15-3-22 4t-7 17v118q0 54-29 79q32 3 57 10t53 22t45 37t30 58t11 84q0 68-44 115q21 51-5 114q-15 5-45-6t-51-25l-21-13q-52 15-107 15t-108-15q-8 6-23 15t-47 22t-48 7q-24-63-4-114q-44-47-44-115q0-47 12-83t29-59t45-37t52-22t57-10q-22-20-27-58q-12-5-25-8t-32-3t-36 12t-31 35q-11 18-27 29t-28 14l-11 1q-12 0-16-2t-3-7t5-8t7-6l4-3q12-6 24-21t18-29l5-13q8-21 25-34t37-17t39-4t31 2l13 3q0-22 0-50t1-30q0-10-8-17t-22-4q-129 43-211 155t-82 252q0 117 58 215t155 156t216 58t215-58t156-156t57-215z" horiz-adv-x="857.1" />
|
||||
<glyph glyph-name="touiteur" unicode="" d="m904 622q-37-54-90-93q0-8 0-23q0-73-21-145t-64-139t-103-117t-144-82t-181-30q-151 0-276 81q19-3 43-3q126 0 224 77q-59 2-105 36t-64 89q19-2 34-2q24 0 48 6q-63 13-104 62t-41 115v2q38-21 82-23q-37 25-59 64t-22 86q0 49 25 91q68-83 164-133t208-55q-5 21-5 41q0 75 53 127t127 53q79 0 132-57q61 12 114 44q-20-64-79-100q52 6 104 28z" horiz-adv-x="928.6" />
|
||||
<glyph glyph-name="flattr" unicode="" d="m180 424l0-210l-180-180l0 414q0 302 278 302l442 0l-312-310q-6-6-10-6q-8 0-12 10l0 128q-98 0-112-2q-94-16-94-146z m440 64l180 180l0-414q0-304-278-304l-440 0l312 312q2 6 8 6q8 0 12-10l0-128q98 0 112 2q94 16 94 146l0 210z" horiz-adv-x="800" />
|
||||
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.9 KiB |
Binary file not shown.
Binary file not shown.
+52
-2
@@ -43,7 +43,11 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="lutim-file"><%=l 'upload_image' %></label>
|
||||
<input type="file" name="file" id="lutim-file" required>
|
||||
<input type="file" name="file" id="lutim-file">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="lutim-file-url"><%=l 'upload_image_url' %></label>
|
||||
<input type="url" name="lutim-file-url" id="lutim-file-url" placeholder="<%=l 'image_url' %>">
|
||||
<p class="help-block"><%=l 'image-only' %></p>
|
||||
</div>
|
||||
<%= submit_button l('go'), class => 'btn btn-default btn-primary', id => 'submitbutton' %>
|
||||
@@ -80,6 +84,16 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<p class="help-block"><%=l 'image-only' %></p>
|
||||
<form class="form-horizontal" role="form" method="POST" action="<%== url_for('add') %>">
|
||||
<div class="form-group">
|
||||
<span class="col-sm-3"><span class="hidden-spin" style="font-size:200%; display:none;" > <i class="icon-spinner animate-spin pull-right"></i></span><label for="lutim-file-url" class="control-label pull-right"><%=l 'upload_image_url' %></label></span>
|
||||
<div class="col-sm-9">
|
||||
<input type="url" name="file-url" class="form-control" id="lutim-file-url" placeholder="<%=l 'image_url' %>">
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" class="btn btn-default btn-primary pull-right" id="file-url-button"><%=l 'go' %></a>
|
||||
</form>
|
||||
</div>
|
||||
<!-- /D&D Zone -->
|
||||
|
||||
@@ -137,12 +151,48 @@
|
||||
$(".messages").append(message(false, { filename: file.name, msg: '<%= l('file_too_big', $max_file_size) %>'}));
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
function upload_url() {
|
||||
var val = $("#lutim-file-url").val();
|
||||
if (val !== undefined && val !== "") {
|
||||
$("#lutim-file-url").prop('disabled', 'disabled');
|
||||
$(".hidden-spin").css('display', 'block');
|
||||
console.log(val);
|
||||
$.ajax({
|
||||
url : '<%== url_for('add') %>',
|
||||
type : "POST",
|
||||
data : {
|
||||
'lutim-file-url' : val,
|
||||
'format' : 'json',
|
||||
'first-view' : ($("#first-view").prop('checked')) ? 1 : 0,
|
||||
'delete-day' : $("#delete-day").val()
|
||||
},
|
||||
success: function(data) {
|
||||
$(".messages").append(message(data.success, data.msg));
|
||||
if (data.success) {
|
||||
$("#lutim-file-url").val('');
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
$(".messages").append(message(false, ''));
|
||||
},
|
||||
complete: function() {
|
||||
$("#lutim-file-url").prop('disabled', '');
|
||||
$(".hidden-spin").css('display', 'none');
|
||||
}
|
||||
});
|
||||
} else {
|
||||
console.log("fhdsjnf");
|
||||
}
|
||||
}
|
||||
|
||||
$('document').ready(function() {
|
||||
var firstview = ($("#first-view").prop('checked')) ? 1 : 0;
|
||||
var deleteday = ($("#delete-day").prop('checked')) ? 1 : 0;
|
||||
|
||||
bindddz(firstview, deleteday);
|
||||
|
||||
$("#file-url-button").on("click", upload_url);
|
||||
});
|
||||
% end
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
<link rel="icon" type="image/png" href="<%= url_for('/') %>img/favicon.png">
|
||||
%= stylesheet 'css/bootstrap.min.css', media => 'screen'
|
||||
%= stylesheet 'css/fontello.css'
|
||||
%= stylesheet 'css/animation.css'
|
||||
%= stylesheet 'css/uploader.css'
|
||||
%= stylesheet begin
|
||||
body {
|
||||
@@ -41,7 +42,7 @@
|
||||
% end
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="container-fluid">
|
||||
<div>
|
||||
% if (defined(config('hosted_by'))) {
|
||||
<div class="pull-right">
|
||||
|
||||
Reference in New Issue
Block a user