show MMC alpha ready

This commit is contained in:
Александр Бабкин
2022-07-15 12:41:52 +03:00
parent cce02034f4
commit 518b072533
6 changed files with 246 additions and 161 deletions

View File

@@ -7,6 +7,8 @@ use App\Models\Project;
use App\Models\AUK; use App\Models\AUK;
use App\Models\MMC; use App\Models\MMC;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Illuminate\Http\Response;
@@ -75,23 +77,52 @@ class MMCController extends Controller
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function show(Request $request, $id) public function show(Request $request, $auk_id, $mmc_id)
{ {
$project_id = $request->session()->get('project_id'); $project_id = $request->session()->get('project_id');
$project = Project::find($project_id); $project = Project::find($project_id);
$mmc = MMC::find($id); $auk = AUK::find($auk_id);
$auk = $mmc->auks()->first(); $MMC = $auk->mmcs;
$current_mmc = '';
if ($mmc_id == 0) {
$current_mmc = $MMC->first();
} else {
$current_mmc = MMC::find($mmc_id);
}
return view('mmc.show', ['project' => $project, 'auk' => $auk, 'current_mmc' => $current_mmc]);
}
/**
* Display the specified resource.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function getimage(Request $request, $auk_id, $mmc_id)
{
$project_id = $request->session()->get('project_id');
$project = Project::find($project_id);
$auk = AUK::find($auk_id);
$mmc = MMC::find($mmc_id);
$filePath = $project->mmc_path . '/' . $auk->auk_path . '/' . $auk->image_dir . '/' . $mmc->filename; $filePath = $project->mmc_path . '/' . $auk->auk_path . '/' . $auk->image_dir . '/' . $mmc->filename;
if(strcasecmp(substr($mmc->filename, -3, 3), 'svg') == 0 ) // return response()->file($filePath);
{ if (strcasecmp(substr($mmc->filename, -3, 3), 'svg') == 0) {
// $svg = file_get_contents($filePath); // $svg = readfile($filePath);
// return response()->header('Content-Type', 'image/svg+xml')->file($filePath); // $response = Response::make($svg, 200);
// $response->header('Content-Type', 'image/svg+xml');
// $response->header('Content-disposition', 'attachment; filename="' . $mmc->filename . '"');
// return $response;
// return response($svg)->header('Content-Type', 'image/svg+xml');
// return response()->header('filename', $mmc->filename)->file($filePath);
// file($filePath)->header('Content-Type', 'image/svg+xml'); // file($filePath)->header('Content-Type', 'image/svg+xml');
} return view('components.svg',['project'=>$project, 'auk' => $auk, 'mmc' => $mmc]);
else } else {
{
return response()->file($filePath); return response()->file($filePath);
} }
} }
@@ -202,7 +233,7 @@ class MMCController extends Controller
while ($request->input('filename_' . $i) !== null) { while ($request->input('filename_' . $i) !== null) {
$filename = $request->input('filename_' . $i); $filename = $request->input('filename_' . $i);
$size = $request->input('size_' . $i); $size = $request->input('size_' . $i);
$mtime= $request->input('mtime_' . $i); $mtime = $request->input('mtime_' . $i);
// Log::alert("filename \"" . $filename . "\""); // Log::alert("filename \"" . $filename . "\"");
// Log::alert("size \"" . $size . "\""); // Log::alert("size \"" . $size . "\"");
// Log::alert("mtime \"" . $mtime . "\""); // Log::alert("mtime \"" . $mtime . "\"");

View File

@@ -734,12 +734,6 @@ select {
.-mt-px { .-mt-px {
margin-top: -1px; margin-top: -1px;
} }
.-mr-2 {
margin-right: -0.5rem;
}
.mt-3 {
margin-top: 0.75rem;
}
.mt-1 { .mt-1 {
margin-top: 0.25rem; margin-top: 0.25rem;
} }
@@ -749,6 +743,12 @@ select {
.mt-6 { .mt-6 {
margin-top: 1.5rem; margin-top: 1.5rem;
} }
.mt-3 {
margin-top: 0.75rem;
}
.-mr-2 {
margin-right: -0.5rem;
}
.block { .block {
display: block; display: block;
} }
@@ -779,6 +779,9 @@ select {
.h-16 { .h-16 {
height: 4rem; height: 4rem;
} }
.h-20 {
height: 5rem;
}
.h-10 { .h-10 {
height: 2.5rem; height: 2.5rem;
} }
@@ -788,9 +791,6 @@ select {
.h-6 { .h-6 {
height: 1.5rem; height: 1.5rem;
} }
.h-20 {
height: 5rem;
}
.min-h-screen { .min-h-screen {
min-height: 100vh; min-height: 100vh;
} }
@@ -803,15 +803,6 @@ select {
.w-auto { .w-auto {
width: auto; width: auto;
} }
.w-4 {
width: 1rem;
}
.w-6 {
width: 1.5rem;
}
.w-48 {
width: 12rem;
}
.w-96 { .w-96 {
width: 24rem; width: 24rem;
} }
@@ -821,6 +812,15 @@ select {
.w-20 { .w-20 {
width: 5rem; width: 5rem;
} }
.w-48 {
width: 12rem;
}
.w-4 {
width: 1rem;
}
.w-6 {
width: 1.5rem;
}
.max-w-7xl { .max-w-7xl {
max-width: 80rem; max-width: 80rem;
} }
@@ -836,6 +836,15 @@ select {
.basis-1\/2 { .basis-1\/2 {
flex-basis: 50%; flex-basis: 50%;
} }
.basis-1\/4 {
flex-basis: 25%;
}
.basis-3\/4 {
flex-basis: 75%;
}
.basis-1\/3 {
flex-basis: 33.333333%;
}
.origin-top-left { .origin-top-left {
transform-origin: top left; transform-origin: top left;
} }
@@ -924,12 +933,15 @@ select {
.border { .border {
border-width: 1px; border-width: 1px;
} }
.border-t { .border-2 {
border-top-width: 1px; border-width: 2px;
} }
.border-b { .border-b {
border-bottom-width: 1px; border-bottom-width: 1px;
} }
.border-t {
border-top-width: 1px;
}
.border-b-2 { .border-b-2 {
border-bottom-width: 2px; border-bottom-width: 2px;
} }
@@ -944,16 +956,16 @@ select {
--tw-border-opacity: 1; --tw-border-opacity: 1;
border-color: rgb(229 231 235 / var(--tw-border-opacity)); border-color: rgb(229 231 235 / var(--tw-border-opacity));
} }
.border-gray-100 { .border-transparent {
--tw-border-opacity: 1; border-color: transparent;
border-color: rgb(243 244 246 / var(--tw-border-opacity));
} }
.border-indigo-400 { .border-indigo-400 {
--tw-border-opacity: 1; --tw-border-opacity: 1;
border-color: rgb(129 140 248 / var(--tw-border-opacity)); border-color: rgb(129 140 248 / var(--tw-border-opacity));
} }
.border-transparent { .border-gray-100 {
border-color: transparent; --tw-border-opacity: 1;
border-color: rgb(243 244 246 / var(--tw-border-opacity));
} }
.bg-white { .bg-white {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
@@ -967,10 +979,6 @@ select {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(59 130 246 / var(--tw-bg-opacity)); background-color: rgb(59 130 246 / var(--tw-bg-opacity));
} }
.bg-indigo-50 {
--tw-bg-opacity: 1;
background-color: rgb(238 242 255 / var(--tw-bg-opacity));
}
.bg-gray-500 { .bg-gray-500 {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(107 114 128 / var(--tw-bg-opacity)); background-color: rgb(107 114 128 / var(--tw-bg-opacity));
@@ -979,6 +987,14 @@ select {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(31 41 55 / var(--tw-bg-opacity)); background-color: rgb(31 41 55 / var(--tw-bg-opacity));
} }
.bg-indigo-50 {
--tw-bg-opacity: 1;
background-color: rgb(238 242 255 / var(--tw-bg-opacity));
}
.bg-green-500 {
--tw-bg-opacity: 1;
background-color: rgb(34 197 94 / var(--tw-bg-opacity));
}
.fill-current { .fill-current {
fill: currentColor; fill: currentColor;
} }
@@ -1003,9 +1019,9 @@ select {
padding-left: 0.5rem; padding-left: 0.5rem;
padding-right: 0.5rem; padding-right: 0.5rem;
} }
.py-6 { .py-12 {
padding-top: 1.5rem; padding-top: 3rem;
padding-bottom: 1.5rem; padding-bottom: 3rem;
} }
.py-4 { .py-4 {
padding-top: 1rem; padding-top: 1rem;
@@ -1019,34 +1035,31 @@ select {
padding-top: 0.25rem; padding-top: 0.25rem;
padding-bottom: 0.25rem; padding-bottom: 0.25rem;
} }
.py-12 {
padding-top: 3rem;
padding-bottom: 3rem;
}
.px-1 { .px-1 {
padding-left: 0.25rem; padding-left: 0.25rem;
padding-right: 0.25rem; padding-right: 0.25rem;
} }
.pt-8 { .py-6 {
padding-top: 2rem; padding-top: 1.5rem;
} padding-bottom: 1.5rem;
.pt-2 {
padding-top: 0.5rem;
}
.pb-3 {
padding-bottom: 0.75rem;
} }
.pt-4 { .pt-4 {
padding-top: 1rem; padding-top: 1rem;
} }
.pb-1 { .pt-8 {
padding-bottom: 0.25rem; padding-top: 2rem;
}
.pr-2 {
padding-right: 0.5rem;
} }
.pl-2 { .pl-2 {
padding-left: 0.5rem; padding-left: 0.5rem;
} }
.pr-2 { .pb-4 {
padding-right: 0.5rem; padding-bottom: 1rem;
}
.pt-6 {
padding-top: 1.5rem;
} }
.pt-1 { .pt-1 {
padding-top: 0.25rem; padding-top: 0.25rem;
@@ -1057,11 +1070,14 @@ select {
.pr-4 { .pr-4 {
padding-right: 1rem; padding-right: 1rem;
} }
.pb-4 { .pt-2 {
padding-bottom: 1rem; padding-top: 0.5rem;
} }
.pt-6 { .pb-3 {
padding-top: 1.5rem; padding-bottom: 0.75rem;
}
.pb-1 {
padding-bottom: 0.25rem;
} }
.pb-2 { .pb-2 {
padding-bottom: 0.5rem; padding-bottom: 0.5rem;
@@ -1085,22 +1101,22 @@ select {
font-size: 0.875rem; font-size: 0.875rem;
line-height: 1.25rem; line-height: 1.25rem;
} }
.text-lg {
font-size: 1.125rem;
line-height: 1.75rem;
}
.text-base {
font-size: 1rem;
line-height: 1.5rem;
}
.text-xl { .text-xl {
font-size: 1.25rem; font-size: 1.25rem;
line-height: 1.75rem; line-height: 1.75rem;
} }
.text-lg {
font-size: 1.125rem;
line-height: 1.75rem;
}
.text-xs { .text-xs {
font-size: 0.75rem; font-size: 0.75rem;
line-height: 1rem; line-height: 1rem;
} }
.text-base {
font-size: 1rem;
line-height: 1.5rem;
}
.font-medium { .font-medium {
font-weight: 500; font-weight: 500;
} }
@@ -1116,12 +1132,12 @@ select {
.leading-5 { .leading-5 {
line-height: 1.25rem; line-height: 1.25rem;
} }
.leading-7 {
line-height: 1.75rem;
}
.leading-tight { .leading-tight {
line-height: 1.25; line-height: 1.25;
} }
.leading-7 {
line-height: 1.75rem;
}
.tracking-widest { .tracking-widest {
letter-spacing: 0.1em; letter-spacing: 0.1em;
} }
@@ -1133,6 +1149,14 @@ select {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(55 65 81 / var(--tw-text-opacity)); color: rgb(55 65 81 / var(--tw-text-opacity));
} }
.text-gray-800 {
--tw-text-opacity: 1;
color: rgb(31 41 55 / var(--tw-text-opacity));
}
.text-green-500 {
--tw-text-opacity: 1;
color: rgb(34 197 94 / var(--tw-text-opacity));
}
.text-gray-200 { .text-gray-200 {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(229 231 235 / var(--tw-text-opacity)); color: rgb(229 231 235 / var(--tw-text-opacity));
@@ -1153,22 +1177,6 @@ select {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(17 24 39 / var(--tw-text-opacity)); color: rgb(17 24 39 / var(--tw-text-opacity));
} }
.text-gray-800 {
--tw-text-opacity: 1;
color: rgb(31 41 55 / var(--tw-text-opacity));
}
.text-white {
--tw-text-opacity: 1;
color: rgb(255 255 255 / var(--tw-text-opacity));
}
.text-green-500 {
--tw-text-opacity: 1;
color: rgb(34 197 94 / var(--tw-text-opacity));
}
.text-indigo-700 {
--tw-text-opacity: 1;
color: rgb(67 56 202 / var(--tw-text-opacity));
}
.text-blue-500 { .text-blue-500 {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(59 130 246 / var(--tw-text-opacity)); color: rgb(59 130 246 / var(--tw-text-opacity));
@@ -1177,6 +1185,10 @@ select {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(239 68 68 / var(--tw-text-opacity)); color: rgb(239 68 68 / var(--tw-text-opacity));
} }
.text-white {
--tw-text-opacity: 1;
color: rgb(255 255 255 / var(--tw-text-opacity));
}
.text-indigo-600 { .text-indigo-600 {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(79 70 229 / var(--tw-text-opacity)); color: rgb(79 70 229 / var(--tw-text-opacity));
@@ -1189,6 +1201,10 @@ select {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(220 38 38 / var(--tw-text-opacity)); color: rgb(220 38 38 / var(--tw-text-opacity));
} }
.text-indigo-700 {
--tw-text-opacity: 1;
color: rgb(67 56 202 / var(--tw-text-opacity));
}
.underline { .underline {
-webkit-text-decoration-line: underline; -webkit-text-decoration-line: underline;
text-decoration-line: underline; text-decoration-line: underline;
@@ -1213,16 +1229,16 @@ select {
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
} }
.shadow-lg {
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md { .shadow-md {
--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
} }
.shadow-lg {
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.ring-1 { .ring-1 {
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
@@ -9077,21 +9093,25 @@ readers do not read off random characters that represent icons */
--tw-border-opacity: 1; --tw-border-opacity: 1;
border-color: rgb(209 213 219 / var(--tw-border-opacity)); border-color: rgb(209 213 219 / var(--tw-border-opacity));
} }
.hover\:bg-gray-100:hover {
--tw-bg-opacity: 1;
background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}
.hover\:bg-blue-700:hover { .hover\:bg-blue-700:hover {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(29 78 216 / var(--tw-bg-opacity)); background-color: rgb(29 78 216 / var(--tw-bg-opacity));
} }
.hover\:bg-gray-700:hover {
--tw-bg-opacity: 1;
background-color: rgb(55 65 81 / var(--tw-bg-opacity));
}
.hover\:bg-gray-100:hover {
--tw-bg-opacity: 1;
background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}
.hover\:bg-gray-50:hover { .hover\:bg-gray-50:hover {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(249 250 251 / var(--tw-bg-opacity)); background-color: rgb(249 250 251 / var(--tw-bg-opacity));
} }
.hover\:bg-gray-700:hover { .hover\:bg-green-700:hover {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(55 65 81 / var(--tw-bg-opacity)); background-color: rgb(21 128 61 / var(--tw-bg-opacity));
} }
.hover\:text-gray-500:hover { .hover\:text-gray-500:hover {
--tw-text-opacity: 1; --tw-text-opacity: 1;
@@ -9101,17 +9121,13 @@ readers do not read off random characters that represent icons */
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(156 163 175 / var(--tw-text-opacity)); color: rgb(156 163 175 / var(--tw-text-opacity));
} }
.hover\:text-gray-700:hover {
--tw-text-opacity: 1;
color: rgb(55 65 81 / var(--tw-text-opacity));
}
.hover\:text-green-700:hover { .hover\:text-green-700:hover {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(21 128 61 / var(--tw-text-opacity)); color: rgb(21 128 61 / var(--tw-text-opacity));
} }
.hover\:text-gray-800:hover { .hover\:text-gray-700:hover {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(31 41 55 / var(--tw-text-opacity)); color: rgb(55 65 81 / var(--tw-text-opacity));
} }
.hover\:text-blue-700:hover { .hover\:text-blue-700:hover {
--tw-text-opacity: 1; --tw-text-opacity: 1;
@@ -9125,6 +9141,10 @@ readers do not read off random characters that represent icons */
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(17 24 39 / var(--tw-text-opacity)); color: rgb(17 24 39 / var(--tw-text-opacity));
} }
.hover\:text-gray-800:hover {
--tw-text-opacity: 1;
color: rgb(31 41 55 / var(--tw-text-opacity));
}
.focus\:z-10:focus { .focus\:z-10:focus {
z-index: 10; z-index: 10;
} }
@@ -9132,14 +9152,6 @@ readers do not read off random characters that represent icons */
--tw-border-opacity: 1; --tw-border-opacity: 1;
border-color: rgb(147 197 253 / var(--tw-border-opacity)); border-color: rgb(147 197 253 / var(--tw-border-opacity));
} }
.focus\:border-gray-300:focus {
--tw-border-opacity: 1;
border-color: rgb(209 213 219 / var(--tw-border-opacity));
}
.focus\:border-indigo-700:focus {
--tw-border-opacity: 1;
border-color: rgb(67 56 202 / var(--tw-border-opacity));
}
.focus\:border-indigo-300:focus { .focus\:border-indigo-300:focus {
--tw-border-opacity: 1; --tw-border-opacity: 1;
border-color: rgb(165 180 252 / var(--tw-border-opacity)); border-color: rgb(165 180 252 / var(--tw-border-opacity));
@@ -9148,6 +9160,14 @@ readers do not read off random characters that represent icons */
--tw-border-opacity: 1; --tw-border-opacity: 1;
border-color: rgb(17 24 39 / var(--tw-border-opacity)); border-color: rgb(17 24 39 / var(--tw-border-opacity));
} }
.focus\:border-indigo-700:focus {
--tw-border-opacity: 1;
border-color: rgb(67 56 202 / var(--tw-border-opacity));
}
.focus\:border-gray-300:focus {
--tw-border-opacity: 1;
border-color: rgb(209 213 219 / var(--tw-border-opacity));
}
.focus\:bg-gray-100:focus { .focus\:bg-gray-100:focus {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(243 244 246 / var(--tw-bg-opacity)); background-color: rgb(243 244 246 / var(--tw-bg-opacity));
@@ -9164,10 +9184,6 @@ readers do not read off random characters that represent icons */
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(55 65 81 / var(--tw-text-opacity)); color: rgb(55 65 81 / var(--tw-text-opacity));
} }
.focus\:text-gray-500:focus {
--tw-text-opacity: 1;
color: rgb(107 114 128 / var(--tw-text-opacity));
}
.focus\:text-indigo-800:focus { .focus\:text-indigo-800:focus {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(55 48 163 / var(--tw-text-opacity)); color: rgb(55 48 163 / var(--tw-text-opacity));
@@ -9176,6 +9192,10 @@ readers do not read off random characters that represent icons */
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(31 41 55 / var(--tw-text-opacity)); color: rgb(31 41 55 / var(--tw-text-opacity));
} }
.focus\:text-gray-500:focus {
--tw-text-opacity: 1;
color: rgb(107 114 128 / var(--tw-text-opacity));
}
.focus\:outline-none:focus { .focus\:outline-none:focus {
outline: 2px solid transparent; outline: 2px solid transparent;
outline-offset: 2px; outline-offset: 2px;

View File

@@ -1,5 +1,8 @@
@php @php
$filePath = $project->mmc_path . '/' . $auk->auk_path . '/' . $auk->image_dir . '/' . $mmc->filename; $filePath = $project->mmc_path . '/' . $auk->auk_path . '/' . $auk->image_dir . '/' . $mmc->filename;
$svg = file_get_contents($filePath); $svg = "";
if (strcasecmp(substr($mmc->filename, -3, 3), 'svg') == 0) {
$svg = readfile($filePath);
}
@endphp @endphp
{{ $svg }} {{ $svg }}

View File

@@ -25,23 +25,8 @@
<td class="p-2 border border-gray-200 text-left align-top"> <td class="p-2 border border-gray-200 text-left align-top">
{{ $top_auk->auk_name }}</td> {{ $top_auk->auk_name }}</td>
<td class="p-2 border border-gray-200 text-center"> <td class="p-2 border border-gray-200 text-center">
<table class="mx-auto"> @if (count($top_auk->mmcs))
<tr> {{-- <tr>
<th class="p-1 border border-gray-200 text-xs">
{{ __('File') }}
</th>
<th class="p-1 border border-gray-200 text-xs">
{{ __('Size') }}
</th>
<th class="p-1 border border-gray-200 text-xs">
{{ __('MTime') }}
</th>
<th class="p-1 border border-gray-200 text-xs">
{{ __('Image') }}
</th>
</tr>
@forelse ($top_auk->mmcs as $mmc)
<tr>
<td class="p-1 border border-gray-200 text-xs"> <td class="p-1 border border-gray-200 text-xs">
{{ $mmc->filename }}</td> {{ $mmc->filename }}</td>
<td class="p-1 border border-gray-200 text-xs">{{ $mmc['size'] }} <td class="p-1 border border-gray-200 text-xs">{{ $mmc['size'] }}
@@ -62,24 +47,21 @@
]) ])
</svg> </svg>
@endif @endif
{{-- <img height="50" src="{{ route('mmc.show', $mmc->id) }}"> --}}
</td> </td>
</tr> </tr> --}}
<a href="{{ route('mmc.show', [$top_auk->id,0]) }}" class="pl-2">
@empty <button
<tr> class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded-full">
<td colspan="3" class="p-1 border border-gray-200 text-xs">No MMC <i class="fa fa-eye pr-2"></i>{{ __('Show mmc') }}
<a href="{{ route('mmc.scan', $top_auk->id) }}" </button>
class="pl-2"> </a>
<button @else
class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-full"> <a href="{{ route('mmc.scan', $top_auk->id) }}" class="pl-2">
<i class="fa fa-search pr-2"></i>{{ __('Scan mmc') }} <button
</button> class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-full">
</a> <i class="fa fa-search pr-2"></i>{{ __('Scan mmc') }}
</td> </button>
</tr> @endif
@endforelse
</table>
</td> </td>
</tr> </tr>
@if (count($top_auk->childs)) @if (count($top_auk->childs))

