Mini Shell

Direktori : /home/admin/web/mcpv.demarco.ddnsfree.com/public_html/external/prestataires/
Upload File :
Current File : /home/admin/web/mcpv.demarco.ddnsfree.com/public_html/external/prestataires/prestataire_admin.php

<?php
require_once(__DIR__ . "/_include/init.php");
if(!current_user_can('administrator') ) {
	echo "Section réservée aux administrateurs du site uniquement. <a href='/mcpv/index.php'>Revenir au site</a>";
	exit();
}
$msg = "&nbsp;";
$mode = 1 ; // 1=recherche 2=affichage

if ($mode = 1) 
{
    extract($_POST);
    if(isset($btn_search)) 
    {
		$query = $db->prepare('select * from v_prestataires where localisation = "' . trim($localisation) . '" order by nom, prenom');
		$prestataires = $query->execute();
		$recs = 0;
		while($row = $prestataires->fetchArray(SQLITE3_ASSOC))
		{
			$recs++;
		}
		$mode = 2;
	}
}
?>

<!doctype html>
<html lang="fr">
<head>

<?php require_once("_include/meta.php"); 
      require_once("_include/link.php"); 
      require_once("_include/script.php"); 
      require_once("_include/scripts.js"); 
?>

<script type="text/javascript">

