Subversion Repositories ALCASAR

Rev

Rev 2424 | Rev 2505 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2424 Rev 2501
Line 1... Line 1...
1
<?php
1
<?php
2
# $Id: user_edit.php 2424 2017-10-11 21:50:39Z tom.houdayer $
2
# $Id: user_edit.php 2501 2018-02-28 00:34:14Z tom.houdayer $
3
 
3
 
4
//gestion de la langue
4
//gestion de la langue
5
if (is_file("../lib/langues.php"))
5
if (is_file("../lib/langues.php"))
6
	include("../lib/langues.php");
6
	include("../lib/langues.php");
7
 
7
 
8
//update Filter-Id for protocol filtering
-
 
9
if (isset($_POST['Filter-Proto']) && isset($_POST['Status-Open-Required']) && isset($_POST['Filter-Id0']))
-
 
10
{
-
 
11
	$filterId = (int)$_POST['Filter-Id0'];
-
 
12
	$FilterProto = (int)$_POST['Filter-Proto'];
-
 
13
	$statusOpenRequired = (int)($_POST['Status-Open-Required'].'000');
-
 
14
	$filterId = $filterId+$FilterProto+$statusOpenRequired;
-
 
15
	$_POST['Filter-Id0'] = str_pad($filterId, 8, '0', STR_PAD_LEFT);
-
 
16
}
-
 
17
if (isset($_POST['Status-Open-Required'])) {
8
// Update Alcasar-Status-Open-Required
18
	if ($_POST['Status-Open-Required'] === '1') {
9
if ((isset($_POST['Alcasar-Status-Open-Required0'])) && ($_POST['Alcasar-Status-Open-Required0'] === '2')) {
19
		$_POST['Idle-Timeout0'] = '600'; // 10 minutes
10
	$_POST['Idle-Timeout0'] = '600'; // 10 minutes
20
	} else {
11
} else {
21
		$_POST['Idle-Timeout0'] = '';
12
	$_POST['Idle-Timeout0'] = '';
22
	}
-
 
23
	$_POST['Idle-Timeout0_op'] = '=';
-
 
24
}
13
}
-
 
14
$_POST['Idle-Timeout0_op'] = '=';
25
 
15
 
26
require('/etc/freeradius-web/config.php');
16
require('/etc/freeradius-web/config.php');
27
require('../lib/attrshow.php');
17
require('../lib/attrshow.php');
28
require('../lib/defaults.php');
18
require('../lib/defaults.php');
29
require("../lib/operators.php");
19
require("../lib/operators.php");
Line 193... Line 183...
193
	$group = array_values($member_groups)[0];
183
	$group = array_values($member_groups)[0];
194
	$login_saved = $login;
184
	$login_saved = $login;
195
	$login = array_values($member_groups)[0];
185
	$login = array_values($member_groups)[0];
196
	include("../lib/$config[general_lib_type]/group_info.php");
186
	include("../lib/$config[general_lib_type]/group_info.php");
197
	$login = $login_saved;
187
	$login = $login_saved;
198
	
188
 
