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>
In addition, there was an annoying rattle from the suction cap – Base de données MCPV "Prestataires"

In addition, there was an annoying rattle from the suction cap

Us’s Finest On-line Adult Retailer And Intercourse Toy Store

“I did not have to worry about fumbling around with a bunch of various choices, which helped me keep within the second and just enjoy the ride,” they stated. Plus, this vibe is prepared on your subsequent romantic getaway—its small size is ideal for journey and it is absolutely waterproof, JIC you want to get inventive in a lodge shower. Designed with wings that tuck beneath the labia to keep the vibrator in place on the clit, the Dame Eva can be utilized solo or during partnered intercourse with ease.

It’s silky-soft and super-quiet, and the easy-to-hold design is a particular crowd-pleaser. Made with 100% platinum-grade silicone knee pads sex, this palm-sized stunner is anything but intimidating. If you’re on the lookout for a clitoral suction vibrator that is as versatile as it’s easy bondage spreader bars, look no further than the Sona 2 Cruise.

More than just an grownup retailer, we’re an omnichannel company that runs forty adult shops across 5 states. Our adult retailer also presents a strong on-line brand and purchasing expertise here at loversstores.com. We provide correct information prince alberts wand, steerage and high-quality curated merchandise for all pursuits, needs and budgets on the earth of sexual pleasure. Clean your sex toy before and after use, retailer it in a dry place alien buttplug, and use the proper lube for its material. Follow the manufacturer’s care directions to hold up longevity.

We reviewed a quantity of cock rings for the article, and LELO Tor 3’s delicate craftsmanship is something to treasure. Although the silicone looked stiff to the eyes (image above), it was stretchy sufficient to accommodate totally different sizes. The squishy really feel made the loop ideal for beginners and experienced customers alike. In addition, there was an annoying rattle from the suction cap.

The pebble-shaped toy sits within the lining of your underwear, hugging the clitoris with its specialist moulded tip and pressing towards the vulva whenever you’re sat down or if you maintain your legs together. Unlike other remote vibes, it does not sit internally, which makes it an excellent toy for teasing and foreplay sexual spreader bar, somewhat than the primary event. Or even higher, use cellular app-enabled intercourse toys for some pre-masturbation sexting before going at it.

For 25 years, Sextoy.com has offered sex toys for adults of all anatomies chastity tubes male prostrate massager, identities, orientations, and desires. Our number of intercourse toys extends as broad because the phrase can be interpreted. If it vibrates dick vacuum soft cock ring, titillates chastity tubes0, tantalizes, penetrates, or facilitates pleasure in any means, we have it. We need to be your finest intercourse toy supply in your journey to higher sex. Another one of the extra popular forms of grownup toys for ladies, they use a hyper sonic drum that pulses air waves into the clitoris. Air pulse know-how produces superior orgasms and wonderful sexual stimulation to get your libido going before penetrative sex.

Us’s Finest On-line Adult Retailer And Intercourse Toy Store “I did not have to worry about fumbling around with a bunch of various choices, which helped me keep within the second and just enjoy the ride,” they stated. Plus, this vibe is prepared on your subsequent romantic getaway—its small size is ideal for journey and…

Leave a Reply

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