Subversion Repositories ALCASAR

Rev

Rev 2850 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2850 Rev 2916
1
<?php
1
<?php
2
# $Id: autoregistrationinfo.php 2850 2020-07-15 22:24:44Z rexy $
2
# $Id: autoregistrationinfo.php 2916 2021-02-08 23:08:44Z rexy $
3
#
3
#
4
# SMS Autoregistration
4
# SMS Autoregistration
5
# By Rexy
5
# By Rexy
6
 
6
 
7
define('CONF_FILE', '/usr/local/etc/alcasar.conf');
7
define('CONF_FILE', '/usr/local/etc/alcasar.conf');
8
 
8
 
9
// Read CONF_FILE
9
// Read CONF_FILE
10
$file_conf = fopen(CONF_FILE, 'r');
10
$file_conf = fopen(CONF_FILE, 'r');
11
if (!$file_conf) {
11
if (!$file_conf) {
12
	exit('Error opening the file '.CONF_FILE);
12
	exit('Error opening the file '.CONF_FILE);
13
}
13
}
14
while (!feof($file_conf)) {
14
while (!feof($file_conf)) {
15
	$buffer = fgets($file_conf, 4096);
15
	$buffer = fgets($file_conf, 4096);
16
	if ((strpos($buffer, '=') !== false) && (substr($buffer, 0, 1) !== '#')) {
16
	if ((strpos($buffer, '=') !== false) && (substr($buffer, 0, 1) !== '#')) {
17
		$tmp = explode('=', $buffer, 2);
17
		$tmp = explode('=', $buffer, 2);
18
		$conf[trim($tmp[0])] = trim($tmp[1]);
18
		$conf[trim($tmp[0])] = trim($tmp[1]);
19
	}
19
	}
20
}
20
}
21
fclose($file_conf);
21
fclose($file_conf);
22
 
22
 
23
// Check if the SMS service is enable
23
// Check if the SMS service is enable
24
if ($conf['SMS'] !== 'on') {
24
if ($conf['SMS'] !== 'on') {
25
	header('Location: /');
25
	header('Location: /');
26
	exit();
26
	exit();
27
}
27
}
28
$organisme   = $conf['ORGANISM'];
28
$organisme   = $conf['ORGANISM'];
29
$current_num = $conf['SMS_NUM'];
29
$current_num = $conf['SMS_NUM'];
30
 
30
 
31
 
31
 
32
// Choice of language
32
// Choice of language
33
$Language = 'en';
33
$Language = 'en';
34
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
34
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
35
	$Langue = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
35
	$Langue = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
36
	$Language = strtolower(substr(chop($Langue[0]), 0, 2));
36
	$Language = strtolower(substr(chop($Langue[0]), 0, 2));