View File

@@ -3,10 +3,7 @@
<h2 class="font-semibold text-xl text-gray-800 leading-tight"> <h2 class="font-semibold text-xl text-gray-800 leading-tight">
<div class="flex flex-row"> <div class="flex flex-row">
<div class="basis-1/2"> <div class="basis-1/2">
{{ __('Selected project') }}: {{ $project->name }} {{ $project->name }}: {{ $auk->auk_name }}: {{ __('MMC Show') }}
</div>
<div class="basis-1/2">
{{ __('MMC path') }}: {{ $project->mmc_path }}
</div> </div>
</div> </div>
</h2> </h2>
@@ -16,6 +13,54 @@
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8"> <div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="bg-white overflow-hidden shadow-sm sm:rounded-lg"> <div class="bg-white overflow-hidden shadow-sm sm:rounded-lg">
<div class="p-6 bg-white border-b border-gray-200"> <div class="p-6 bg-white border-b border-gray-200">
<div class="flex flex-row">
<div class="basis-1/4">
<ul>
@forelse ($auk->mmcs as $mmc)
<li>
@if (strcasecmp(substr($mmc->filename, -3, 3), 'swf') == 0)
<a href="{{ route('mmc.show', [$auk->id, $mmc->id]) }}"
class="underline text-gray-500 hover:text-gray-700">{{ $mmc->filename }}</a>
@else
<a href="{{ route('mmc.show', [$auk->id, $mmc->id]) }}"
class="underline text-blue-500 hover:text-blue-700">{{ $mmc->filename }}</a>
@endif
</li>
@empty
<li>NO MMC!</li>
@endforelse
</ul>
</div>
<div class="basis-3/4">
<div class="flex flex-row">
<div class="basis-1/3">
<b>name:</b> {{ $current_mmc->filename }}
</div>
<div class="basis-1/3">
<b>size:</b> {{ $current_mmc->size }}
</div>
<div class="basis-1/3">
<b>mtime:</b> {{ date('d.m.Y H:i:s', $current_mmc->mtime) }}
</div>
</div>
<div class="pt-4">
@if (strcasecmp(substr($current_mmc->filename, -3, 3), 'svg') == 0)
{{-- <svg style="width:100%">
<use href="{{ route('mmc.getimage', [$auk->id, $current_mmc->id]) }}"></use>
</svg> --}}
<object width="800px" height="600px"
data="{{ route('mmc.getimage', [$auk->id, $current_mmc->id]) }}"
type="image/svg+xml" style="border-2">Error load svg</object>
{{-- <img width="800px" srcset="{{ route('mmc.getimage', [$auk->id, $current_mmc->id]) }}" type="image/svg+xml"> --}}
@elseif (strcasecmp(substr($current_mmc->filename, -3, 3), 'jpg') == 0)
<img width="800"
src="{{ route('mmc.getimage', [$auk->id, $current_mmc->id]) }}">
@elseif (strcasecmp(substr($current_mmc->filename, -3, 3), 'swf') == 0)
<b>Can't show FLASH!!!</b>
@endif
</div>
</div>
</div>
</div> </div>
</div> </div>