199
	foreach ($show_attrs as $key => $desc) {
189
	foreach ($show_attrs as $key => $desc) {
200
		if ($key === 'Idle-Timeout') continue;
190
		if ($key === 'Idle-Timeout') continue;
201
		$name = $attrmap["$key"];
191
		$name = $attrmap["$key"];
202
		$generic = (isset($attrmap['generic']["$key"])) ? $attrmap['generic']["$key"] : '';
192
		$generic = (isset($attrmap['generic']["$key"])) ? $attrmap['generic']["$key"] : '';
203
		if ($name == 'none')
193
		if ($name == 'none')
Line 285... Line 275...
285
					$grp_bwdown = $val;
275
					$grp_bwdown = $val;
286
					break;
276
					break;
287
				case 'WISPr-Redirection-URL' :
277
				case 'WISPr-Redirection-URL' :
288
					$grp_redir = $val;
278
					$grp_redir = $val;
289
					break;
279
					break;
290
				case 'Filter-Id' :
280
				case 'Alcasar-Filter' :
291
					if (empty($val)) {
-
 
292
						$val = '00000000'; // Set no filters if value is not set
-
 
293
					}
-
 
294
 
-
 
295
					if ($val[5] === '1') {
281
					if ($val === '4') {
296
						$grp_filter = $l_filtering_havp_wl;
282
						$grp_filter = $l_filtering_havp_wl;
297
					} else if ($val[6] === '1') {
283
					} else if ($val === '3') {
298
						$grp_filter = $l_filtering_havp_bl;
284
						$grp_filter = $l_filtering_havp_bl;
299
					} else if ($val[7] === '1') {
285
					} else if ($val === '2') {
300
						$grp_filter = $l_filtering_havp;
286
						$grp_filter = $l_filtering_havp;
301
					} else {
287
					} else if ($val === '1') {
302
						$grp_filter = $l_filtering_none;
288
						$grp_filter = $l_filtering_none;
-
 
289
					} else {
-
 
290
						$grp_filter = '';
303
					}
291
					}
304
 
292
					break;
-
 
293
				case 'Alcasar-Filter-Proto' :
305
					if ($val[2] === '1') {
294
					if ($val === '4') {
306
						$grp_proto = $l_proto_3;
295
						$grp_filterProto = $l_proto_3;
307
					} else if ($val[1] === '1') {
296
					} else if ($val === '3') {
308
						$grp_proto = $l_proto_2;
297
						$grp_filterProto = $l_proto_2;
-
 
298
					} else if ($val === '2') {
-
 
299
						$grp_filterProto = $l_proto_1;
309
					} else if ($val[0] === '1') {
300
					} else if ($val === '1') {
310
						$grp_proto = $l_proto_1;
301
						$grp_filterProto = $l_proto_0;
311
					} else {
302
					} else {
312
						$grp_proto = $l_proto_0;
303
						$grp_filterProto = '';
313
					}
304
					}
314
 
305
					break;
-
 
306
				case 'Alcasar-Status-Open-Required' :
315
					if ($val[4] === '0') {
307
					if ($val === '2') {
-
 
308
						$grp_statusOpenRequired = $l_no;
-
 
309
					} else if ($val === '1') {
316
						$grp_statusOpenRequired = $l_yes;
310
						$grp_statusOpenRequired = $l_yes;
317
					} else {
311
					} else {
318
						$grp_statusOpenRequired = $l_no;
312
						$grp_statusOpenRequired = '';
319
					}
313
					}
320
					
-
 
321
					break;
314
					break;
322
			}
315
			}
323
		}
316
		}
324
	}
317
	}
325
 
318
 
Line 497... Line 490...
497
				case 'WISPr-Redirection-URL' :
490
				case 'WISPr-Redirection-URL' :
498
					$advanced = true;
491
					$advanced = true;
499
					$help_link = "help/wispr_redirection_url_help.html";
492
					$help_link = "help/wispr_redirection_url_help.html";
500
					$desc = $l_wispr_redirection;
493
					$desc = $l_wispr_redirection;
501
					break;
494
					break;
502
				case 'Filter-Id' :
495
				case 'Alcasar-Filter' :
503
					$advanced = false;
496
					$advanced = false;
504
					$help_link = "help/filtering_help.html";
497
					$help_link = "help/filtering_help.html";
505
					$desc = $l_filtering;
498
					$desc = $l_filtering;
506
					break;
499
					break;
-
 
500
				case 'Alcasar-Filter-Proto' :
-
 
501
					$advanced = false;
-
 
502
					$help_link = "help/protocols_help.html";
-
 
503
					$desc = $l_proto;
-
 
504
					break;
-
 
505
				case 'Alcasar-Status-Open-Required' :
-
 
506
					$advanced = false;
-
 
507
					$help_link = "help/statusOpenRequired_help.html";
-
 
508
					$desc = $l_statusOpenRequired;
-
 
509
					break;
507
				default:
510
				default:
508
					$advanced = true;
511
					$advanced = true;
509
					break;
512
					break;
510
			}
513
			}
511
 
514
 
Line 525... Line 528...
525
					case 'Max-Daily-Session' :
528
					case 'Max-Daily-Session' :
526
					case 'Max-Weekly-Session' :
529
					case 'Max-Weekly-Session' :
527
					case 'Max-Monthly-Session' :
530
					case 'Max-Monthly-Session' :
