mirror of
https://github.com/openvk/openvk
synced 2025-04-23 16:43:02 +03:00
- Переделан метод в классе user для получения друзей с проигрываемыми песнями. Теперь среди них могут появляться и группы (хз стоит ли оставлять это или нет). Так же больше не показываются удалённые пользователи - Трек у плеера теперь двигается немного плавнее. Ещё теперь нету смешных багов с подсказкой времени, когда можно было увести её за экран или промотать дальше трека. Переключить повторение трека теперь можно нажатием кнопки R. - Длинное название трека больше не сносит время - Наверное, теперь аудиозаписи нормально отображаются в темах midnight и modern - Аудиозаписи больше не крашаются, если пользователь неавторизован. - Немного переделан миниплеер. - В миниплеере теперь громкость берётся из локалсторейджа. - Улучшено редактирование аудиозаписей. Теперь данные в дата атрибуты нормально сохраняются, а так же слова песни и метка "explicit" меняются - Удалён css, оставшийся ещё от public technical preview 1, а так же путь /audios{num} - При наведении на трек теперь пропадает время, и на его месте появляются кнопки - Стандартная аватарка в midnight теперь инвертируется - В админке в редактировании аудио теперь показывается дата редактирования, дата создания, длина и оригинальный файл аудио. Так же на странице редактирования больше нет вылетов, если вы задали несуществующий аккаунт
81 lines
3.5 KiB
XML
81 lines
3.5 KiB
XML
{extends "@layout.xml"}
|
|
|
|
{block title}
|
|
{_edit} {$audio->getName()}
|
|
{/block}
|
|
|
|
{block heading}
|
|
{$audio->getName()}
|
|
{/block}
|
|
|
|
{block content}
|
|
<div class="aui-tabs horizontal-tabs">
|
|
<form class="aui" method="POST">
|
|
<div class="field-group">
|
|
<label for="id">ID</label>
|
|
<input class="text medium-field" type="number" id="id" disabled value="{$audio->getId()}" />
|
|
</div>
|
|
<div class="field-group">
|
|
<label>{_created}</label>
|
|
{$audio->getPublicationTime()}
|
|
</div>
|
|
<div class="field-group">
|
|
<label>{_edited}</label>
|
|
{$audio->getEditTime() ?? "never"}
|
|
</div>
|
|
<div class="field-group">
|
|
<label for="name">{_name}</label>
|
|
<input class="text medium-field" type="text" id="name" name="name" value="{$audio->getTitle()}" />
|
|
</div>
|
|
<div class="field-group">
|
|
<label for="performer">{_performer}</label>
|
|
<input class="text medium-field" type="text" id="performer" name="performer" value="{$audio->getPerformer()}" />
|
|
</div>
|
|
<div class="field-group">
|
|
<label for="ext">{_lyrics}</label>
|
|
<textarea class="text medium-field" type="text" id="text" name="text" style="resize: vertical;">{$audio->getLyrics()}</textarea>
|
|
</div>
|
|
<div class="field-group">
|
|
<label>{_admin_audio_length}</label>
|
|
{$audio->getFormattedLength()}
|
|
</div>
|
|
<div class="field-group">
|
|
<label for="ext">{_genre}</label>
|
|
<select class="select medium-field" name="genre">
|
|
<option n:foreach='\openvk\Web\Models\Entities\Audio::genres as $genre'
|
|
n:attr="selected: $genre == $audio->getGenre()" value="{$genre}">
|
|
{$genre}
|
|
</option>
|
|
</select>
|
|
</div>
|
|
<div class="field-group">
|
|
<label>{_admin_original_file}</label>
|
|
<audio controls src="{$audio->getOriginalURL(true)}">
|
|
</div>
|
|
<hr />
|
|
<div class="field-group">
|
|
<label for="owner">{_owner}</label>
|
|
<input class="text medium-field" type="number" id="owner_id" name="owner" value="{$owner}" />
|
|
</div>
|
|
<div class="field-group">
|
|
<label for="explicit">Explicit</label>
|
|
<input class="toggle-large" type="checkbox" id="explicit" name="explicit" value="1" {if $audio->isExplicit()} checked {/if} />
|
|
</div>
|
|
<div class="field-group">
|
|
<label for="deleted">{_deleted}</label>
|
|
<input class="toggle-large" type="checkbox" id="deleted" name="deleted" value="1" {if $audio->isDeleted()} checked {/if} />
|
|
</div>
|
|
<div class="field-group">
|
|
<label for="withdrawn">{_withdrawn}</label>
|
|
<input class="toggle-large" type="checkbox" id="withdrawn" name="withdrawn" value="1" {if $audio->isWithdrawn()} checked {/if} />
|
|
</div>
|
|
<hr />
|
|
<div class="buttons-container">
|
|
<div class="buttons">
|
|
<input type="hidden" name="hash" value="{$csrfToken}" />
|
|
<input class="button submit" type="submit" value="{_save}">
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
{/block}
|