37
}
37
}
38
if ($Language === 'fr') {	// French
38
if ($Language === 'fr') {	// French
39
	$l_title		= "Page d'auto enregistrement";
39
	$l_title		= "Page d'auto enregistrement";
40
	$l_num_exist		= "Compte actif";
40
	$l_num_exist	= "Compte actif";
41
	$l_num_flood		= "Numéro bloqué: nombre d'essai dépassé.";
41
	$l_num_flood	= "Numéro bloqué: nombre d'essai dépassé.";
42
	$l_num_num		= "Numero de téléphone";
42
	$l_num_num		= "Numéro de GSM / identifiant de compte";
43
	$l_num_raison		= "Etat de votre numéro";
43
	$l_num_raison	= "État de votre numéro de GSM / compte";
44
	$l_num_expiration	= "Expiration du bloquage";
44
	$l_num_expiration	= "Expiration";
45
	$l_tuto_1		= "Bienvenue sur la page d'auto enregistrement.";
45
	$l_tuto_1		= "Bienvenue sur la page d'auto enregistrement.";
46
	$l_tuto_2		= "Ce portail d'accès à Internet vous offre la possibilité de vous inscrire en envoyant le mot de passe de votre choix par SMS au numéro suivant (prix d'un SMS, non surtaxé).";
46
	$l_tuto_2		= "Ce portail peut créer un compte dont l'identifiant sera votre numéro de GSM. Pour cela, envoyez le mot de passe de votre choix par SMS au numéro suivant : <b>$current_num</b>";
47
	$l_tuto_3		= "Votre SMS ne doit contenir qu'un seul mot.";
47
	$l_tuto_3		= "Votre SMS ne doit contenir qu'un seul mot.";
48
	$l_tuto_4		= "Votre inscription sera activée lorsque vous retrouverez votre numéro de téléphone dans le tableau ci-dessous. Ce numéro de téléphone constitue votre identifiant de connexion";
48
	$l_tuto_4		= "Votre inscription sera activée lorsque vous retrouverez votre numéro de GSM dans le tableau ci-dessous.";
49
	$l_tuto_5		= "Le champ de recherche ci-dessous vous permet de retrouver votre numéro suivant les 5 derniers chiffres.";	
49
	$l_tuto_5		= "Le champ de recherche ci-dessous vous permet de retrouver votre numéro suivant les 5 derniers chiffres.";	
50
	$l_tab_first		= "premier";
50
	$l_tab_first	= "premier";
51
	$l_tab_last		= "dernier";
51
	$l_tab_last		= "dernier";
52
	$l_tab_next		= "suivant";
52
	$l_tab_next		= "suivant";
53
	$l_tab_prev		= "précédent";
53
	$l_tab_prev		= "précédent";
54
	$l_tab_search		= "Recherche :";
54
	$l_tab_search	= "Recherche :";
55
	$l_tab_pmenu		= "Affiche la page _PAGE_ sur _PAGES_";
55
	$l_tab_pmenu	= "Affiche la page _PAGE_ sur _PAGES_";
56
	$l_tab_info		= "Montrer _MENU_ résultats par page";
56
	$l_tab_info		= "Montrer _MENU_ résultats par page";
57
	$l_tab_infoempty	= "Aucun résultat";
57
	$l_tab_infoempty	= "Aucun résultat";
58
	$l_autorefresh		= "Rafraichissement : 10 sec";
58
	$l_autorefresh		= "Rafraichissement : 10 sec";
59
} else if ($Language === 'es') {	// Spanish
59
} else if ($Language === 'es') {	// Spanish
60
	$l_title		= "Auto-Registro";
60
	$l_title		= "Auto-Registro";
61
	$l_num_exist		= "Cuenta existente";
61
	$l_num_exist	= "Cuenta existente";
62
	$l_num_flood		= "Número de teléfono bloqueado: se superó el número de intentos.";
62
	$l_num_flood	= "Número de teléfono bloqueado: se superó el número de intentos.";
63
	$l_num_num		= "Número telefónico";
63
	$l_num_num		= "Número GSM / identificador de cuenta";
64
	$l_num_raison		= "Estado de su número de teléfono";
64
	$l_num_raison	= "Estado de su número GSM / cuenta";
65
	$l_num_expiration	= "Vencimiento";
65
	$l_num_expiration	= "Vencimiento";
66
	$l_tuto_1		= "Bienvenido a la página de auto-registro";
66
	$l_tuto_1		= "Bienvenido a la página de auto-registro";
67
	$l_tuto_2		= "Este portal le permite inscribirse enviando la contraseña que elija por SMS al siguiente número (sin recargo): ";
67
	$l_tuto_2		= "Este portal puede crear una cuenta cuyo identificador será su número de teléfono móvil. Para ello, envíe la contraseña que elija por SMS al siguiente número: <b>$current_num</b> ";
68
	$l_tuto_3		= "Simplemente envíe 1 palabra en su SMS.";
68
	$l_tuto_3		= "Simplemente envíe 1 palabra en su SMS.";
69
	$l_tuto_4		= "Su registro se activará cuando encuentre su número de teléfono en la siguiente tabla. Este número de teléfono deberá utilizar para iniciar sesión";
69
	$l_tuto_4		= "Su registro se activará cuando encuentre su número GSM en la siguiente tabla.";
70
	$l_tuto_5		= "Puede buscar su número de teléfono de acuerdo con los últimos 5 dígitos de su número de teléfono.";
70
	$l_tuto_5		= "Puede buscar su número de teléfono de acuerdo con los últimos 5 dígitos de su número de teléfono.";
71
	$l_tab_first		= "primero";
71
	$l_tab_first	= "primero";
72
	$l_tab_last		= "último";
72
	$l_tab_last		= "último";
73
	$l_tab_next		= "siguiente";
73
	$l_tab_next		= "siguiente";
74
	$l_tab_prev		= "anterior";
74
	$l_tab_prev		= "anterior";
75
	$l_tab_search		= "Buscar :";
75
	$l_tab_search	= "Buscar :";
76
	$l_tab_pmenu		= "Mostrando _PAGE_ a _PAGE_ de _PAGE_ entradas :";
76
	$l_tab_pmenu	= "Mostrando _PAGE_ a _PAGE_ de _PAGE_ entradas :";
77
	$l_tab_info		= "Mostrar _MENU_ entradas";
77
	$l_tab_info		= "Mostrar _MENU_ entradas";
78
	$l_tab_infoempty	= "No se encontraron registros coincidencias";
78
	$l_tab_infoempty	= "No se encontraron registros coincidencias";
79
	$l_autorefresh		= "Actualizar: 10 seg";
79
	$l_autorefresh		= "Actualizar: 10 seg";
-
 
80
} else if ($Language === 'de') {	// German
-
 
81
	$l_title		= "Seite zur Selbstregistrierung";
-
 
82
	$l_num_exist	= "Aktives Konto";
-
 
83
	$l_num_flood	= "Blockierte Nummer: Anzahl der Versuche überschritten.";
-
 
84
	$l_num_num		= "GSM-Nummer / Konto-Kennung";
-
 
85
	$l_num_raison	= "Status Ihrer Handynummer / Ihres Kontos";
-
 
86
	$l_num_expiration	= "Ablauf";
-
 
87
	$l_tuto_1		= "Willkommen auf der Seite für die Selbstregistrierung.";
-
 
88
	$l_tuto_2		= "Dieses Portal kann ein Konto erstellen, dessen Kennung Ihre Mobiltelefonnummer ist. Senden Sie dazu das Passwort Ihrer Wahl per SMS an die folgende Nummer: <b>$current_num</b> ";
-
 
89
	$l_tuto_3		= "Ihre Textnachricht darf nur ein Wort enthalten.";
-
 
90
	$l_tuto_4		= "Ihre Registrierung wird aktiviert, wenn Sie Ihre Handynummer in der Tabelle unten finden.";
-
 
91
	$l_tuto_5		= "Mit dem Suchfeld unten können Sie Ihre Nummer nach den letzten 5 Ziffern suchen.";
-
 
92
	$l_tab_first	= "erste";
-
 
93
	$l_tab_last		= "aktuellste";
-
 
94
	$l_tab_next		= "unter";
-
 
95
	$l_tab_prev		= "vorherige";
-
 
96
	$l_tab_search	= "Forschung :";
-
 
97
	$l_tab_pmenu	= "Zeigt die Seite _PAGE_ auf _PAGES_ an";
-
 
98
	$l_tab_info		= "_MENU_ Ergebnisse pro Seite anzeigen";
-
 
99
	$l_tab_infoempty	= "Keine Ergebnisse";
-
 
100
	$l_autorefresh		= "Kühlung: 10 sec";
80
} else {			// English
101
} else {			// English
81
	$l_title		= "Autoregistration";
102
	$l_title		= "Autoregistration";
82
	$l_num_exist		= "Account enables";
103
	$l_num_exist		= "Account enabled";
83
	$l_num_flood		= "Phone number banned: Number of trial exceeded.";
104
	$l_num_flood		= "Phone number banned: Number of trial exceeded.";
84
	$l_num_num		= "Phone number";
105
	$l_num_num		= "Mobile phone number / account identifier";
85
	$l_num_raison		= "Status of your phone number";
106
	$l_num_raison		= "Status of your phone number / account";
86
	$l_num_expiration	= "Expiration";
107
	$l_num_expiration	= "Expiration";
87
	$l_tuto_1		= "Welcome to the auto-enrollment page";
108
	$l_tuto_1		= "Welcome to the auto-enrollment page";
88
	$l_tuto_2		= "This portal allows you to enroll by sending the password of you choice via SMS to the following number (no surcharge) :";
109
	$l_tuto_2		= "This portal can create an account whose identifier will be your mobile phone number. To do so, send the password of your choice by SMS to the following number: <b>$current_num</b>";
89
	$l_tuto_3		= "Just send 1 word in your SMS.";
110
	$l_tuto_3		= "Just send 1 word in your SMS.";
90
	$l_tuto_4		= "Your registration will be activated when you'll find your phone number in the following table. This phone number is your login name";
111
	$l_tuto_4		= "Your registration will be activated when you'll find your phone number in the following table.";
91
	$l_tuto_5		= "You can search your phone number according to the 5 last digits in your phone number.";
112
	$l_tuto_5		= "You can search your phone number according to the 5 last digits in your phone number.";
92
	$l_tab_first		= "first";
113
	$l_tab_first		= "first";
93
	$l_tab_last		= "last";
114
	$l_tab_last		= "last";
94
	$l_tab_next		= "next";
115
	$l_tab_next		= "next";
95
	$l_tab_prev		= "previous";
116
	$l_tab_prev		= "previous";
96
	$l_tab_search		= "Search :";
117
	$l_tab_search		= "Search :";
97
	$l_tab_pmenu		= "Showing _PAGE_ to _PAGE_ of _PAGE_ entries :";
118
	$l_tab_pmenu		= "Showing _PAGE_ to _PAGE_ of _PAGE_ entries :";
98
	$l_tab_info		= "Show _MENU_ entries";
119
	$l_tab_info		= "Show _MENU_ entries";
99
	$l_tab_infoempty	= "No matching records found";
120
	$l_tab_infoempty	= "No matching records found";
100
	$l_autorefresh		= "Refresh: 10 sec";
121
	$l_autorefresh		= "Refresh: 10 sec";
101
}
122
}
102
 