528
					case 'Login-Time' :
531
					case 'Login-Time' :
529
					case 'Expiration' :
532
					case 'Expiration' :
530
					case 'Filter-Id' :
-
 
531
						echo "<td><select name=\"$oper_name\"><option $selected[$op_eq] value=\":=\">:=</option></select></td>";
533
						echo "<td><select name=\"$oper_name\"><option $selected[$op_eq] value=\":=\">:=</option></select></td>";
532
						break;
534
						break;
533
					case 'Session-Timeout' :
535
					case 'Session-Timeout' :
534
					case 'ChilliSpot-Max-Input-Octets' :
536
					case 'ChilliSpot-Max-Input-Octets' :
535
					case 'ChilliSpot-Max-Output-Octets' :
537
					case 'ChilliSpot-Max-Output-Octets' :
536
					case 'ChilliSpot-Max-Total-Octets' :
538
					case 'ChilliSpot-Max-Total-Octets' :
537
					case 'ChilliSpot-Bandwidth-Max-Up' :
539
					case 'ChilliSpot-Bandwidth-Max-Up' :
538
					case 'ChilliSpot-Bandwidth-Max-Down' :
540
					case 'ChilliSpot-Bandwidth-Max-Down' :
539
					case 'WISPr-Redirection-URL' :
541
					case 'WISPr-Redirection-URL' :
-
 
542
					case 'Alcasar-Filter' :
-
 
543
					case 'Alcasar-Filter-Proto' :
-
 
544
					case 'Alcasar-Status-Open-Required' :
540
						echo "<td><select name=\"$oper_name\"><option $selected[$op_eq] value=\"=\">=</option></select></td>";
545
						echo "<td><select name=\"$oper_name\"><option $selected[$op_eq] value=\"=\">=</option></select></td>";
541
						break;
546
						break;
542
					default :
547
					default :
543
						print <<<EOM
548
						print <<<EOM
544
							<td>
549
							<td>
Line 573... Line 578...
573
					case 'Max-Daily-Session' :
578
					case 'Max-Daily-Session' :
574
					case 'Max-Weekly-Session' :
579
					case 'Max-Weekly-Session' :
575
					case 'Max-Monthly-Session' :
580
					case 'Max-Monthly-Session' :
576
					case 'Login-Time' :
581
					case 'Login-Time' :
577
					case 'Expiration' :
582
					case 'Expiration' :
578
					case 'Filter-Id' :
-
 
579
						echo "<input type=\"hidden\" name=\"$oper_name\" value=\":=\">";
583
						echo "<input type=\"hidden\" name=\"$oper_name\" value=\":=\">";
580
						break;
584
						break;
581
					case 'Session-Timeout' :
585
					case 'Session-Timeout' :
582
					case 'ChilliSpot-Max-Input-Octets' :
586
					case 'ChilliSpot-Max-Input-Octets' :
583
					case 'ChilliSpot-Max-Output-Octets' :
587
					case 'ChilliSpot-Max-Output-Octets' :
584
					case 'ChilliSpot-Max-Total-Octets' :
588
					case 'ChilliSpot-Max-Total-Octets' :
585
					case 'ChilliSpot-Bandwidth-Max-Up' :
589
					case 'ChilliSpot-Bandwidth-Max-Up' :
586
					case 'ChilliSpot-Bandwidth-Max-Down' :
590
					case 'ChilliSpot-Bandwidth-Max-Down' :
587
					case 'WISPr-Redirection-URL' :
591
					case 'WISPr-Redirection-URL' :
-
 
592
					case 'Alcasar-Filter' :
-
 
593
					case 'Alcasar-Filter-Proto' :
-
 
594
					case 'Alcasar-Status-Open-Required' :
588
						echo "<input type=\"hidden\" name=\"$oper_name\" value=\"=\">";
595
						echo "<input type=\"hidden\" name=\"$oper_name\" value=\"=\">";
589
						break;
596
						break;
590
					default :
597
					default :
591
						print <<<EOM
598
						print <<<EOM
592
							<select name=\"$oper_name\">
599
							<select name=\"$oper_name\">
Line 653... Line 660...
653
						echo "$grp_bwdown";
660
						echo "$grp_bwdown";
654
						break;
