6cb67d2dbc
Fixes #88
87 lines
6.6 KiB
Twig
87 lines
6.6 KiB
Twig
{% extends 'base.twig' %}
|
|
|
|
{% block title %}{{ lang('home') }}{% endblock %}
|
|
|
|
{% block content %}
|
|
{% include 'comp/navbar.twig' %}
|
|
<div class="container">
|
|
{% include 'comp/alert.twig' %}
|
|
|
|
<div class="card shadow-sm">
|
|
<div class="card-body">
|
|
{% include 'dashboard/pager_header.twig' with {'path': 'home'} %}
|
|
{% if medias|length > 0 %}
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="table-responsive">
|
|
<table class="table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th>{{ lang('preview') }}</th>
|
|
<th>{{ lang('filename') }}</th>
|
|
<th>{{ lang('size') }}</th>
|
|
<th>{{ lang('public') }}</th>
|
|
<th>{{ lang('owner') }}</th>
|
|
<th>{{ lang('date') }}</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for media in medias %}
|
|
<tr id="media_{{ media.id }}">
|
|
<td class="text-center">
|
|
{% if isDisplayableImage(media.mimetype) %}
|
|
{% if media.username is not null %}
|
|
<img src="{{ urlFor('/' ~ media.user_code ~ '/' ~ media.code ~ '.' ~ media.extension ~ '/raw?width=84&height=42') }}" class="img-fluid rounded">
|
|
{% else %}
|
|
<img src="{{ route('upload.raw', {'id': media.id}) }}" class="img-fluid rounded">
|
|
{% endif %}
|
|
{% else %}
|
|
<i class="far {{ mime2font(media.mimetype) }} fa-2x"></i>
|
|
{% endif %}
|
|
</td>
|
|
<td>{{ media.filename }}</td>
|
|
<td>{{ media.size }}</td>
|
|
<td id="published_{{ media.id }}">
|
|
{% if media.published %}
|
|
<span class="badge badge-success"><i class="fas fa-check"></i></span>
|
|
{% else %}
|
|
<span class="badge badge-danger"><i class="fas fa-times"></i></span>
|
|
{% endif %}
|
|
</td>
|
|
<td>{{ media.username|default('<None>') }}</td>
|
|
<td>{{ media.timestamp|date("d/m/Y H:i:s") }}</td>
|
|
<td class="text-right">
|
|
<div class="btn-group">
|
|
{% if media.username is not null %}
|
|
<a href="{{ urlFor('/' ~ media.user_code ~ '/' ~ media.code ~ '.' ~ media.extension) }}" class="btn btn-sm btn-outline-secondary" data-toggle="tooltip" title="{{ lang('open') }}" target="_blank"><i class="fas fa-external-link-alt"></i></a>
|
|
<a href="{{ urlFor('/' ~ media.user_code ~ '/' ~ media.code ~ '.' ~ media.extension ~ '/download') }}" class="btn btn-sm btn-outline-primary" data-toggle="tooltip" title="{{ lang('download') }}"><i class="fas fa-cloud-download-alt"></i></a>
|
|
<a href="javascript:void(0)" class="btn btn-sm btn-outline-success btn-clipboard" data-toggle="tooltip" title="{{ lang('copy_link') }}" data-clipboard-text="{{ urlFor('/' ~ media.user_code ~ '/' ~ media.code ~ '.' ~ media.extension) }}"><i class="fas fa-link"></i></a>
|
|
{% else %}
|
|
<a href="{{ route('upload.raw', {'id': media.id}) }}" class="btn btn-sm btn-outline-dark" data-toggle="tooltip" title="{{ lang('raw') }}" target="_blank"><i class="fas fa-external-link-alt"></i></a>
|
|
{% endif %}
|
|
{% if media.published %}
|
|
<a href="javascript:void(0)" class="btn btn-sm btn-outline-warning publish-toggle" data-toggle="tooltip" title="{{ lang('hide') }}" data-id="{{ media.id }}" data-published="{{ media.published }}"><i class="fas fa-times-circle"></i></a>
|
|
{% else %}
|
|
<a href="javascript:void(0)" class="btn btn-sm btn-outline-info publish-toggle" data-toggle="tooltip" title="{{ lang('publish') }}" data-id="{{ media.id }}" data-published="{{ media.published }}"><i class="fas fa-check-circle"></i></a>
|
|
{% endif %}
|
|
<a href="javascript:void(0)" class="btn btn-sm btn-outline-danger media-delete" data-link="{{ route('upload.delete', {'id': media.id}) }}" data-id="{{ media.id }}" data-toggle="tooltip" title="{{ lang('delete') }}"><i class="fas fa-trash"></i></a>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="d-flex justify-content-center">
|
|
{% include 'comp/pager.twig' with {'path': 'home'} %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% else %}
|
|
<div class="text-center text-muted"><i>{{ lang('no_media') }}</i></div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |