Просмотр файла resources/views/admin/loads/edit_down.blade.php

Размер файла: 6.55Kb
  1. @extends('layout')
  2.  
  3. @section('title', __('loads.edit_down') . ' ' . $down->title)
  4.  
  5. @section('header')
  6. <div class="float-end">
  7. <a class="btn btn-light" href="/downs/{{ $down->id }}"><i class="fas fa-wrench"></i></a>
  8. </div>
  9.  
  10. <h1>{{ __('loads.edit_down') . ' ' . $down->title }}</h1>
  11. @stop
  12.  
  13. @section('breadcrumb')
  14. <nav>
  15. <ol class="breadcrumb">
  16. <li class="breadcrumb-item"><a href="/"><i class="fas fa-home"></i></a></li>
  17. <li class="breadcrumb-item"><a href="/admin">{{ __('index.panel') }}</a></li>
  18. <li class="breadcrumb-item"><a href="/admin/loads">{{ __('index.loads') }}</a></li>
  19.  
  20. @if ($down->category->parent->id)
  21. <li class="breadcrumb-item"><a href="/admin/loads/{{ $down->category->parent->id }}">{{ $down->category->parent->name }}</a></li>
  22. @endif
  23.  
  24. <li class="breadcrumb-item"><a href="/admin/loads/{{ $down->category->id }}">{{ $down->category->name }}</a></li>
  25. <li class="breadcrumb-item active">{{ __('loads.edit_down') }}</li>
  26. </ol>
  27. </nav>
  28. @stop
  29.  
  30. @section('content')
  31. @if (! $down->active)
  32. <div class="alert alert-warning">
  33. <i class="fas fa-exclamation-triangle"></i> {{ __('loads.pending_down1') }}
  34. </div>
  35. @endif
  36.  
  37. @if (isAdmin('boss'))
  38. @if ($down->active)
  39. <i class="fa fa-pencil-alt"></i>
  40. <a class="me-3" href="/admin/downs/publish/{{ $down->id }}?token={{ $_SESSION['token'] }}" onclick="return confirm('{{ __('loads.confirm_unpublish_down') }}')">{{ __('main.unpublish') }}</a>
  41. @else
  42. <i class="fa fa-pencil-alt"></i>
  43. <a class="me-3" href="/admin/downs/publish/{{ $down->id }}?token={{ $_SESSION['token'] }}" onclick="return confirm('{{ __('loads.confirm_publish_down') }}')">{{ __('main.publish') }}</a>
  44. @endif
  45.  
  46. <i class="fas fa-times"></i> <a class="me-3" href="/admin/downs/delete/{{ $down->id }}?token={{ $_SESSION['token'] }}" onclick="return confirm('{{ __('loads.confirm_delete_down') }}')">{{ __('main.delete') }}</a>
  47. <hr>
  48. @endif
  49.  
  50. <div class="section-form mb-3 shadow">
  51. <form action="/admin/downs/edit/{{ $down->id }}" method="post" enctype="multipart/form-data">
  52. @csrf
  53. <div class="mb-3{{ hasError('category') }}">
  54. {{ __('main.author') }}: {{ $down->user->getProfile() }} ({{ dateFixed($down->created_at) }})<br><br>
  55.  
  56. <label for="inputCategory" class="form-label">{{ __('loads.load') }}:</label>
  57.  
  58. <?php $inputCategory = (int) getInput('category', $down->category_id); ?>
  59. <select class="form-select" id="inputCategory" name="category">
  60. @foreach ($categories as $category)
  61.  
  62. <option value="{{ $category->id }}"{{ ($inputCategory === $category->id && ! $category->closed) ? ' selected' : '' }}{{ $category->closed ? ' disabled' : '' }}>{{ $category->name }}</option>
  63.  
  64. @if ($category->children->isNotEmpty())
  65. @foreach ($category->children as $datasub)
  66. <option value="{{ $datasub->id }}"{{ $inputCategory === $datasub->id && ! $datasub->closed ? ' selected' : '' }}{{ $datasub->closed ? ' disabled' : '' }}>– {{ $datasub->name }}</option>
  67. @endforeach
  68. @endif
  69. @endforeach
  70.  
  71. </select>
  72. <div class="invalid-feedback">{{ textError('category') }}</div>
  73. </div>
  74.  
  75. <div class="mb-3{{ hasError('title') }}">
  76. <label for="title" class="form-label">{{ __('loads.down_title') }}:</label>
  77. <input class="form-control" name="title" id="title" maxlength="50" value="{{ getInput('title', $down->title) }}" required>
  78. <div class="invalid-feedback">{{ textError('title') }}</div>
  79. </div>
  80.  
  81. <div class="mb-3{{ hasError('text') }}">
  82. <label for="text" class="form-label">{{ __('loads.down_text') }}:</label>
  83. <textarea class="form-control markItUp" id="text" name="text" rows="5">{{ getInput('text', $down->text) }}</textarea>
  84. <div class="invalid-feedback">{{ textError('text') }}</div>
  85. </div>
  86.  
  87. @if ($down->getFiles()->isNotEmpty())
  88. @foreach ($down->getFiles() as $file)
  89. <div class="media-file mb-3">
  90. <i class="fa fa-download"></i>
  91. <b><a href="{{ $file->hash }}">{{ $file->name }}</a></b> ({{ formatSize($file->size) }}) (<a href="/admin/downs/delete/{{ $down->id }}/{{ $file->id }}" onclick="return confirm('{{ __('loads.confirm_delete_file') }}')">{{ __('main.delete') }}</a>)
  92. </div>
  93. @endforeach
  94. @endif
  95.  
  96. @if ($down->getImages()->isNotEmpty())
  97. @foreach ($down->getImages() as $image)
  98. <div class="media-file mb-3">
  99. {{ resizeImage($image->hash) }}<br>
  100. <i class="fa fa-image"></i> <b><a href="{{ $image->hash }}">{{ $image->name }}</a></b> ({{ formatSize($image->size ) }}) (<a href="/admin/downs/delete/{{ $down->id }}/{{ $image->id }}" onclick="return confirm('{{ __('loads.confirm_delete_screen') }}')">{{ __('main.delete') }}</a>)
  101. </div>
  102. @endforeach
  103. @endif
  104.  
  105. @if ($down->files->count() < setting('maxfiles'))
  106. <div class="mb-3{{ hasError('files') }}">
  107. <label for="files" class="btn btn-sm btn-secondary form-label">
  108. <input type="file" id="files" name="files[]" onchange="$('#upload-file-info').html((this.files.length > 1) ? '{{ __('main.files') }}: ' + this.files.length : this.files[0].name);" hidden multiple>
  109. {{ __('main.attach_files') }}&hellip;
  110. </label>
  111. <span class="badge bg-info" id="upload-file-info"></span>
  112. <div class="invalid-feedback">{{ textError('files') }}</div>
  113. </div>
  114. @endif
  115.  
  116. <p class="text-muted fst-italic">
  117. {{ __('main.max_file_upload') }}: {{ setting('maxfiles') }}<br>
  118. {{ __('main.max_file_weight') }}: {{ formatSize(setting('fileupload')) }}<br>
  119. {{ __('main.valid_file_extensions') }}: {{ str_replace(',', ', ', setting('allowextload')) }}<br>
  120. {{ __('main.min_image_size') }}: 100px
  121. </p>
  122.  
  123. <button class="btn btn-primary">{{ __('main.edit') }}</button>
  124. </form>
  125. </div>
  126. @stop