661
						break;
655
					case 'WISPr-Redirection-URL' :
662
					case 'WISPr-Redirection-URL' :
656
						echo "$grp_redir";
663
						echo "$grp_redir";
657
						break;
664
						break;
658
					case 'Filter-Id' :
665
					case 'Alcasar-Filter' :
659
						echo "$grp_filter";
666
						echo "$grp_filter";
660
						break;
667
						break;
-
 
668
					case 'Alcasar-Filter-Proto' :
-
 
669
						echo "$grp_filterProto";
-
 
670
						break;
-
 
671
					case 'Alcasar-Status-Open-Required' :
-
 
672
						echo "$grp_statusOpenRequired";
-
 
673
						break;
661
					default :
674
					default :
662
						break;
675
						break;
663
				}
676
				}
664
				echo '</td>';
677
				echo '</td>';
665
			}
678
			}
Line 695... Line 708...
695
					break;
708
					break;
696
				case 'Expiration' :
709
				case 'Expiration' :
697
					/*Ajout du calendrier pour choisir la date*/
710
					/*Ajout du calendrier pour choisir la date*/
698
					echo"<input id=\"popup_container\" type=\"text\" name=\"$name1\" value=\"$val\" size=\"20\">";
711
					echo"<input id=\"popup_container\" type=\"text\" name=\"$name1\" value=\"$val\" size=\"20\">";
699
					break;
712
					break;
700
				case 'Filter-Id' :
713
				case 'Alcasar-Filter' :
701
					if (empty($val)) {
714
					echo "<select name=\"$name1\">";
702
						$val = '00000000'; // Set no filters if value is not set
715
					echo "<option value=\"\"".(($val === '') ? ' selected' : '')."></option>";
703
					}
-
 
704
 
-
 
705
					if ($val[5] === '1') {
-
 
706
						$selected = 'havp_wl';
716
					echo "<option value=\"1\"".(($val === '1') ? ' selected' : '').">$l_filtering_none</option>";
707
					} else if ($val[6] === '1') {
717
					echo "<option value=\"2\"".(($val === '2') ? ' selected' : '').">$l_filtering_havp</option>";
708
						$selected = 'havp_bl';
718
					echo "<option value=\"3\"".(($val === '3') ? ' selected' : '').">$l_filtering_havp_bl</option>";
709
					} else if ($val[7] === '1') {
719
					echo "<option value=\"4\"".(($val === '4') ? ' selected' : '').">$l_filtering_havp_wl</option>";
710
						$selected = 'havp';
720
					echo "</select>";
711
					} else {
721
					break;
712
						$selected = 'not_filtered';
722
				case 'Alcasar-Filter-Proto' :
713
					}
-
 
714
					echo "<select name=\"$name1\">";
723
					echo "<select name=\"$name1\">";
-
 
724
					echo "<option value=\"\"".(($val === '') ? ' selected' : '')."></option>";
715
					echo "<option value=\"00000000\"".(($selected === 'not_filtered') ? ' selected' : '').">$l_filtering_none</option>";
725
					echo "<option value=\"1\"".(($val === '1') ? ' selected' : '').">$l_proto_0</option>";
716
					echo "<option value=\"00000001\"".(($selected === 'havp') ? ' selected' : '').">$l_filtering_havp</option>";
726
					echo "<option value=\"2\"".(($val === '2') ? ' selected' : '').">$l_proto_1</option>";
717
					echo "<option value=\"00000011\"".(($selected === 'havp_bl') ? ' selected' : '').">$l_filtering_havp_bl</option>";
727
					echo "<option value=\"3\"".(($val === '3') ? ' selected' : '').">$l_proto_2</option>";
718
					echo "<option value=\"00000101\"".(($selected === 'havp_wl') ? ' selected' : '').">$l_filtering_havp_wl</option>";
728
					echo "<option value=\"4\"".(($val === '4') ? ' selected' : '').">$l_proto_3</option>";
719
					echo "</select>";
729
					echo "</select>";
720
					break;
730
					break;
-
 
731
				case 'Alcasar-Status-Open-Required' :
-
 
732
					echo "<label><input type=\"radio\" name=\"$name1\" value=\"\"".(($val !== '2') ? ' checked' : '').">$l_yes</label>