123
 
103
// Get SMS from database
124
// Get SMS from database
104
require('/etc/freeradius-web/config.php');
125
require('/etc/freeradius-web/config.php');
105
$img_rep         = '/images/';
126
$img_rep         = '/images/';
106
$img_sms         = 'sms.png';
127
$img_sms         = 'sms.png';
107
 
128
 
108
$con = mysqli_connect($config['sql_server'], $config['sql_username'], $config['sql_password'], 'gammu');
129
$con = mysqli_connect($config['sql_server'], $config['sql_username'], $config['sql_password'], 'gammu');
109
 
130
 
110
if (mysqli_connect_errno()) {
131
if (mysqli_connect_errno()) {
111
	exit('Failed to connect to ' . $config['sql_type']/* . ': ' . mysqli_connect_error()*/);
132
	exit('Failed to connect to ' . $config['sql_type']/* . ': ' . mysqli_connect_error()*/);
112
}
133
}
113
 
134
 
114
$result = mysqli_query($con, 'SELECT * FROM `SMS_ban_perm` ORDER BY date_add DESC;');
135
$result = mysqli_query($con, 'SELECT * FROM `SMS_ban_perm` ORDER BY date_add DESC;');
115
 
136
 
116
$smsBanPerms = [];
137
$smsBanPerms = [];
117
while ($row = mysqli_fetch_array($result)) {
138
while ($row = mysqli_fetch_array($result)) {
118
	$smsBanPerms[] = (object) [
139
	$smsBanPerms[] = (object) [
119
		'numberHidden' => substr($row['SenderNumber'], 0, 3) . '****' . substr($row['SenderNumber'], -5),
140
		'numberHidden' => substr($row['SenderNumber'], 0, 3) . '****' . substr($row['SenderNumber'], -5),
120
		'expiration'   => $row['Expiration'],
141
		'expiration'   => $row['Expiration'],
121
		'perm'         => $row['Perm']
142
		'perm'         => $row['Perm']
122
	];
143
	];
123
}
144
}
124
mysqli_close($con);
145
mysqli_close($con);
125
 
146
 
126
?>
147
?>
127
<!DOCTYPE html>
148
<!DOCTYPE html>
128
<html><!-- written by Rexy -->
149
<html><!-- written by Rexy -->
129
<head>
150
<head>
130
	<meta charset="utf-8">
151
	<meta charset="utf-8">
131
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
152
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
132
	<title>ALCASAR - <?= $l_title ?></title>
153
	<title>ALCASAR - <?= $l_title ?></title>
133
	<link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css">
154
	<link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css">
134
	<link rel="stylesheet" type="text/css" href="/css/index.css">
155
	<link rel="stylesheet" type="text/css" href="/css/index.css">
135
	<link rel="stylesheet" type="text/css" href="/css/jquery.dataTables.css">
156
	<link rel="stylesheet" type="text/css" href="/css/jquery.dataTables.css">
136
	<link rel="icon" href="/images/favicon-48.ico" type="image/ico">
157
	<link rel="icon" href="/images/favicon-48.ico" type="image/ico">
137
	<script src="/js/jquery.min.js"></script>
158
	<script src="/js/jquery.min.js"></script>
138
	<script src="/js/jquery.dataTables.js"></script>
159
	<script src="/js/jquery.dataTables.js"></script>
139
	<script>
160
	<script>
140
	function timedRefresh(timeoutPeriod) {
161
	function timedRefresh(timeoutPeriod) {
141
		var interval = setInterval(refreshPage, timeoutPeriod);
162
		var interval = setInterval(refreshPage, timeoutPeriod);
142
	}
163
	}
