/* global wp_mail_smtp_tools_debug_events, ajaxurl, flatpickr */ /** * WPMailSMTP Debug Events functionality. * * @since 3.0.0 */ 'use strict'; var WPMailSmtpDebugEvents = window.WPMailSmtpDebugEvents || ( function( document, window, $ ) { /** * Elements. * * @since 3.0.0 * * @type {object} */ var el = { $debugEventsPage: $( '.wp-mail-smtp-tab-tools-debug-events' ), $dateFlatpickr: $( '.wp-mail-smtp-filter-date-selector' ), }; /** * Public functions and properties. * * @since 3.0.0 * * @type {object} */ var app = { /** * Start the engine. * * @since 3.0.0 */ init: function() { $( app.ready ); }, /** * Document ready. * * @since 3.0.0 */ ready: function() { app.initDateRange(); app.events(); // Open debug event popup from the query string. var searchParams = new URLSearchParams( location.search ); if ( searchParams.has( 'debug_event_id' ) ) { app.openDebugEventPopup( searchParams.get( 'debug_event_id' ) ); } }, /** * Register JS events. * * @since 3.0.0 */ events: function() { el.$debugEventsPage.on( 'click', '#wp-mail-smtp-reset-filter .reset', app.resetFilter ); el.$debugEventsPage.on( 'click', '#wp-mail-smtp-delete-all-debug-events-button', app.deleteAllDebugEvents ); el.$debugEventsPage.on( 'click', '.js-wp-mail-smtp-debug-event-preview', app.eventClicked ); }, /** * Init Flatpickr at Date Range field. * * @since 3.0.0 */ initDateRange: function() { var langCode = wp_mail_smtp_tools_debug_events.lang_code, flatpickrLocale = { rangeSeparator: ' - ', }; if ( flatpickr !== 'undefined' && Object.prototype.hasOwnProperty.call( flatpickr, 'l10ns' ) && Object.prototype.hasOwnProperty.call( flatpickr.l10ns, langCode ) ) { flatpickrLocale = flatpickr.l10ns[ langCode ]; flatpickrLocale.rangeSeparator = ' - '; } el.$dateFlatpickr.flatpickr( { altInput : true, altFormat : 'M j, Y', dateFormat: 'Y-m-d', locale : flatpickrLocale, mode : 'range' } ); }, /** * Reset filter handler. * * @since 3.0.0 */ resetFilter: function() { var $form = $( this ).parents( 'form' ); $form.find( $( this ).data( 'scope' ) ).find( 'input,select' ).each( function() { var $this = $( this ); if ( app.isIgnoredForResetInput( $this ) ) { return; } app.resetInput( $this ); } ); // Submit the form. $form.submit(); }, /** * Reset input. * * @since 3.0.0 * * @param {object} $input Input element. */ resetInput: function( $input ) { switch ( $input.prop( 'tagName' ).toLowerCase() ) { case 'input': $input.val( '' ); break; case 'select': $input.val( $input.find( 'option' ).first().val() ); break; } }, /** * Input is ignored for reset. * * @since 3.0.0 * * @param {object} $input Input element. * * @returns {boolean} Is ignored. */ isIgnoredForResetInput: function( $input ) { return [ 'submit', 'hidden' ].indexOf( ( $input.attr( 'type' ) || '' ).toLowerCase() ) !== -1 && ! $input.hasClass( 'flatpickr-input' ); }, /** * Process the click on the delete all debug events button. * * @since 3.0.0 * * @param {object} event jQuery event. */ deleteAllDebugEvents: function( event ) { event.preventDefault(); var $btn = $( event.target ); $.confirm( { backgroundDismiss: false, escapeKey: true, animationBounce: 1, closeIcon: true, type: 'orange', icon: app.getModalIcon( 'exclamation-circle-solid-orange' ), title: wp_mail_smtp_tools_debug_events.texts.notice_title, content: wp_mail_smtp_tools_debug_events.texts.delete_all_notice, buttons: { confirm: { text: wp_mail_smtp_tools_debug_events.texts.yes, btnClass: 'btn-confirm', keys: [ 'enter' ], action: function() { app.executeAllDebugEventsDeletion( $btn ); } }, cancel: { text: wp_mail_smtp_tools_debug_events.texts.cancel, btnClass: 'btn-cancel', } } } ); }, /** * Process the click on the event item. * * @since 3.0.0 * * @param {object} event jQuery event. */ eventClicked: function( event ) { event.preventDefault(); app.openDebugEventPopup( $( this ).data( 'event-id' ) ); }, /** * Open debug event popup. * * @since 3.5.0 * * @param {int} eventId Debug event ID. */ openDebugEventPopup: function( eventId ) { var data = { action: 'wp_mail_smtp_debug_event_preview', id: eventId, nonce: $( '#wp-mail-smtp-debug-events-nonce', el.$debugEventsPage ).val() }; var popup = $.alert( { backgroundDismiss: true, escapeKey: true, animationBounce: 1, type: 'blue', icon: app.getModalIcon( 'info-circle-blue' ), title: false, content: wp_mail_smtp_tools_debug_events.loader, boxWidth: '550px', buttons: { confirm: { text: wp_mail_smtp_tools_debug_events.texts.close, btnClass: 'btn-confirm', keys: [ 'enter' ] } }, onOpenBefore: function() { this.$contentPane.addClass( 'no-scroll' ); } } ); $.post( ajaxurl, data, function( response ) { if ( response.success ) { popup.setTitle( response.data.title ); popup.setContent( response.data.content ); } else { popup.setIcon( app.getModalIcon( 'exclamation-circle-regular-red' ) ); popup.setType( 'red' ); popup.setContent( response.data ); } } ).fail( function() { popup.setContent( wp_mail_smtp_tools_debug_events.texts.error_occurred ); } ); }, /** * AJAX call for deleting all debug events. * * @since 3.0.0 * * @param {object} $btn jQuery object of the clicked button. */ executeAllDebugEventsDeletion: function( $btn ) { $btn.prop( 'disabled', true ); var data = { action: 'wp_mail_smtp_delete_all_debug_events', nonce: $( '#wp-mail-smtp-debug-events-nonce', el.$debugEventsPage ).val() }; $.post( ajaxurl, data, function( response ) { var message = response.data, icon, type, callback; if ( response.success ) { icon = 'check-circle-solid-green'; type = 'green'; callback = function() { location.reload(); return false; }; } else { icon = 'exclamation-circle-regular-red'; type = 'red'; } app.displayModal( message, icon, type, callback ); $btn.prop( 'disabled', false ); } ).fail( function() { app.displayModal( wp_mail_smtp_tools_debug_events.texts.error_occurred, 'exclamation-circle-regular-red', 'red' ); $btn.prop( 'disabled', false ); } ); }, /** * Display the modal with provided text and icon. * * @since 3.0.0 * * @param {string} message The message to be displayed in the modal. * @param {string} icon The icon name from /assets/images/font-awesome/ to be used in modal. * @param {string} type The type of the message (red, green, orange, blue, purple, dark). * @param {Function} actionCallback The action callback function. */ displayModal: function( message, icon, type, actionCallback ) { type = type || 'default'; actionCallback = actionCallback || function() {}; $.alert( { backgroundDismiss: true, escapeKey: true, animationBounce: 1, type: type, closeIcon: true, title: false, icon: icon ? app.getModalIcon( icon ) : '', content: message, buttons: { confirm: { text: wp_mail_smtp_tools_debug_events.texts.ok, btnClass: 'wp-mail-smtp-btn wp-mail-smtp-btn-md', keys: [ 'enter' ], action: actionCallback } } } ); }, /** * Returns prepared modal icon. * * @since 3.0.0 * * @param {string} icon The icon name from /assets/images/font-awesome/ to be used in modal. * * @returns {string} Modal icon HTML. */ getModalIcon: function( icon ) { return '"> A PROPOS - Studyo.LB

A PROPOS

Mon Histoire


Le début de ma passion photographique remonte à une période lointaine où le cœur des appareils photos était une pellicule en celluloïde et où je passais mon temps libre dans un laboratoire à développer des pellicules et des tirages en noir et blanc dans des bains de produits chimiques.

De cette époque me reste l’amour des images bien composées, de la maîtrise de la lumière, du travail de développement soigné, des beaux tirages papier et bien entendu du travail en noir et blanc.

Les technologies évoluant, j’ai découvert avec le numérique la maîtrise de la couleur et pu adapter mon travail à mon goût pour les couleurs profondes et affirmées.

Mes Valeurs

A ces éléments, viennent s’ajouter des valeurs qui me sont propres

Authenticité

si vous faites appel à mes services, c’est que l’esthétisme de mes travaux vous plaît, mais avant tout je cherche à faire des clichés qui vous correspondent et vous mettent en lumière en étant le plus authentique possible

Emotion

de mon point de vue, le travail d’un photographe professionnel n’est pas de simplement rendre de belles images, il est de rechercher à transcrire les émotions de l’instant présent

Discrétion

« discret », c’est ce que je suis dans la vie, c’est également ce que je m’impose d’être en tant que photographe. Quelle que soit la prestation , j’essaie d’intervenir le moins possible et rester le plus transparent afin d’obtenir le plus de naturel de votre part ; mon rôle est juste de vous guider pour vous mettre en valeur.

Mon Processus Client

1

Contact

Afin de m'adapter le mieux possible à vos souhaits et vous offrir la prestation la plus adaptée, il m'est indispensable de mieux vous connaître, je le ferai au travers d’un (ou plusieurs) entretien(s) par mail, téléphone, visio-conférence ou face à face.

Toutes mes prestations donnent lieu à l’établissement d’un devis à accepter avant la réalisation de la prestation

2

Prestation

La durée et les différents éléments de la prestation seront définis en amont lors des entretiens préalables

Après acceptation du devis mes prestations font l'objet de l'établissement d'un contrat

3

Livraison

Je suis particulièrement attentifs à la qualité de produits livrés.

La majorité de mes prestations inclue la livraison de produits manufacturés par des partenaires (tirages papiers, books, livres photos, etc…), j'en assure le contrôle qualité en amont

Mes Points Forts

Philosophie

Une philosophie ancrée sur long parcours professionnel consacré au commerce : "Bâtir des prestations Sur-Mesure" pour tous mes clients quelque soit leur budget

Univers

Un univers photographique affirmé, bâti tout au long d’une pratique intense de la photographie

Matériel

Bien sûr le premier outil d’un photographe est son « œil photographique » son regard différent, mais seul un matériel adapté permet d’avoir une qualité professionnelle. Je n’utilise que du matériel professionnel de marques Sony, Sigma, Zeiss et Elinchrome

Produits

Selon moi, une prestation photographique professionnelle se doit de vous livrer des produits de très haute qualité quelle qu’en soit la forme (fichiers numériques, tirages papiers, objets de déco, livres, etc…), Selon moi, une prestation photographique professionnelle se doit de vous livrer des produits de très haute qualité quelle qu’en soit la forme (fichiers numériques, tirages papiers, objets de déco, livres, etc…), j'y suis donc très attentif

“Il ne s'agit pas de transmettre une vision, mais de toucher les gens à travers une image

- Ansel Adams -