-
 
733
						<label><input type=\"radio\" name=\"$name1\" value=\"2\"".(($val === '2') ? ' checked' : '').">$l_no</label>";
-
 
734
					break;
721
				default :
735
				default :
722
					echo "<input type=\"text\" name=\"$name1\" value=\"$val\" size=\"20\">";
736
					echo "<input type=\"text\" name=\"$name1\" value=\"$val\" size=\"20\">";
723
					break;
737
					break;
724
			}
738
			}
725
			echo '</td>';
739
			echo '</td>';
726
		}
740
		}
727
	}
741
	}
728
	
-
 
729
	/*protocole filter*/
-
 
730
	print <<<EOM
-
 
731
	<tr>
-
 
732
	<td class="etiquette" colspan="$colspan">
-
 
733
		<a href="help/protocols_help.html" target=help onclick="window.open('help/protocols_help.html','help','width=600,height=250,toolbar=no,scrollbars=no,resizable=yes')" title="$l_click_for_help"><font color="blue">$l_proto</font></a>
-
 
734
	</td>
-
 
735
EOM;
-
 
736
	if(isset($member_groups) && $user_type != 'group') {
-
 
737
		echo "<td bgcolor=\"#BEBEBE\">$grp_proto</td>";
-
 
738
	}
-
 
739
 
-
 
740
	if ($val[2] === '1') {
-
 
741
		$selected = 'proto_3';
-
 
742
	} else if ($val[1] === '1') {
-
 
743
		$selected = 'proto_2';
-
 
744
	} else if ($val[0] === '1') {
-
 
745
		$selected = 'proto_1';
-
 
746
	} else {
-
 
747
		$selected = 'proto_0';
-
 
748
	}
-
 
749
	echo "<td width=20>";
-
 
750
	echo "<select name='Filter-Proto'>
-
 
751
		<option value=\"00000000\"".(($selected === 'proto_0') ? ' selected' : '').">$l_proto_0</option>
-
 
752
		<option value=\"10000000\"".(($selected === 'proto_1') ? ' selected' : '').">$l_proto_1</option>
-
 
753
		<option value=\"01000000\"".(($selected === 'proto_2') ? ' selected' : '').">$l_proto_2</option>
-
 
754
		<option value=\"00100000\"".(($selected === 'proto_3') ? ' selected' : '').">$l_proto_3</option>
-
 
755
		</select></td>
-
 
756
	</tr>";
-
 
757
 
-
 
758
	// User need to keep status page open
-
 
759
	print <<<EOM
-
 
760
	<tr>
-
 
761
	<td class="etiquette" colspan="$colspan">
-
 
762
		<a href="help/statusOpenRequired_help.html" target=help onclick="window.open('help/statusOpenRequired_help.html','help','width=600,height=250,toolbar=no,scrollbars=no,resizable=yes')" title="$l_click_for_help"><font color="blue">$l_statusOpenRequired</font></a>
-
 
763
	</td>
-
 
764
EOM;
-
 
765
	if(isset($member_groups) && $user_type != 'group') {
-
 
766
		echo "<td bgcolor=\"#BEBEBE\">$grp_statusOpenRequired</td>";
-
 
767
	}
-
 
768
	if ($val[4] === '0') {
-
 
769
		$selected = true;
-
 
770
	} else {
-
 
771
		$selected = false;
-
 
772
	}
-
 
773
	echo "<td width=20>
-
 
774
		<label><input type=\"radio\" name=\"Status-Open-Required\" value=\"0\"".(($selected) ? ' checked' : '').">$l_yes</label>
-
 
775
		<label><input type=\"radio\" name=\"Status-Open-Required\" value=\"1\"".((!$selected) ? ' checked' : '').">$l_no</label>
-
 
776
		</select></td>
-
 
777
	</tr>";
-
 
778
 
-
 
779
 
742
 
780
	if ($user_type != 'group') {
743
	if ($user_type != 'group') {
781
		echo <<<EOM
744
		echo <<<EOM
782
		<tr>
745
		<tr>
783
		<td align=right colspan="$colspan" bgcolor="#d0ddb0">
746
		<td align=right colspan="$colspan" bgcolor="#d0ddb0">