diff --git a/js/index.js b/js/index.js
index 8f84b99..3424eb2 100644
--- a/js/index.js
+++ b/js/index.js
@@ -1,67 +1,81 @@
+/*jslint browser: true*/
+/*global $, Slick, grid, jQuery, alert*/
+
$(function () {
-
+ "use strict";
+
// Selection des users
- $.ajax({
+ $.ajax({
type: "POST",
- url: "ajax.php",
+ url: "ajax.php",
dataType: 'json',
data: "select=user",
- success: function(json){
-
+ success: function (json) {
// Bouton pour formater la cellule pour supprimer un user
- function buttonFormatter(row, cell, value, columnDef, dataContext){
- var button = "
";
+ function buttonFormatter(row, cell, value, columnDef, dataContext) {
+ var button = "
";
return button;
}
-
- // Action lorsqu'on veut supprimer un uset
- $('.del_user').live('click', function(){
-
+
+ var
+ i,
+ columns = [
+ {id: "user_id", name: "ID", field: "user_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "user_pass", name: "Pass", field: "user_pass", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "user_mail", name: "Mail", field: "user_mail", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "user_phone", name: "Phone", field: "user_phone", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "user_online", name: "Online", field: "user_online", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "user_enable", name: "Enabled", field: "user_enable", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "user_start_date", name: "Start Date", field: "user_start_date", width: 120, cssClass: "cell-title", editor: Slick.Editors.Date},
+ {id: "user_end_date", name: "End Date", field: "user_end_date", width: 120, cssClass: "cell-title", editor: Slick.Editors.Date},
+ {id: "user_del", name: 'Delete', field: "user_del", width: 250, formatter: buttonFormatter}
+ ],
+
+ // Options de la grid
+ options = {
+ editable: true,
+ enableAddRow: true,
+ enableCellNavigation: true,
+ asyncEditorLoading: false,
+ autoEdit: false,
+ autoHeight: true
+ },
+
+ // Création des données
+ data = [],
+
+ // Permet de sauvegarder l'ancien user_id lorsque l'admin modifie un utilisateur du VPN
+ save = null,
+
+ grid = null;
+
+
+
+ // Action lorsqu'on veut supprimer un user
+ $('.del_user').live('click', function () {
+
// Suppression dans la bdd
- var me = $(this), id = me.attr('id');
+ var me = $(this), id = me.attr('id'),
+ data = grid.getData();
+
$.ajax({
type: "POST",
url: "ajax.php",
dataType: "json",
data: {del_user_id: id},
- error: function(){
+ error: function () {
alert("Erreur dans la suppression de la donnée...");
}
- })
-
- // Suppression de la ligne en question
- var data = grid.getData();
+ });
+
+ // Suppression de la ligne en question
data.splice(me.attr('data-row'), 1);
grid.setData(data);
grid.render();
});
-
- // Header des colonnes
- var columns = [
- {id: "user_id", name: "ID", field: "user_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "user_pass", name: "Pass", field: "user_pass", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "user_mail", name: "Mail", field: "user_mail", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "user_phone", name: "Phone", field: "user_phone", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "user_online", name: "Online", field: "user_online", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "user_enable", name: "Enabled", field: "user_enable", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "user_start_date", name: "Start Date", field: "user_start_date", width: 120, cssClass: "cell-title", editor: Slick.Editors.Date},
- {id: "user_end_date", name: "End Date", field: "user_end_date", width: 120, cssClass: "cell-title", editor: Slick.Editors.Date},
- {id: "user_del", name:'Delete', field: "user_del", width:250, formatter:buttonFormatter}
- ];
-
- // Options de la grid
- var options = {
- editable: true,
- enableAddRow: true,
- enableCellNavigation: true,
- asyncEditorLoading: false,
- autoEdit: false,
- autoHeight:true
- };
-
- // Création des données
- var data = [];
- for (var i = 0; i < json.length; i++){
+
+
+ for (i = 0; i < json.length; i += 1) {
data[i] = {
user_id: json[i].user_id,
user_pass: json[i].user_pass,
@@ -73,117 +87,122 @@ $(function () {
user_end_date: json[i].user_end_date
};
}
-
+
// Grille des utilisateurs du VPN
- var grid = new Slick.Grid($("#grid_user"), data, columns, options);
-
- // Permet de sauvegarder l'ancien user_id lorsque l'admin modifie un utilisateur du VPN
- var save = null;
- $("#grid_user").on('click', function(){
+ grid = new Slick.Grid($("#grid_user"), data, columns, options);
+
+ $("#grid_user").on('click', function () {
var $active = grid.getActiveCell();
- if($active != undefined && $active.cell == 0)
+
+ if ($active !== undefined && $active.cell === 0) {
save = $(grid.getActiveCellNode()).html();
- else
+ } else {
save = null;
+ }
});
-
+
// Lorsqu'on modifie une cellule d'un utilisateur
- grid.onCellChange.subscribe(function(e, args) {
+ grid.onCellChange.subscribe(function (e, args) {
var item = args.item;
-
+
// On sauvegarde l'ancien user_id
- if(save)
+ if (save) {
item.set_user = save;
- else
+ } else {
item.set_user = item.user_id;
-
+ }
+
// Suppression dans la bdd
$.ajax({
- type: "POST",
- url: "ajax.php",
- dataType: "json",
- data: item,
- error: function(){
- alert("Erreur dans la modification des données...");
- }
+ type: "POST",
+ url: "ajax.php",
+ dataType: "json",
+ data: item,
+ error: function () {
+ alert("Erreur dans la modification des données...");
+ }
});
-
+
delete item.set_user;
});
-
+
// Ajout d'un nouvel utilisateur
grid.onAddNewRow.subscribe(function (e, args) {
var item = args.item;
-
+
// On ne peut ajouter un utilisateur qu'en saisissant son id
- if(!item.user_id)
- return;
-
+ if (!item.user_id) {
+ return;
+ }
+
// Modification dans la bdd
item.add_user = true;
-
+
$.ajax({
- type: "POST",
- url: "ajax.php",
- dataType: "json",
- data: item,
- error: function(){
- alert("Erreur dans l'insertion des données...");
- }
+ type: "POST",
+ url: "ajax.php",
+ dataType: "json",
+ data: item,
+ error: function () {
+ alert("Erreur dans l'insertion des données...");
+ }
});
-
- delete item.add_user
-
+
+ delete item.add_user;
+
// Maj de la grille
grid.invalidateRow(data.length);
data.push(item);
grid.updateRowCount();
grid.render();
});
-
-
+
grid.autosizeColumns();
},
- error: function(){
+ error: function () {
alert('Erreur dans la récupération des données...');
- }
+ }
});
-
+
// Selection des logs
- $.ajax({
+ $.ajax({
type: "POST",
- url: "ajax.php",
+ url: "ajax.php",
dataType: 'json',
data: "select=log",
- success: function(json){
-
- // Header des colonnes
- var columns = [
- {id: "log_id", name: "Log ID", field: "log_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "user_id", name: "User ID", field: "user_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "log_trusted_ip", name: "Trusted IP", field: "log_trusted_ip", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "log_trusted_port", name: "Trusted Port", field: "log_trusted_port", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "log_remote_ip", name: "Remote IP", field: "log_remote_ip", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "log_remote_port", name: "Remote Port", field: "log_remote_port", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "log_start_time", name: "Start Time", field: "log_start_time", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "log_end_time", name: "End Time", field: "log_end_time", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "log_received", name: "Receveid", field: "log_received", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "log_send", name: "Sent", field: "log_send", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}
- ];
-
- // Options de la grille
- var options = {
- editable: false,
- enableAddRow: false,
- enableCellNavigation: true,
- asyncEditorLoading: false,
- autoEdit: false,
- autoHeight:true
- };
-
- // Données de la grille des logs
- var data = [];
- for (var i = 0; i < json.length; i++){
+ success: function (json) {
+ var
+ i,
+
+ // Header des colonnes
+ columns = [
+ {id: "log_id", name: "Log ID", field: "log_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "user_id", name: "User ID", field: "user_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "log_trusted_ip", name: "Trusted IP", field: "log_trusted_ip", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "log_trusted_port", name: "Trusted Port", field: "log_trusted_port", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "log_remote_ip", name: "Remote IP", field: "log_remote_ip", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "log_remote_port", name: "Remote Port", field: "log_remote_port", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "log_start_time", name: "Start Time", field: "log_start_time", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "log_end_time", name: "End Time", field: "log_end_time", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "log_received", name: "Receveid", field: "log_received", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "log_send", name: "Sent", field: "log_send", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text}
+ ],
+
+ // Options de la grille
+ options = {
+ editable: false,
+ enableAddRow: false,
+ enableCellNavigation: true,
+ asyncEditorLoading: false,
+ autoEdit: false,
+ autoHeight: true
+ },
+
+ // Données de la grille des logs
+ data = [],
+ grid = null;
+
+ for (i = 0; i < json.length; i += 1) {
data[i] = {
log_id: json[i].log_id,
user_id: json[i].user_id,
@@ -197,151 +216,159 @@ $(function () {
log_send: json[i].log_send
};
}
-
+
// Création de la grille
- var grid = new Slick.Grid($("#grid_log"), data, columns, options);
+ grid = new Slick.Grid($("#grid_log"), data, columns, options);
grid.autosizeColumns();
},
- error: function(){
+ error: function () {
alert('Erreur dans la récupération des données...');
- }
+ }
});
-
-
+
+
// Selection des admins
- $.ajax({
+ $.ajax({
type: "POST",
- url: "ajax.php",
+ url: "ajax.php",
dataType: 'json',
data: "select=admin",
- success: function(json){
-
+ success: function (json) {
// Fonction créant la cellule pour supprimer un admin
- function buttonFormatter(row, cell, value, columnDef, dataContext){
- var button = "
";
+ function buttonFormatter(row, cell, value, columnDef, dataContext) {
+ var button = "
";
return button;
}
-
+
+ var
+ i,
+
+ // Header des colonnes
+ columns = [
+ {id: "admin_id", name: "Admin ID", field: "admin_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "admin_pass", name: "Admin Pass", field: "admin_pass", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
+ {id: "admin_del", name: 'Delete', field: "admin_del", width: 250, formatter: buttonFormatter}
+ ],
+
+ // Option de la grille
+ options = {
+ editable: true,
+ enableAddRow: true,
+ enableCellNavigation: true,
+ asyncEditorLoading: false,
+ autoEdit: false,
+ autoHeight: true
+ },
+
+ data = [],
+ grid = null,
+
+ // Sauvegarder l'ancien admin_id lorsqu'on modifie un admin
+ save = null;
+
+
+
// Lorsqu'on veut supprimer un admin
- $('.del_admin').live('click', function(){
+ $('.del_admin').live('click', function () {
// Suppression dans la bdd
- var me = $(this), id = me.attr('id');
+ var me = $(this), id = me.attr('id'), data = grid.getData();
$.ajax({
type: "POST",
url: "ajax.php",
dataType: "json",
data: {del_admin_id: id},
- error: function(){
+ error: function () {
alert("Erreur dans la suppression de la donnée...");
}
- })
-
+ });
+
// Maj de la grille
- var data = grid.getData();
data.splice(me.attr('data-row'), 1);
grid.setData(data);
grid.render();
});
-
- // Header des colonnes
- var columns = [
- {id: "admin_id", name: "Admin ID", field: "admin_id", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "admin_pass", name: "Admin Pass", field: "admin_pass", width: 120, cssClass: "cell-title", editor: Slick.Editors.Text},
- {id: "admin_del", name:'Delete', field: "admin_del", width:250, formatter:buttonFormatter}
- ];
-
- // Option de la grille
- var options = {
- editable: true,
- enableAddRow: true,
- enableCellNavigation: true,
- asyncEditorLoading: false,
- autoEdit: false,
- autoHeight:true
- };
-
- // Données
- var data = [];
- for (var i = 0; i < json.length; i++){
+
+
+ for (i = 0; i < json.length; i += 1) {
data[i] = {
admin_id: json[i].admin_id,
- admin_pass: json[i].admin_pass,
+ admin_pass: json[i].admin_pass
};
}
-
- var grid = new Slick.Grid($("#grid_admin"), data, columns, options);
-
- // Sauvegarder l'ancien admin_id lorsqu'on modifie un admin
- var save = null;
- $("#grid_admin").on('click', function(){
+
+ grid = new Slick.Grid($("#grid_admin"), data, columns, options);
+
+ $("#grid_admin").on('click', function () {
var $active = grid.getActiveCell();
-
- if($active != undefined && $active.cell == 0)
+
+ if ($active !== undefined && $active.cell === 0) {
save = $(grid.getActiveCellNode()).html();
- else
+ } else {
save = null;
+ }
});
-
+
// Lorsqu'on modifie un admin
- grid.onCellChange.subscribe(function(e, args) {
+ grid.onCellChange.subscribe(function (e, args) {
var item = args.item;
-
+
// On stocke l'ancien admin_id
- if(save)
+ if (save) {
item.set_admin = save;
- else
+ } else {
item.set_admin = item.admin_id;
-
+ }
+
// Modification de la bdd
$.ajax({
- type: "POST",
- url: "ajax.php",
- dataType: "json",
- data: item,
- error: function(){
- alert("Erreur dans la modification des données...");
- }
+ type: "POST",
+ url: "ajax.php",
+ dataType: "json",
+ data: item,
+ error: function () {
+ alert("Erreur dans la modification des données...");
+ }
});
-
+
delete item.set_admin;
});
-
+
// Ajout d'un nouvel admin
grid.onAddNewRow.subscribe(function (e, args) {
- var item = args.item;
-
- // On peut ajouter un admin seulement en ajoutant un ID
- if(!item.admin_id)
- return;
-
- item.add_admin = true;
-
- // Maj de la bdd
- $.ajax({
- type: "POST",
- url: "ajax.php",
- dataType: "json",
- data: item,
- error: function(){
- alert("Erreur dans l'insertion des données...");
+ var item = args.item;
+
+ // On peut ajouter un admin seulement en ajoutant un ID
+ if (!item.admin_id) {
+ return;
}
- });
-
- delete item.add_admin;
-
- // Maj de la grille
- grid.invalidateRow(data.length);
- data.push(item);
- grid.updateRowCount();
- grid.render();
+
+ item.add_admin = true;
+
+ // Maj de la bdd
+ $.ajax({
+ type: "POST",
+ url: "ajax.php",
+ dataType: "json",
+ data: item,
+ error: function () {
+ alert("Erreur dans l'insertion des données...");
+ }
+ });
+
+ delete item.add_admin;
+
+ // Maj de la grille
+ grid.invalidateRow(data.length);
+ data.push(item);
+ grid.updateRowCount();
+ grid.render();
});
-
-
+
grid.autosizeColumns();
},
- error: function(){
+ error: function () {
alert('Erreur dans la récupération des données...');
- }
+ }
});
-})
+});