143
 
164
 
144
	function refreshPage() {
165
	function refreshPage() {
145
		if ($('input[name=autoRefreshCheckboxes]').is(':checked')) {
166
		if ($('input[name=autoRefreshCheckboxes]').is(':checked')) {
146
			location.reload(true);
167
			location.reload(true);
147
		}
168
		}
148
	}
169
	}
149
 
170
 
150
	$(document).ready( function () {
171
	$(document).ready( function () {
151
		$('#table_id').DataTable({
172
		$('#table_id').DataTable({
-
 
173
			"order": [[ 2, "desc" ]],		
152
			"language": {
174
			"language": {
153
				"paginate": {
175
				"paginate": {
154
					"sFirst":    "<?= $l_tab_first ?>",
176
					"sFirst":    "<?= $l_tab_first ?>",
155
					"sLast":     "<?= $l_tab_last ?>",
177
					"sLast":     "<?= $l_tab_last ?>",
156
					"sPrevious": "<?= $l_tab_prev ?>",
178
					"sPrevious": "<?= $l_tab_prev ?>",
157
					"sNext":     "<?= $l_tab_next ?>"
179
					"sNext":     "<?= $l_tab_next ?>"
158
				},
180
				},
159
				"lengthMenu":  "<?= $l_tab_info ?>",
181
				"lengthMenu":  "<?= $l_tab_info ?>",
160
				"zeroRecords": "<?= $l_tab_infoempty ?>",
182
				"zeroRecords": "<?= $l_tab_infoempty ?>",
161
				"info":        "<?= $l_tab_pmenu ?>",
183
				"info":        "<?= $l_tab_pmenu ?>",
162
				"infoEmpty":   "<?= $l_tab_infoempty ?>",
184
				"infoEmpty":   "<?= $l_tab_infoempty ?>",
163
				"sSearch":     "<?= $l_tab_search ?>"
185
				"sSearch":     "<?= $l_tab_search ?>"
164
			}
186
				}
165
		});
187
		});
166
	});
188
	});
167
	</script>
189
	</script>
168
</head>
190
</head>
169
<body onload="timedRefresh(10000);">
191
<body onload="timedRefresh(10000);">
170
	<div class="col-xs-12 col-md-10 col-md-offset-1"> 
192
	<div class="col-xs-12 col-md-10 col-md-offset-1"> 
171
		<!-- HeaderBox -->
193
		<!-- HeaderBox -->
172
		<div class="row banner">
194
		<div class="row banner">
173
			<!-- Logo box -->
195
			<!-- Logo box -->
174
			<div class="img_banner hidden-xs col-sm-3 col-md-2 col-lg-2"> 
196
			<div class="img_banner hidden-xs col-sm-3 col-md-2 col-lg-2"> 
175
				<img class="img-responsive img-organisme" src="images/organisme.png">
197
				<img class="img-responsive img-organisme" src="images/organisme.png">
176
			</div>
198
			</div>
177
			<!-- Title -->
199
			<!-- Title -->
178
			<div id="cadre_titre" class="titre_banner col-xs-12 col-sm-8">
200
			<div id="cadre_titre" class="titre_banner col-xs-12 col-sm-8">
179
					<p id="acces_controle" class="titre_controle"><?= $l_title ?></p>
201
					<p id="acces_controle" class="titre_controle"><?= $l_title ?></p>
180
			</div>
202
			</div>
181
			<!-- Logo box -->
203
			<!-- Logo box -->
182
			<div class="img_banner hidden-xs col-sm-3 col-md-2 col-lg-2">
204
			<div class="img_banner hidden-xs col-sm-3 col-md-2 col-lg-2">
183
				<img class="img-responsive img-organisme" src="images/logo-alcasar_70.png">
205
				<img class="img-responsive img-organisme" src="images/logo-alcasar_70.png">
184
			</div>
206
			</div>
185
		</div>
