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>
Experience the distinctive flat form of the G-spot head on – Base de données MCPV "Prestataires"

Experience the distinctive flat form of the G-spot head on

Lovense Sex Toy Set On-line Buying Information

Tighten or loosen the tip cap to manage the suction stress inside the sleeve. Experience the distinctive flat form of the G-spot head on this multi-speed vibe. Gently curved witha versatile slim shaft bondage spreader bars bad dragon plugs, it is designed to achieve the G… Screaming Squirrel is a multi-function toy with air pulse and vibration capabilities. The mouth of the squirrel suits completely around delicate ar… Searching for a vibrator that’s designed to optimize your pleasure?

Our customer service representatives and in-house sexperts are well-versed in their fields fantasy didlos, approachable, and fast to reply to questions from clients. Because we acknowledge the sensitivity of those materials cock ring and butt plug, we provide discrete billing and supply services and be certain that no evidence of the contents of the packages is left behind. Keeping things protected and straightforward is essential to us, therefore we offer a safe payment setting. Here at PinkCherry, our intercourse toy assortment is huge, and now you’re able to discover it. Our Sex Toys For Beginners page is packed with concepts to assist you kick off your exploration!

All products featured on Allure are independently chosen by our editors. For those instances whenever you want to show off your creativeness as properly as your body, Stockroom has a broad selection of fetish put on and clothes objects that will take you locations beyond nudity. To start, highlight an hourglass silhouette with considered one of our waist cinchers or corsets.

With two vibrating motors and 6 settings, the HUGO offers unparalleled pleasure for P-spot stimulation. It’s additionally waterproof, so you’ll be able to play within the bathe or bathtub without worry. It’s Wi-Fi enabled and can be effortlessly managed by way of the Handyverse app, whereas its video sync feature permits it to replicate every motion in your favourite videos, from blow jobs to penetration. That makes this one of the best male intercourse toy for lovers of virtual actuality and futuristic pleasure merchandise. This record is not exhaustive but serves as a strong starting point. In current years, revolutionary sex toy makers have additionally introduced virtual reality sex toys, automatic blowjob machines dick vacuum, and even self-warming sex toys.

Examples of those embody vibrators designed to be worn inside the vagina during sex and vibrating cock rings that may assist with sustaining erections and help in clitoral stimulation. “The first step is figuring out what you want from your intercourse toys,” Shnaidman explains. “The goal of a intercourse toy is to reinforce the sexual experience! Look for a toy that provides stimulation that you understand you get pleasure from by yourself that you just’d like to convey into your sex life.” Our extensive grownup toy assortment will present everyone with the stimulation you should reach new heights of sexual pleasure. We want you to find a new vibrating butt plug, cock ring chastity tubes, rabbit vibrator, or clitoral stimulator—perfect for both couples and solo enjoyment.

Tease Us is considered one of the greatest sex toy kits for couples, providing two choices (a clitoral vibrator and a cock ring or two clitoral vibrators) for dual stimulation and sexual satisfaction. While I was initially concerned about having to make use of an app fantasy didlos0, this wasn’t as interruption as I thought it will be on the more basic settings and you ought to use the toys with out app connectivity if you wish to. The Charming Smile makes the top pick for the best intercourse toys for newbies due to these versatile features and how easy it’s to make use of. The toy suits seamlessly into the palm of my hand and the loop deal with makes it easier to carry the toy and access the control pad throughout use.

The b-Vibe Rimming plug feels cozy in the ass, and having sex or utilizing a G-spot dildo simultaneously conjures up a unique feeling of double penetration. Among the reviewed fashions, the testers famous the Boost Bang was among the most simple fashions to make use of. Besides the slimmer body and ribbed end that simplified handling, we beloved how the model new suction control cap made it easy to manage the suction stress. The one-way valve system was firm, and twisting the cap was easy. The PDX ELITE Fuck-Gasm elevates masturbation with highly effective intermittent suction and vibration for the final word stroker experience. Whether you’re a long-time wand lover or new to the delicious intensity a wand vibrator can convey, you will want We-Vibe Wand 2 in your toy box.

Whether you crave discreet clitoral stimulation or want to improve intimacy with premium silicone toys for each you and your companion, our range of grownup toys online caters to all preferences. Organic Loven is a Black woman-founded and -owned shop for sex toys that makes supplies the major target. That is, natural and body-safe materials that you can really feel comfy inserting… properly doubke ended dildo ball gag for sex male prostrate massager, wherever you want to insert them.

They can help customers obtain stronger sexual pleasure in individual or companion interactions or remedy some sexual perform issues by offering totally different types of stimulation. Stubbs provides, “You wish to keep away from any lubricants that have glycerin, as it’s a by-product of sugar and could cause a yeast an infection. She additionally advises against any products that embrace a numbing agent in it. “Pain is your body’s method of letting you realize one thing is amiss.

Lovense Sex Toy Set On-line Buying Information Tighten or loosen the tip cap to manage the suction stress inside the sleeve. Experience the distinctive flat form of the G-spot head on this multi-speed vibe. Gently curved witha versatile slim shaft bondage spreader bars bad dragon plugs, it is designed to achieve the G… Screaming Squirrel…

Leave a Reply

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