$(document).ready(function() {
	$('#btn_search').html('<i class="fa fa-search"></i> Rechercher');
		
	$('#btn_search').on('click',function() {
		$('#btn_search').html('<i class="fa fa-spinner fa-spin"></i> Rechercher');
		$('#search_form').submit();
	});
	
	$('.view-btn').on('click',function() {
		$tr = $(this).closest('tr');
		var data = $tr.children('td').map(function() {
			return $(this).text();
		}).get();
		$('#id_view').val(data[0]);
		$('#nom_view').text(data[1]);
		$('#prenom_view').text(data[2]);
		$('#adresse_view').text(data[3]);
		$('#npa_view').text(data[4]);
		$('#lieu_view').text(data[14]);
		$('#fonction_view').text(data[15]);
		$('#tel_view').text(data[17]);
		$('#email_view').text(data[16]);
		$('#href_email_view').attr('href', 'mailto:' + data[16]);
		$('#remarque_view').text(data[12]);
		$('#avis_view').text(data[18]);
		$('#note_g_view').val(data[5]);
		$('#text_note_g_view').text(parseFloat(data[5]).toFixed(1));
		$('#note_c1_view').val(data[6]);
		$('#text_note_c1_view').text(parseFloat(data[6]).toFixed(1));
		$('#note_c2_view').val(data[7]);
		$('#text_note_c2_view').text(parseFloat(data[7]).toFixed(1));
		$('#note_c3_view').val(data[8]);
		$('#text_note_c3_view').text(parseFloat(data[8]).toFixed(1));
		$('#note_c4_view').val(data[9]);
		$('#text_note_c4_view').text(parseFloat(data[9]).toFixed(1));
		$('#note_c5_view').val(data[10]);
		$('#text_note_c5_view').text(parseFloat(data[10]).toFixed(1));
		$('#note_c6_view').val(data[11]);
		$('#text_note_c6_view').text(parseFloat(data[11]).toFixed(1));
		$('#btn-modal-listeavis').prop('hidden', false);
		$('#btn-modal-detail').prop('hidden', true);
		$('#btn-modal-fermer').prop('disabled', false);
		$('#detail-modal').prop('hidden',false);
		$('#listeavis-modal').prop('hidden',true);
		$('#view-modal-main').prop('class','modal-dialog modal-dialog-centered');
		$('#btn-modal-listeavis').html('<i class="fa fa-eye"></i> Voir les avis');
		$('#view-modal').modal('show');  	
	});
	
	$('.edit-btn').on('click',function() {
		$tr = $(this).closest('tr');
		var data = $tr.children('td').map(function() {
			return $(this).text();
		}).get();
		$('#id_upd').val(data[0]);
		$('#nom_upd').val(data[1]);
		$('#prenom_upd').val(data[2]);
		$('#adresse_upd').val(data[3]);
		$('#npa_upd').val(data[4]);
		$('#lieu_upd').val(data[14]);
		$('#fonction_upd').val(data[15]);
		$('#tel_upd').val(data[17]);
		$('#email_upd').val(data[19]);
		$('#remarque_upd').val(data[12]);
		$('#fonct_id_upd > option').each(function() {
			if($(this).text()==data[15]) {
				$(this).attr('selected', '');
			}
		});
		$('#loc_id_upd > option').each(function() {
			if($(this).text()==data[20]) {
				$(this).attr('selected', '');
			}
		});
		$('#edit-modal').modal('show');
	});

	// $('.avis-btn').on('click',function() {
		// $tr = $(this).closest('tr');
		// var data = $tr.children('td').map(function() {
			// return $(this).text();
		// }).get();
		// $('#id_avis').val(data[0]);
		// $('#prestataire_avis').text(data[13]);
		// $('#avis-modal').modal('show');
	// });
	
	$('.delete-btn').on('click',function() {
		$tr = $(this).closest('tr');
		var data = $tr.children('td').map(function() {
			return $(this).text();
		}).get();
		$('#id_del').val(data[0]);
		$('#nom_del').text(data[1]);
		$('#prenom_del').text(data[2]);

		$('#delete-modal').modal('show');
	});

	
	$('#btn_add').on('click',function() {
		$('#add-modal').modal('show');
		return false;
	});	
	
	$('#form-avis').on('submit',function() {
		$('#btn-modal-avis-fermer').prop('disabled', true);
		$('#btn-modal-avis').prop("disabled", true);
		$('#btn-modal-avis').html('<i class="fa fa-circle-o-notch fa-spin"></i> Attendre...');
		$.ajax({
			type: 'post',
			url: 'avis_ajouter.php',
			data: $('#form-avis').serialize(),
			success: function(data) {
				var response = data.trim();
				$('#btn-modal-avis').prop("disabled", false);
				$('#btn-modal-avis').html('<i class="fa fa-save"></i> Enregistrer');
				$('#btn-modal-avis-fermer').prop('disabled', false);
				if (response == '') {
					$('#avis-modal').modal('hide');
					$('#btn_search').trigger('click');
					$('#err-avis').html('');
					$('#err-avis').prop('hidden', true);
				}
				else
				{
					$('#err-avis').html(response);
					$('#err-avis').prop('hidden', false);
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) { 
				alert("Status: " + textStatus); alert("Error: " + errorThrown); 
			}
		});
		return false;	// prevent form submit
	});
	
	$('#form-edit').on('submit',function() {
		$('#btn-modal-edit-fermer').prop('disabled', true);
		$('#btn-modal-edit').prop("disabled", true);
		$('#btn-modal-edit').html('<i class="fa fa-circle-o-notch fa-spin"></i> Attendre...');
		$.ajax({
			type: 'post',
			url: 'prestataire_modifier.php',
			data: $('#form-edit').serialize(),
			success: function(data) {
				var response = data.trim();
				$('#btn-modal-edit').prop("disabled", false);
				$('#btn-modal-edit').html('<i class="fa fa-save"></i> Enregistrer');
				$('#btn-modal-edit-fermer').prop('disabled', false);
				if (response == '') {
					$('#edit-modal').modal('hide');
					$('#btn_search').trigger('click');
					$('#err-edit').html('');
					$('#err-edit').prop('hidden', true);
				}
				else
				{
					$('#err-edit').html(response);
					$('#err-edit').prop('hidden', false);
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) { 
				alert("Status: " + textStatus); alert("Error: " + errorThrown); 
			}
		});
		return false;	// prevent form submit
	});
	
	$('#form-add').on('submit',function() {
		$('#btn-modal-add-fermer').prop('disabled', true);
		$('#btn-modal-add').prop("disabled", true);
		$('#btn-modal-add').html('<i class="fa fa-circle-o-notch fa-spin"></i> Attendre...');
		$.ajax({
			type: 'post',
			url: 'prestataire_ajouter.php',
			data: $('#form-add').serialize(),
			success: function(data) {
				var response = data.trim();
				$('#btn-modal-add').prop("disabled", false);
				$('#btn-modal-add').html('<i class="fa fa-save"></i> Enregistrer');
				$('#btn-modal-add-fermer').prop('disabled', false);
				if (response == '') {
					$('#edit-modal').modal('hide');
					$('#btn_search').trigger('click');
					$('#err-add').html('');
					$('#err-add').prop('hidden', true);
				}
				else
				{
					$('#err-add').html(response);
					$('#err-add').prop('hidden', false);
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) { 
				alert("Status: " + textStatus); alert("Error: " + errorThrown); 
			}
		});
		return false;	// prevent form submit
	});

	$('#form-delete').on('submit',function() {
		$('#btn-modal-delete-fermer').prop('disabled', true);
		$('#btn-modal-delete').prop("disabled", true);
		$('#btn-modal-delete').html('<i class="fa fa-circle-o-notch fa-spin"></i> Attendre...');
		$.ajax({
			type: 'post',
			url: 'prestataire_supprimer.php',
			data: $('#form-delete').serialize(),
			success: function(data) {
				var response = data.trim();
				$('#btn-modal-delete').prop("disabled", false);
				$('#btn-modal-delete').html('<i class="fa fa-trash"></i> Confirmer');
				$('#btn-modal-delete-fermer').prop('disabled', false);
				if (response == '') {
					$('#btn_search').trigger('click');
					$('#err-delete').html('');
					$('#err-delete').prop('hidden', true);
					$('#delete-modal').modal('hide');
				}
				else
				{
					$('#err-delete').html(response);
					$('#err-delete').prop('hidden', false);
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) { 
				alert("Status: " + textStatus); alert("Error: " + errorThrown); 
			}
		});
		return false;	// prevent form submit
	});
	

	
	$('#btn-modal-listeavis').on('click',function() {
		$('#btn-modal-listeavis').html('<i class="fa fa-circle-o-notch fa-spin"></i> Attendre...');
		$('#btn-modal-fermer').prop('disabled', true);
		$.ajax({
			type: 'post',
			url: 'avis_liste.php',
			data: $('#form-view').serialize(),
			success: function(data) {
				var response = data.trim();
				$('#btn-modal-fermer').prop('disabled', false);
				if (response == '') {
					$('#btn-modal-listeavis').prop('hidden', true);
					$('#btn-modal-detail').prop('hidden', false);
					$('#btn-modal-fermer').prop('disabled', false);
					$('#detail-modal').prop('hidden',false);
					$('#listeavis-modal').prop('hidden',true);
					$('#view-modal-main').prop('class','modal-dialog modal-dialog-centered');
					$('#btn-modal-listeavis').html('<i class="fa fa-eye"></i> Voir les avis');
					$('#view-modal').modal('hide');
					$('#btn_search').trigger('click');
				}
				else
				{
					$('#detail-modal').prop('hidden',true);
					$('#view-modal-main').prop('class','modal-dialog modal-dialog-centered modal-xl');
					$('#btn-modal-detail').prop('hidden', false);
					$('#btn-modal-listeavis').prop('hidden', true);
					$('#listeavis-modal').prop('hidden',false);
					$('#listeavis-modal').html(response);
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) { 
				alert("Status: " + textStatus); alert("Error: " + errorThrown); 
			}
		});
		return false;	// prevent form submit
	});
	
	$('#btn-modal-detail').on('click',function() {
		$('#btn-modal-listeavis').prop('hidden', false);
		$('#btn-modal-detail').prop('hidden', true);
		$('#btn-modal-fermer').prop('disabled', false);
		$('#detail-modal').prop('hidden',false);
		$('#listeavis-modal').prop('hidden',true);
		$('#view-modal-main').prop('class','modal-dialog modal-dialog-centered');
		$('#btn-modal-listeavis').html('<i class="fa fa-eye"></i> Voir les avis');
		return false; // prevent form submit
	});
	
});	
function upd_note(id) {
	var textid = "text_" + id; 
	var note = document.getElementById(id).value;
	document.getElementById(textid).innerHTML = "<big>"+note+"</big>";
}
</script>

</head>

<body>
<?php
	$query = $db->prepare('select * from localisations order by localisation');
	$localisations = $query->execute();
	$query = $db->prepare('select * from fonctions order by fonction');
	$fonctions = $query->execute();
?>
<h5 class="text-center pt-3">Gestion prestataires</h5>

<h6 class="text-center text-danger"><?php echo "<b>" . $msg . "</b>"; ?></h6>
<form method="post" id="search_form">
<div class="container">
		<div class="row mb-4">
			<div class="col-2"></div>
			<div class="col-8">
				<div class="input-group input-group-sm">
					<div class="input-group-prepend w-40">
						<span class="input-group-text w-100">Localisation</span>
					</div>
					<select class="form-control" id="localisation" name="localisation">
						<?php
							while($row = $localisations->fetchArray(SQLITE3_ASSOC))
							{ 
								echo ($localisation == $row['localisation'] ? 
									"<option selected>" .  $row['localisation'] . "</option>" : "<option >" .  $row['localisation'] . "</option>");
							}
						?>
					</select>
					<div class="">
						<button type="submit" class="btn btn-sm btn-primary" id="btn_search" name="btn_search"><i class="fa fa-search"></i> Rechercher</button>
						<button class="btn btn-sm btn-primary mx-4" id="btn_add" name="btn_add"><i class="fa fa-plus"></i> Ajouter prestataire</button>
					</div>
				</div>
			</div>
			<div class="col-2"></div>
		</div>
</div>
</form>

<?php
    if($mode==2) {
		echo '<div class="container">';
        echo '
			<div class="row">
				<div class="col-4">
					<div class="input-group input-group-sm">
						<input id="searchtext" type="text" class="form-control" placeholder="Filtrer par nom" onkeyup="filterValues()"></input>
							<div class="input-group-append">
								<span class="input-group-text"><i class="fa fa-filter"></i></span>
							</div>
					</div>
				</div>
				<div class="col-8">
					<h6 class="text-primary p-2">
						<span class="badge badge-primary badge-pill">' . $recs . '</span> /
						<span id="filtered" class="badge badge-primary badge-pill">' .$recs. '</span>&nbsp;prestataires trouvés/filtrés
					</h6>
				</div>
			</div>
			';
        echo '<table id="liste" class="table table-striped table-sm small">';
        echo '<thead>';
        echo '<tr>';
        echo '<th>Nom</th>';
        echo '<th>Lieu</th>';
		echo '<th>Fonction</th>';
		echo '<th>Email</th>';
		echo '<th>Tel</th>';
        echo '<th>Avis</th>';
		echo '<th>Note globale</th>';	
		echo '<th>Action</th>';	
        echo '</tr>';
        echo '</thead>';
        echo '<tbody>';
        while($prestataire = $prestataires->fetchArray(SQLITE3_ASSOC))
        {
                    echo '<tr>';
					echo '<td hidden>' . $prestataire['id'] .'</td>';												// data[0]
					echo '<td hidden>' . $prestataire['nom'] .'</td>';												// data[1]
					echo '<td hidden>' . $prestataire['prenom'] .'</td>';											// data[2]
					echo '<td hidden>' . $prestataire['adresse'] .'</td>';											// data[3]
					echo '<td hidden>' . $prestataire['npa'] .'</td>';												// data[4]
					echo '<td hidden>' . $prestataire['note_g'] .'</td>'; 											// data[5]
					echo '<td hidden>' . $prestataire['note_c1'] .'</td>';       									// data[6]
					echo '<td hidden>' . $prestataire['note_c2'] .'</td>';       									// data[7]
					echo '<td hidden>' . $prestataire['note_c3'] .'</td>';       									// data[8]
					echo '<td hidden>' . $prestataire['note_c4'] .'</td>';       									// data[9]
					echo '<td hidden>' . $prestataire['note_c5'] .'</td>';											// data[10]
					echo '<td hidden>' . $prestataire['note_c6'] .'</td>';											// data[11]
					echo '<td hidden>' . $prestataire['remarque'] .'</td>';											// data[12]
                    echo '<td class="filtrable">' . $prestataire['nom'] . ' ' . $prestataire['prenom'] . '</td>'; 					// data[13]
                    echo '<td>' . $prestataire['lieu'] . '</td>';													// data[14]
                    echo '<td>' . $prestataire['fonction'] . '</td>';												// data[15]
                    echo '<td><a href="mailto:' . $prestataire['email'] . '">' . $prestataire['email'] . '</td>';	// data[16]
                    echo '<td>' . $prestataire['tel'] . '</td>';													// data[17]
                    echo '<td>' . $prestataire['avis'] . '</td>';													// data[18]
                    echo '<td hidden>' . $prestataire['email'] . '</td>';											// data[19]
                    echo '<td hidden>' . $prestataire['localisation'] . '</td>';									// data[20]
                    echo '<td><meter style="height: 20px; width: 100px; vertical-align: top" min=0 max=10 low=4 high=6 optimum=7 value=' . $prestataire['note_g'] . '></meter>&nbsp;
								<span style="vertical-align: middle;" class="badge badge-info">' . number_format($prestataire['note_g'],1) . '</span></td>';
                    echo '<td>';
                    echo '<button type="button" class="view-btn btn btn-sm btn-dark mr-2 text-light" role="button"><i class="fa fa-eye"></i> Afficher</button>';
                    echo '<button type="button" class="edit-btn btn btn-sm btn-success mr-2 text-light" role="button"><i class="fa fa-pencil"></i> Modifier</button>';
					if($prestataire['avis'] == 0) {
						echo '<button type="button" class="delete-btn btn btn-sm btn-danger mr-2 text-light" role="button"><i class="fa fa-trash"></i> Supprimer</button>';
					}
                    echo '</td>';

                    echo '</tr>';
        }
        echo '</tbody>';
        echo '</table>';
        echo '</div>';
    }
?>

<!-- Page modale - Afficher prestataire -->

<div class="modal fade" id="view-modal">
   <div id="view-modal-main" class="modal-dialog modal-dialog-centered">
        <div class="modal-content">  
            <div class="modal-header text-center">Détails prestataire</div>
			<form method="post" id="form-view">
				<div class="modal-body">
					<p id="err-view" class="font-weight-bold text-danger" hidden></p>
					<input type="text" id ="id_view" name="id_view" hidden>
					<div id="detail-modal">
						<div class="small">
						<div class="row">
							<div class="col-4">
								<span>Fonction</span>
							</div>
							<div class="col-8">
								<span class="text-primary" id="fonction_view"></span>
							</div>
						</div>
						<div class="row">						
							<div class="col-4">
								<span>Nom</span>
							</div>
							<div class="col-8">
								<span class="text-primary" id="nom_view"></span>
							</div>
						</div>
						<div class="row">
							<div class="col-4">
								<span>Prénom</span>
							</div>
							<div class="col-8">
								<span class="text-primary" id="prenom_view"></span>
							</div>
						</div>
						<div class="row">
							<div class="col-4">
								<span>Adresse</span>
							</div>
							<div class="col-8">
								<span class="text-primary" id="adresse_view"></span>
							</div>
						</div>
						<div class="row">
							<div class="col-4">
								<span>NPA + Lieu</span>
							</div>
							<div class="col-8">
								<span class="text-primary" id="npa_view"></span>&nbsp;
								<span class="text-primary" id="lieu_view"></span>							
							</div>
						</div>
						<div class="row">
							<div class="col-4">
								<span>Téléphone</span>
							</div>
							<div class="col-8">
								<span class="text-primary" id="tel_view"></span>
							</div>
						</div>
						<div class="row">
							<div class="col-4">
								<span>EMail</span>
							</div>
							<div class="col-8">
								<a href="" id="href_email_view"><span id="email_view"></span></a>
							</div>
						</div>
						<br/>
						<div class="row">
							<div class="col-4">
								<span>Nb. Avis publiés</span>
							</div>
							<div class="col-8">
								<span class="text-primary" id="avis_view"></span>
							</div>
						</div>
						<div class="row">
							<div class="col-4">
								<span>Note globale</span>
							</div>
							<div class="col-8">
							<meter style="height: 20px; width: 100px; vertical-align: top;" id="note_g_view" min=0 max=10 low=4 high=6 optimum=7></meter>&nbsp;
							<span style="vertical-align: middle;"  id="text_note_g_view" class="badge badge-info"></span>	
							</div>
						</div>
						<div class="row">
							<div class="col-4">
								<span><?php echo $criteres[0]; ?></span>
							</div>
							<div class="col-8">
							<meter style="height: 20px; width: 100px; vertical-align: top;" id="note_c1_view" min=0 max=10 low=4 high=6 optimum=7></meter>&nbsp;
							<span style="vertical-align: middle;"  id="text_note_c1_view" class="badge badge-info"></span>	
							</div>
						</div>
						<div class="row">
							<div class="col-4">
								<span><?php echo $criteres[1]; ?></span>
							</div>
							<div class="col-8">
							<meter style="height: 20px; width: 100px; vertical-align: top;" id="note_c2_view" min=0 max=10 low=4 high=6 optimum=7></meter>&nbsp;
							<span style="vertical-align: middle;"  id="text_note_c2_view" class="badge badge-info"></span>	
							</div>
						</div>
						<div class="row">
							<div class="col-4">
								<span><?php echo $criteres[2]; ?></span>
							</div>
							<div class="col-8">
							<meter style="height: 20px; width: 100px; vertical-align: top;" id="note_c3_view" min=0 max=10 low=4 high=6 optimum=7></meter>&nbsp;
							<span style="vertical-align: middle;"  id="text_note_c3_view" class="badge badge-info"></span>	
							</div>
						</div>
						<div class="row">
							<div class="col-4">
								<span><?php echo $criteres[3]; ?></span>
							</div>
							<div class="col-8">
							<meter style="height: 20px; width: 100px; vertical-align: top;" id="note_c4_view" min=0 max=10 low=4 high=6 optimum=7></meter>&nbsp;
							<span style="vertical-align: middle;"  id="text_note_c4_view" class="badge badge-info"></span>	
							</div>
						</div>
						<div class="row">
							<div class="col-4">
								<span><?php echo $criteres[4]; ?></span>
							</div>
							<div class="col-8">
							<meter style="height: 20px; width: 100px; vertical-align: top;" id="note_c5_view" min=0 max=10 low=4 high=6 optimum=7></meter>&nbsp;
							<span style="vertical-align: middle;"  id="text_note_c5_view" class="badge badge-info"></span>	
							</div>
						</div>
						<div class="row">
							<div class="col-4">
								<span><?php echo $criteres[5]; ?></span>
							</div>
							<div class="col-8">
							<meter style="height: 20px; width: 100px; vertical-align: top;" id="note_c6_view" min=0 max=10 low=4 high=6 optimum=7></meter>&nbsp;
							<span style="vertical-align: middle;"  id="text_note_c6_view" class="badge badge-info"></span>	
							</div>
						</div>
						<br/>
						<div class="row">
							<div class="col-4">
								<span>Remarques</span>
							</div>
							<div class="col-8">
								<span class="text-primary" id="remarque_view"></span>
							</div>
						</div>
					</div>
					</div>
					<div id="listeavis-modal" hidden></div>
				</div>
				<div class="modal-footer">
					<button id="btn-modal-fermer" title="Annuler" data-dismiss="modal" class="btn btn-primary mr-2">
						<i class="fa fa-close"></i> Fermer</button>
					</button>
					<button id="btn-modal-listeavis" title="Avis" class="btn btn-success mr-2">
						<i class="fa fa-thermometer"></i> Voir les avis</button>
					</button>
					<button id="btn-modal-detail" title="Detail" class="btn btn-success mr-2" hidden>
						<i class="fa fa-eye"></i> Voir le détail</button>
					</button>
				</div>
			</form>
		</div>
	</div>
</div>

<!-- Page modale - Ajouter un avis pour un prestataire -->

<div class="modal fade" id="avis-modal"> 
	<div class="modal-dialog modal-lg modal-dialog-centered">
        <div class="modal-content">
            <form id="form-avis" method="post">
                <div class="modal-header">
					<div class="text-center">Ajouter un avis pour le prestataire <b><span class="text-left" id="prestataire_avis"></span></b></div>
				</div>
                <div class="modal-body">
				    <p id="err-avis" class="font-weight-bold text-danger" hidden></p>		
                    <input type="text" id ="id_avis" name="id_avis" hidden>
					<input type="text" id ="membre_full_name_avis" name="membre_full_name_avis" value="<?php echo strtoupper($current_user->user_lastname) . ' ' . $current_user->user_lastname; ?>" hidden>
					<input type="text" id ="membre_email_avis" name="membre_email_avis" value="<?php echo $current_user->user_email; ?>" hidden>
					<div id="avis-main" class="small">						
						<div class="container bg-primary text-white text-center my-2">Veuillez indiquer vos notes (de 0 à 10)</div>
						<div class="row">
							<div class="col-4"><?php echo $criteres[0];?></div>
							<div class="col-8 row">
								<div class="col-8"><input id="note_c1_avis" name="note_c1_avis" min="0" max="10" step="1" type="range" class="form-control-range custom-range" onchange="upd_note(this.id);"></div>
								<div class="col-4"><span id="text_note_c1_avis" class="badge badge-info badge-pill"><big>5</big></span></div>
							</div>
						</div>
						<div class="row">
							<div class="col-4"><?php echo $criteres[1];?></div>
							<div class="col-8 row">
								<div class="col-8"><input id="note_c2_avis" name="note_c2_avis" min="0" max="10" step="1" type="range" class="form-control-range custom-range" onchange="upd_note(this.id);"></div>
								<div class="col-4"><span id="text_note_c2_avis" class="badge badge-info badge-pill"><big>5</big></span></div>
							</div>
	
						</div>						
						<div class="row">
							<div class="col-4"><?php echo $criteres[2];?></div>
							<div class="col-8 row">
								<div class="col-8"><input id="note_c3_avis" name="note_c3_avis" min="0" max="10" step="1" type="range" class="form-control-range custom-range" onchange="upd_note(this.id);"></div>
								<div class="col-4"><span id="text_note_c3_avis" class="badge badge-info badge-pill"><big>5</big></span></div>
							</div>

						</div>
						<div class="row">
							<div class="col-4"><?php echo $criteres[3];?></div>
							<div class="col-8 row">
								<div class="col-8"><input id="note_c4_avis" name="note_c4_avis" min="0" max="10" step="1" type="range" class="form-control-range custom-range" onchange="upd_note(this.id);"></div>
								<div class="col-4"><span id="text_note_c4_avis" class="badge badge-info badge-pill"><big>5</big></span></div>
							</div>

						</div>						
						<div class="row">
							<div class="col-4"><?php echo $criteres[4];?></div>
							<div class="col-8 row">
								<div class="col-8"><input id="note_c5_avis" name="note_c5_avis" min="0" max="10" step="1" type="range" class="form-control-range custom-range" onchange="upd_note(this.id);"></div>
								<div class="col-4"><span id="text_note_c5_avis" class="badge badge-info badge-pill"><big>5</big></span></div>
							</div>

						</div>
						<div class="row">
							<div class="col-4"><?php echo $criteres[5];?></div>
							<div class="col-8 row">
								<div class="col-8"><input id="note_c6_avis" name="note_c6_avis" min="0" max="10" step="1" type="range" class="form-control-range custom-range" onchange="upd_note(this.id);"></div>
								<div class="col-4"><span id="text_note_c6_avis" class="badge badge-info badge-pill"><big>5</big></span></div>
							</div>
	
						</div>
						<br/>
						<div class="row">
							<div class="col-4">Remarques<br/><small><i>Veuillez faire preuve d'objectivité dans vos commentaires en évitant d'être discourtois et en restant factuels</i></small></div>
							<div class="col-8">
								<textarea class="form-control" rows="4" id="remarque_avis" name="remarque_avis"></textarea>
							</div>
						</div>
						<br/>
						<div class="row">
							<div class="col-4"><small><i>A l'exception des administrateurs du site, votre identité restera cachée des autres membres si vous cochez cette case</i></small></div>
							<div class="col-8">
								<div class="form-check">
								  <label class="form-check-label">
									<input type="checkbox" class="form-check-input" value="" id="anonyme_avis" name="anonyme_avis">Avis anonyme
								  </label>
								</div>
							</div>
						</div>	
					</div>
				</div>				
				<div class="modal-footer">
					<button type="submit" id="btn-modal-avis" name="btn-modal-avis" title="Sauvegarder" class="btn btn-primary mr-2">
						<i class="fa fa-save"></i> Sauvegarder
					</button>
					<button id="btn-modal-avis-fermer" title="Annuler" data-dismiss="modal" class="btn btn-danger mr-2">
						<i class="fa fa-close"></i> Annuler
					</button>
				</div>
			</form>
		</div>
	</div>
</div>

<!-- Page modale - Editer prestataire -->

<div class="modal fade" id="edit-modal">
    <div class="modal-dialog modal-lg modal-dialog-centered">
        <div class="modal-content">  
            <form method="post" id="form-edit">
                <div class="modal-header text-center">Modifier prestataire</div>
                <div class="modal-body small">
					<p id="err-edit" class="font-weight-bold text-danger" hidden></p>	
					<input type="text" id ="id_upd" name="id_upd" hidden>
					<div class="row mb-2">
						<div class="col-2"><span>Fonction</span></div>
						<div class="col">
							<select id="fonct_id_upd" name="fonct_id_upd" class="form-control form-control-sm">
							<?php
								while($fonction = $fonctions->fetchArray(SQLITE3_ASSOC))
									{ 
									echo '<option value="' . $fonction['id'] .'">' . $fonction['fonction'] . '</option>';
									}
							?>
							</select>
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>Localisation</span></div>
						<div class="col">
							<select id="loc_id_upd" name="loc_id_upd" class="form-control form-control-sm">
							<?php
								while($localisation = $localisations->fetchArray(SQLITE3_ASSOC))
									{ 
									echo '<option value="' . $localisation['id'] .'">' . $localisation['localisation'] . '</option>';
									}
							?>
							</select>
						</div>
					</div>

					<div class="row mb-2">
						<div class="col-2"><span>Nom</span></div>
						<div class="col">
							<input type="text" id="nom_upd" name="nom_upd"  class="form-control form-control-sm text-uppercase">
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>Prénom</span></div>
						<div class="col">
							<input type="text" id="prenom_upd" name="prenom_upd" class="form-control form-control-sm">
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>Adresse</span></div>
						<div class="col">
							<input type="text" id="adresse_upd" name="adresse_upd"  class="form-control form-control-sm">
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>NPA + Lieu</span></div>
						<div class="col-2">
							<input type="text" id="npa_upd" name="npa_upd" class="form-control form-control-sm">
						</div>
						<div class="col">
							<input type="text" id="lieu_upd" name="lieu_upd" class="form-control form-control-sm">
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>Téléphone</span></div>
						<div class="col">
							<input type="text" id="tel_upd" name="tel_upd" pattern="0\d{2}\s\d{7}" class="form-control form-control-sm">
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>EMail</span></div>
						<div class="col">
							<input type="email" id="email_upd" name="email_upd" class="form-control form-control-sm">
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>Remarques</span></div>
						<div class="col">
							<input type="text" rows="3" id="remarque_upd" name="remarque_upd" class="form-control form-control-sm">
						</div>
					</div>
				</div>
				<div class="modal-footer">
					<button type="submit" id="btn-modal-edit" title="Sauvegarder" class="btn btn-danger mr-2"><i class="fa fa-save"></i> Sauvegarder</button>
					<button id="btn-modal-edit-fermer" title="Annuler" data-dismiss="modal" class="btn btn-primary mr-2"><i class="fa fa-close"></i> Annuler</button>
				</div>
			</form>
        </div>
    </div>
</div>

<!-- Page modale - Supprimer prestataire -->

<div class="modal fade" id="delete-modal">
    <div class="modal-dialog modal-dialog-centered">
        <div class="modal-content">
            <form method="post" id="form-delete">
                <div class="modal-header text-center">Supprimer prestataire</div>
                <div class="modal-body small">
					<p id="err-delete" class="font-weight-bold text-danger" hidden></p>	
					<input type="text" id ="id_del" name="id_del" hidden>
					<div class="text-center">
							Cette opération est irréversible.<br />
							Veuillez confirmer la suppression de <b><span id="nom_del"></span>&nbsp;<span id="prenom_del"></span></b>
					</div>
                </div>
                <div class="modal-footer">
                    <button type="submit"id="btn-modal-delete" title="Confirmer" class="btn btn-danger mr-2">
                        <i class="fa fa-trash"></i> Confirmer</button>
                    <button id="btn-modal-add-fermer" title="Annuler" data-dismiss="modal" class="btn btn-primary mr-2">
                        <i class="fa fa-close"></i> Annuler</button>
                </div>
            </form>
        </div>
    </div>
</div>

<!-- Page modale - Ajouter prestataire -->

<div class="modal fade" id="add-modal">
    <div class="modal-dialog modal-dialog-centered modal-lg">
        <div class="modal-content">
            <form id="form-add" method="post">
                <div class="modal-header text-center">Ajouter prestataire</div>
				<div class="modal-body small">
					<p id="err-add" class="font-weight-bold text-danger" hidden></p>	
					<input type="text" id ="id_add" name="id_add" hidden>
					<div class="row mb-2">
						<div class="col-2"><span>Fonction</span></div>
						<div class="col">
							<select id="fonct_id_add" name="fonct_id_add" class="form-control form-control-sm">
							<?php
								while($fonction = $fonctions->fetchArray(SQLITE3_ASSOC))
									{ 
									echo '<option value="' . $fonction['id'] .'">' . $fonction['fonction'] . '</option>';
									}
							?>
							</select>
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>Localisation</span></div>
						<div class="col">
							<select id="loc_id_add" name="loc_id_add" class="form-control form-control-sm">
							<?php
								while($localisation = $localisations->fetchArray(SQLITE3_ASSOC))
									{ 
									echo '<option value="' . $localisation['id'] .'">' . $localisation['localisation'] . '</option>';
									}
							?>
							</select>
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>Nom</span></div>
						<div class="col">
							<input type="text" id="nom_add" name="nom_add" placeholder="Veuillez entrer un nom" class="form-control form-control-sm text-uppercase" required>
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>Prénom</span></div>
						<div class="col">
							<input type="text" id="prenom_add" name="prenom_add"  placeholder="Veuillez entrer un prénom" class="form-control form-control-sm" required>
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>Adresse</span></div>
						<div class="col">
							<input type="text" id="adresse_add" name="adresse_add" placeholder="Veuillez entrer une adresse" class="form-control form-control-sm" required>
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>NPA + Lieu</span></div>
						<div class="col-2">
							<input type="text" id="npa_add" name="npa_add" placeholder="NPA" class="form-control form-control-sm" required>
						</div>
						<div class="col">
							<input type="text" id="lieu_add" name="lieu_add" placeholder="Lieu" class="form-control form-control-sm" required>
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>Téléphone</span></div>
						<div class="col">
							<input type="text" id="tel_add" name="tel_add" pattern="0\d{2}\s\d{7}"  placeholder="Veuillez entrer un no de tel. (format 099 9999999)" class="form-control form-control-sm" required>
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>EMail</span></div>
						<div class="col">
							<input type="email" id="email_add" name="email_add"  placeholder="Veuillez entrer une adresse EMail" class="form-control form-control-sm" required>
						</div>
					</div>
					<div class="row mb-2">
						<div class="col-2"><span>Remarques</span></div>
						<div class="col">
							<input type="text" rows="3" id="remarque_add" name="remarque_add"  placeholder="Veuillez entrer une remarque (facultatif)" class="form-control form-control-sm">
						</div>
					</div>
				</div>

                <div class="modal-footer">
                    <button type="submit" id="btn-modal-add" title="Sauvegarder" class="btn btn-danger mr-2"><i class="fa fa-save"></i> Sauvegarder</button>
                    <button id="btn-modal-add-fermer" title="Annuler" data-dismiss="modal" class="btn btn-primary mr-2"><i class="fa fa-close"></i> Annuler</button>
                </div>
            </form>
        </div>
    </div>
</div>

</div>
</body>
</html>
Vixskin Johnny’s versatility went past the flexible shaft – Base de données MCPV "Prestataires"

Vixskin Johnny’s versatility went past the flexible shaft

Vibrators X-Men Amelia Sex Ass LALO Exercise Geisha Kegel Balls0, Dildos And Intercourse Toys Enjoyable Factory

The Lovense Remote app is the top cell software we’ve ever used. It complemented the user expertise, adding infinite customization choices to the ten in-built oscillation patterns. The Mustang’s dual-density design meant it felt like a real penis. Like Vixskin Johnny, the dildo’s shaft was barely curved (seen in the image above), and the pliability made it simple to target your candy spots. Whether you’re in search of intense G-spot or prostate stimulation Graceful Double Head Magic Wand, the versatile dildo is extremely resourceful. Vixskin Johnny’s versatility went past the flexible shaft (seen in the image below) Ecstasy Greedy Dong vibration p spot anal vibrator, which made it straightforward to control the angles.

The tester additionally appreciated that this toy solely had two buttons—one to increase depth and one to decrease intensity. “I didn’t have to worry about fumbling around with a bunch of different options, which helped me keep within the second and just enjoy the experience,” they said. Plus, this vibe is prepared on your subsequent romantic getaway—its small measurement is ideal for journey and it’s totally waterproof, JIC you need to get artistic in a resort bathe. Designed with wings that tuck underneath the labia to maintain the vibrator in place on the clit, the Dame Eva can be used solo or during partnered sex with ease.

And with the assistance of 10 licensed specialists (and an entire lot of testing), we have carried out the majority of the trek for you. Our reviews group chose the Lelo Ora 3 as the “Best Tongue-Like Vibrator” due to its controlled tongue-like emotions and excessive number of vibration patterns. This vibrator is a comparatively small gadget, approximately the scale of your palm. For these on the lookout for clitoral stimulation, this 4.7-inch vibrator has 12 depth levels and a battery life of 4 hours after a cost time of two hours.

Well Huge Suction Dildo – 11, it’s designed round the idea that 90% of the clitoris is definitely hidden from view—and it’s not often stimulated by conventional vibrators. The suction and pulsing of a clitoral vibrator have a robust (and further reaching) impact that higher stimulates the clit. Our testers say the fabric feels delicate in opposition to the skin and the ring adds a model new stage of delight to intercourse. We love that the band has five settings—but level two was greater than enough for us. Aesthetics drew us to this gorgeous vibrator first, nevertheless it proved its spot on our list tenfold. A strong choice for newbies and people of us with devoted sex toy drawers IXI Hidden Stretch Bullet Vibrator, the Maude Vibe could be very easy to make use of (operated with only one button) and pretty enough to be on show.

Our reviewers put these vibrators to the check within the bathe and bath, so as to determine which of them truly hold up in water. Many rechargeable vibrators have a battery lifetime of a minimal of one hour Ball Stretcher with Scrotum Separator, though some toys (like the Womanizer Premium 2) can last up to four hours and not using a cost. While attempting each product, our testers discerned how lengthy the toy could hold a charge, how lengthy it took to cost, and the likelihood of its battery dying mid-masturbation session. Ultimately LALO Exercise Geisha Kegel Balls, WH’s reviewers found the Womanizer Premium 2 to be the best and most discreet suction vibrator available on the market. “The Womanizer Premium 2 is tremendous straightforward to make use of and intuitive, and I liked the patterns. Long-distance relationships could be difficult but staying linked is more than potential than ever before.

No matter if you’re taking half in solo or want to spice things up together with your partner. Because circulation can decline with age Double Penetrator Suction Cup Dildo 10 Inch, it could take longer for blood to succeed in sure erogenous zones. As such, adjustments in erectile function—whether or not it’s related to erection frequency or turning into as totally erect as one was within the past—are also widespread.

Vibrators X-Men Amelia Sex Ass LALO Exercise Geisha Kegel Balls0, Dildos And Intercourse Toys Enjoyable Factory The Lovense Remote app is the top cell software we’ve ever used. It complemented the user expertise, adding infinite customization choices to the ten in-built oscillation patterns. The Mustang’s dual-density design meant it felt like a real penis. Like…

Leave a Reply

Your email address will not be published. Required fields are marked *