@foreach ($form->get_field('pain-arms-legs-detail')->get_options() as $option)
<label title="{{ $option }}">
<input type="checkbox" name="pain-arms-legs-detail[]" value="{{ $option }}">
- <span class="form-label">{{-- No label here but the element is needed so custom checkboxes work --}}</span>
+ <span
+ class="form-label">{{-- No label here but the element is needed so custom checkboxes work --}}</span>
</label>
@endforeach
</div>
{{ __("Envoyez-nous l'ensemble des fichiers contenus sur votre CD :", "ccv") }}
</p>
- <a href="#purview_uploader" target="_blank" class="btn mt-6" data-lity data-update-imagery-type>{{ __('Parcourir', 'ccv') }}</a>
+ <a href="#purview_uploader" target="_blank" class="btn mt-6" data-lity
+ data-update-imagery-type>{{ __('Parcourir', 'ccv') }}</a>
{{-- IMAGE UPLOAD POPUP --}}
<div id="purview_uploader" class="lity-hide spaced">
{{ __('Les fichiers de scanner et IRM comportent souvent de nombreuses images et le téléchargement peut prendre plusieurs minutes, c’est normal.', 'ccv') }}
</p>
- <iframe class="block w-full overflow-hidden" height="320" src="https://uploader.purview.net/client/scmgeneste/" scrolling="no" data-service="uploader.purview"></iframe>
+ <iframe class="block w-full overflow-hidden" height="320"
+ src="https://uploader.purview.net/client/scmgeneste/" scrolling="no"
+ data-service="uploader.purview"></iframe>
<p>
{{ __('3. Une fois vos images envoyées, la barre de chargement disparait et le descriptif des images apparaît. Le CCV Montpellier aura accès de son côté à vos images.', 'ccv') }}
</div>
{{-- IMAGES ONLINE --}}
+ @php $phonetoken=bin2hex(random_bytes(5)); @endphp
+
<div class="imagery-type-wrapper flex mb-8">
<input type="radio" id="imagery_web" name="imagery-type" value="{{ __('Images en ligne', 'ccv') }}">
+ <input type="hidden" name="imagery-phone-token" value="{{ $phonetoken }}">
<label for="imagery_web" class="imagery-icon">@svg('imagery-web', 'w-22 md:w-20 sm:w-16')</label>
<div class="ml-4">
<div class="text-lg sm:text-base font-normal leading-tight mb-1">
<p class="mt-0 sm:text-sm">
{{ __('Prenez vos images en photo et envoyez-les directement depuis votre téléphone :', 'ccv') }}
</p>
- <a href="javascript://" class="btn mt-6" data-update-imagery-type>{{ __('Parcourir') }}</a>
+ <a href="#" class="btn mt-6" data-update-imagery-type id="phone-image-browse">{{ __('Parcourir') }}</a>
</div>
</div>
<div class="custom-checkbox mt-6">
<label>
<input type="checkbox" id="images_sent_by_post">
- <span class="form-label text-xs">{{ __('Cochez cette case si vous envoyez vos images par courrier', 'ccv') }}</span>
+ <span
+ class="form-label text-xs">{{ __('Cochez cette case si vous envoyez vos images par courrier', 'ccv') }}</span>
</label>
</div>
</div>
</div>
+@push('afterform')
+ <form action="https://upload.ccv-montpellier.fr/upload.php" id="phone-file-upload-form" method="post"
+ enctype="multipart/form-data" style="visibility:hidden;height:1px;position:absolute;top:0;">
+ <input type="file" multiple="multiple" name="files[]" id="phone-file-upload-field" accept="image/*;capture=camera"/>
+ </form>
+ <script>
+ jQuery(function () {
+ // Click browse triggers the file form. It opens the dialog to capture images or browse files
+ jQuery("#phone-image-browse").on('click touchend', function () {
+ jQuery("#phone-file-upload-field").click();
+ return false;
+ });
+ // If the field has been updated (e.g not canceled), submit the form
+ jQuery("#phone-file-upload-field").on('change', function () {
+ var form_data = new FormData();
+ var fileInput = document.getElementById('phone-file-upload-field');
+
+ // Read selected files
+ var totalfiles = fileInput.files.length;
+ for (var index = 0; index < totalfiles; index++) {
+ form_data.append("files[]", fileInput.files[index]);
+ }
+ form_data.append('token', '{{ $phonetoken }}');
+
+ var form = jQuery("#phone-file-upload-form");
+ var field = jQuery("#phone-file-upload-field");
+ var button = jQuery("#phone-image-browse");
+
+ button.text("{{ __("Chargement des fichiers", 'ccv') }}");
+
+ // AJAX request
+ jQuery.ajax({
+ url: form.attr('action'),
+ type: form.attr('method'),
+ data: form_data,
+ dataType: 'json',
+ contentType: false,
+ processData: false,
+ success: function (response) {
+ setTimeout(function () {
+ console.log('reset button');
+ button.text("{{ __("Parcourir", 'ccv') }}");
+ }, 2000);
+ button.text("{{ __("Chargement terminé", 'ccv') }}");
+ }
+ });
+
+ return true;
+ });
+ });
+ </script>
+@endpush
+
{{-- Custom classes for form message container --}}
@push('message_class')
py-2v pl-4v pr-3v xs:px-2v