View File

@@ -37,10 +37,14 @@ Route::prefix('admin')->middleware(['admin'])->group(function () {
Route::resource('/projects', ProjectController::class)->middleware(['auth']); Route::resource('/projects', ProjectController::class)->middleware(['auth']);
Route::post('/project/{project}/select',SelectProjectController::class)->middleware(['auth'])->name('project.select'); Route::post('/project/{project}/select',SelectProjectController::class)->middleware(['auth'])->name('project.select');
Route::resource('/mmc', MMCController::class)->middleware(['auth'])->only(['index','create','show']); Route::resource('/mmc', MMCController::class)->middleware(['auth'])->only(['index','create']);
Route::get('/mmc/scan/{auk}', [MMCController::class, 'scan'])->middleware(['auth'])->name('mmc.scan'); Route::get('/mmc/{auk}/show/{mmc}', [MMCController::class, 'show'])->middleware(['auth'])->name('mmc.show');
Route::post('/mmc/load/{auk}', [MMCController::class, 'load'])->middleware(['auth'])->name('mmc.load'); Route::get('/mmc/{auk}/getimage/{mmc}', [MMCController::class, 'getimage'])->middleware(['auth'])->name('mmc.getimage');
Route::get('/mmc/{auk}/scan', [MMCController::class, 'scan'])->middleware(['auth'])->name('mmc.scan');
Route::post('/mmc/{auk}/load', [MMCController::class, 'load'])->middleware(['auth'])->name('mmc.load');
Route::resource('/documents', DocumentController::class)->except('show')->middleware(['auth']); Route::resource('/documents', DocumentController::class)->except('show')->middleware(['auth']);
Route::resource('/auks', AUKController::class)->except('show')->middleware(['auth']); Route::resource('/auks', AUKController::class)->except('show')->middleware(['auth']);
Route::get('/auks/scan', [AUKController::class, 'scan'])->middleware(['auth'])->name('auks.scan'); Route::get('/auks/scan', [AUKController::class, 'scan'])->middleware(['auth'])->name('auks.scan');
Route::post('/auks/load', [AUKController::class, 'load'])->middleware(['auth'])->name('auks.load'); Route::post('/auks/load', [AUKController::class, 'load'])->middleware(['auth'])->name('auks.load');