207
		</div>
186
		<!-- Main content box -->
208
		<!-- Main content box -->
187
		<div class="row">
209
		<div class="row">
188
			<div id="contenu_acces" class="col-xs-12 col-lg-offset-1 col-lg-10">
210
			<div id="contenu_acces" class="col-xs-12 col-lg-offset-1 col-lg-10">
189
				<h3><?= $l_tuto_2 ?></h3>
211
				<h3><?= $l_tuto_2 ?></h3>
190
				<div class="menu-container container col_xs_12 col-sm-7">
212
				<div class="menu-container container col_xs_12 col-sm-7">
191
					<div class="box_menu_right box_menu">
213
					<div class="box_menu_right box_menu">
192
						<span><?= $current_num ?></span>
214
						<span><?= $l_tuto_3 ?></span>
193
						<div class="menu-image">						
215
						<div class="menu-image">						
194
							<img class="img-responsive" src="<?= $img_rep.$img_sms ?>">
216
							<img class="img-responsive" src="<?= $img_rep.$img_sms ?>">
195
						</div>
217
						</div>
196
					</div>
218
					</div>
197
				</div>
-
 
198
				<div class="info-box-container col-sm-5">
-
 
199
					<div id="box_infos">
-
 
200
						<p class="box_infos_explanations"><?= $l_tuto_3 ?>
-
 
201
					</div>
-
 
202
				</div>
219
				</div>
203
			</div>
220
			</div>
204
		</div>
221
		</div>
205
	<p>
222
	<p>
206
		<div class="row">
223
		<div class="row">
207
			<div id="contenu_acces" class="col-xs-12 col-lg-offset-1 col-lg-10">
224
			<div id="contenu_acces" class="col-xs-12 col-lg-offset-1 col-lg-10">
208
				<h4><?= $l_tuto_4 ?></h4>
225
				<h4><?= $l_tuto_4 ?></h4>
209
				<h4><?= $l_tuto_5 ?></h4>
226
				<h4><?= $l_tuto_5 ?></h4>
210
				<label><input type="checkbox" checked="checked" name="autoRefreshCheckboxes"><?= $l_autorefresh ?></label>
227
				<label><input type="checkbox" checked="checked" name="autoRefreshCheckboxes"><?= $l_autorefresh ?></label>
211
				<table id="table_id" class="display">
228
				<table id="table_id" class="display">
212
				<thead>
229
				<thead>
213
					<tr>
230
					<tr>
214
						<th><b><?= $l_num_num ?></b></th>
231
						<th><b><?= $l_num_num ?></b></th>
215
						<th><b><?= $l_num_raison ?></b></th>
232
						<th><b><?= $l_num_raison ?></b></th>
216
						<th><b><?= $l_num_expiration ?></b></th>
233
						<th><b><?= $l_num_expiration ?></b></th>
217
					</tr>
234
					</tr>
218
				</thead>
235
				</thead>
219
				<tbody>
236
				<tbody>
220
					<?php foreach ($smsBanPerms as $smsBanPerm): ?>
237
					<?php foreach ($smsBanPerms as $smsBanPerm): ?>
221
						<tr>
238
						<tr>
222
							<td><?= $smsBanPerm->numberHidden ?></td>
239
							<td><?= $smsBanPerm->numberHidden ?></td>
223
							<?php if ($smsBanPerm->perm == '0'): ?>
240
							<?php if ($smsBanPerm->perm == '0'): ?>
224
							<td><?= $l_num_exist ?></td>
241
							<td><?= $l_num_exist ?></td>
225
							<?php elseif ($smsBanPerm->perm == '1'): ?>
242
							<?php elseif ($smsBanPerm->perm == '1'): ?>
226
							<td><?= $l_num_flood ?></td>
243
							<td><?= $l_num_flood ?></td>
227
							<?php endif ?>
244
							<?php endif ?>
228
							<td><?= $smsBanPerm->expiration ?></td>
245
							<td><?= $smsBanPerm->expiration ?></td>
229
						</tr>
246
						</tr>
230
					<?php endforeach; ?>
247
					<?php endforeach; ?>
231
				</tbody>
248
				</tbody>
232
				</table>
249
				</table>
233
			</div>
250
			</div>
234
		</div>
251
		</div>
235
	</div>
252
	</div>
236
</body>
253
</body>
237
</html>
254
</html>
238
 
255