101 lines
3.1 KiB
PHP
101 lines
3.1 KiB
PHP
@extends('layouts.app')
|
|
|
|
@section('content')
|
|
<?php $data = [
|
|
'ID'=>'id',
|
|
'Thumbnail'=>'thumbnail',
|
|
'Signature'=>'signature',
|
|
'Date Taken'=>'datetaken',
|
|
'File Created'=>'created',
|
|
'File Modified'=>'modified',
|
|
'Filename'=>'filepath',
|
|
'Filesize'=>'filesize',
|
|
'Width'=>'width',
|
|
'Height'=>'height',
|
|
'Orientation'=>'orientation',
|
|
'Make'=>'make',
|
|
'Model'=>'model',
|
|
'Exif Diff'=>'exif',
|
|
];
|
|
|
|
$form = [
|
|
'duplicate',
|
|
'flag',
|
|
'remove',
|
|
];
|
|
|
|
function changed($k,$v,$l=0)
|
|
{
|
|
static $changed = [];
|
|
|
|
if (! isset($changed[$l][$k]))
|
|
$changed[$l][$k] = $v;
|
|
|
|
return $changed[$l][$k] === $v;
|
|
} ?>
|
|
|
|
@foreach ($photos as $photo)
|
|
<?php $duplicates = $photo->list_duplicate(TRUE); ?>
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-11 col-md-offset-1">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
Duplicate Photo {{ $photo->id }}
|
|
</div>
|
|
|
|
<div class="text-center">{{ $photos->links() }}</div>
|
|
<div class="panel-body">
|
|
<form action="{{ url('/duplicates') }}" method="POST">
|
|
<table class="table table-striped table-condensed table-hover">
|
|
@foreach ($data as $k=>$v)
|
|
<tr>
|
|
<th>{{ $k }}</th>
|
|
@foreach ($duplicates as $id)
|
|
<?php
|
|
$o = (new \App\Model\Photo())->where('id',$id)->first();
|
|
switch ($v) :
|
|
case 'id': $x=$id; $y=sprintf('<a href="%s">%s</a>',url('/info/'.$o->id),$o->id); break;
|
|
case 'thumbnail': $x=md5($o->thumbnail); $y=sprintf('<a href="%s"><img src="%s" width="200px"></a>',url('/view/'.$o->id),url('/thumbnail/'.$o->id)); break;
|
|
case 'signature': $x=$y=$o->signature(TRUE); break;
|
|
case 'datetaken': $x=$y=$o->date_taken(); break;
|
|
case 'created': $x=$y=$o->file_date('c',TRUE); break;
|
|
case 'modified': $x=$y=$o->file_date('m',TRUE); break;
|
|
case 'filepath': $x=$y=$o->file_path(TRUE); break;
|
|
case 'filesize': $x=$y=$o->file_size(); break;
|
|
case 'width': $x=$y=$o->width; break;
|
|
case 'height': $x=$y=$o->height; break;
|
|
case 'orientation': $x=$y=$o->orientation; break;
|
|
case 'make': $x=$y=$o->make; break;
|
|
case 'model': $x=$y=$o->model; break;
|
|
case 'exif': $y='<table class="table table-striped table-condensed">'; foreach ($o->properties() as $a => $b) $y.=sprintf('<tr class="%s"><th>%s<><td>%s<td></tr>',(changed($a,$b,1) ? '' : 'warning'),$a,$b); $y.='</table>';$x=md5($y); break;
|
|
endswitch ?>
|
|
<td class="{{ changed($v,$x) ? '' : 'danger' }}"><?php echo $y; ?></td>
|
|
@endforeach {{-- photo --}}
|
|
</tr>
|
|
@endforeach {{-- data --}}
|
|
@foreach ($form as $v)
|
|
<tr>
|
|
<th>{{ $v }}</th>
|
|
@foreach ($duplicates as $id)
|
|
<?php $o = (new \App\Model\Photo())->where('id',$id)->first(); ?>
|
|
<td><input type="checkbox" name="{{ sprintf('%s[%s]',$v,$o->id) }}" value="1" {{ $o->$v==1 ? 'checked="checked"' : '' }}></td>
|
|
@endforeach {{-- photo --}}
|
|
</tr>
|
|
@endforeach {{-- form --}}
|
|
</table>
|
|
@foreach ($duplicates as $id)
|
|
<input type="hidden" name="photo[]" value="{{ $id }}">
|
|
@endforeach {{-- photo --}}
|
|
<input type="hidden" name="page" value="{{ $photos->currentPage() }}">
|
|
<button class="btn btn-default">Update</button>
|
|
{{ csrf_field() }}
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
@endsection
|