=1 and !in_array($id,$mac_exists['users_id'])) { $dup_sql = "SELECT * FROM User_list WHERE id=".$mac_exists['users_id']['0']; $dup_info = get_record_sql($db_link, $dup_sql); $msg_error="Mac already exists at another user in this subnet! Skip creating $fip [$fmac].
Old user id: ".$dup_info['id']." login: ".$dup_info['login']; $_SESSION[$page_url]['msg'] = $msg_error; LOG_ERROR($db_link, $msg_error); header("Location: " . $_SERVER["REQUEST_URI"]); exit; } //disable dhcp for secondary ip $f_dhcp = 1; if (in_array($id,$mac_exists['users_id'])) { $f_dhcp = 0; } //search ip $dup_ip_record = get_record_sql($db_link, "SELECT * FROM User_auth WHERE `ip_int`=$ip_aton AND user_id<>".$id." AND deleted=0"); if (!empty($dup_ip_record)) { $dup_info = get_record_sql($db_link, "SELECT * FROM User_list WHERE id=".$dup_ip_record['user_id']); $msg_error = "$fip already exists. Skip creating $fip [$fmac].
Old user id: ".$dup_info['id']." login: ".$dup_info['login']; $_SESSION[$page_url]['msg'] = $msg_error; LOG_ERROR($db_link, $msg_error); header("Location: " . $_SERVER["REQUEST_URI"]); exit; } $fid = new_auth($db_link, $fip, $fmac, $id); if (!empty($fid)) { $new['dhcp']=$f_dhcp; update_record($db_link,"User_auth","id=".$fid,$new); LOG_WARNING($db_link,"Создан новый адрес доступа: ip => $fip, mac => $fmac"); header("Location: /admin/users/editauth.php?id=".$fid); } header("Location: " . $_SERVER["REQUEST_URI"]); } else { $msg_error = "$msg_ip_error xxx.xxx.xxx.xxx"; $_SESSION[$page_url]['msg'] = $msg_error; } } header("Location: " . $_SERVER["REQUEST_URI"]); } if (isset($_POST["removeauth"])) { $auth_id = $_POST["f_auth_id"]; foreach ($auth_id as $key => $val) { if ($val) { delete_record($db_link, 'connections', "auth_id=" . $val); delete_record($db_link, 'User_auth_alias', "auth_id=" . $val); $auth["deleted"] = 1; $changes = get_diff_rec($db_link,"User_auth","id='$val'", '', 0); if (!empty($changes)) { LOG_WARNING($db_link,"Удалён адрес доступа: \r\n $changes"); } update_record($db_link, "User_auth", "id=" . $val, $auth); delete_record($db_link, "connections", "auth_id=" . $val); } } header("Location: " . $_SERVER["REQUEST_URI"]); } if (isset($_POST["ApplyForAll"])) { $auth_id = $_POST["f_auth_id"]; $a_enabled = $_POST["a_enabled"] * 1; $a_dhcp = $_POST["a_dhcp"] * 1; $a_day = $_POST["a_day_q"] * 1; $a_month = $_POST["a_month_q"] * 1; $a_queue = $_POST["a_queue_id"] * 1; $a_group = $_POST["a_group_id"] * 1; foreach ($auth_id as $key => $val) { if ($val) { unset($new); if ($default_user_id == $id or $hotspot_user_id == $id) { $new["dhcp"] = 0; $new["enabled"] = 0; $new["day_quota"] = 0; $new["month_quota"] = 0; $new["queue_id"] = 0; $new["filter_group_id"] = 0; } else { $new["dhcp"] = $a_dhcp; $new["enabled"] = $a_enabled; $new["day_quota"] = $a_day; $new["month_quota"] = $a_month; $new["queue_id"] = $a_queue; $new["filter_group_id"] = $a_group; } $changes = get_diff_rec($db_link,"User_auth","id='$val'", $new, 0); if (!empty($changes)) { LOG_WARNING($db_link,"Изменён адрес доступа id: $val. Применено: $changes"); } update_record($db_link, "User_auth", "id='" . $val . "'", $new); } } header("Location: " . $_SERVER["REQUEST_URI"]); } if (isset($_POST["moveauth"]) and isset($_POST["new_parent"])) { $new_user_id = $_POST["new_parent"]*1; $auth_id = $_POST["f_auth_id"]; if ($new_user_id <> $id) { $user_rec = get_record($db_link, 'User_list', "id=".$new_user_id); foreach ($auth_id as $key => $val) { if ($val) { $new["filter_group_id"]=$user_rec["filter_group_id"]; $new["queue_id"] = $user_rec["queue_id"]; $new["enabled"] = $user_rec["enabled"]; $new["user_id"] = $new_user_id; $changes = get_diff_rec($db_link,"User_auth","id='$val'", $new, 0); if (!empty($changes)) { LOG_WARNING($db_link,"Адрес доступа перемещён к другому пользователю id: $val (".$user_rec["login"]."). Применено: $changes"); } update_record($db_link, "User_auth", "id='" . $val . "'", $new); } } } header("Location: " . $_SERVER["REQUEST_URI"]); } if (isset($_POST["new_user"])) { $auth_id = $_POST["f_auth_id"]; $save_traf = get_option($db_link, 23) * 1; foreach ($auth_id as $key => $val) { if ($val) { $flist = mysqli_query($db_link, "SELECT ip, comments, dns_name, dhcp_hostname from User_auth WHERE id=$val"); list ($f_auth_ip, $f_auth_comments, $f_dns_name, $f_dhcp_name) = mysqli_fetch_array($flist); $ou_id = $_POST["f_new_ou"] * 1; if (!isset($ou_id)) { $ou_id = 0; } $login = $f_auth_ip; if (isset($f_auth_comments) and strlen($f_auth_comments) > 0) { $login = $f_auth_comments; } if (isset($f_dhcp_name) and strlen($f_dhcp_name) > 0) { $login = $f_dhcp_name; } if (isset($f_dns_name) and strlen($f_dns_name) > 0) { $login = $f_dns_name; } list ($l_id) = mysqli_fetch_array(mysqli_query($db_link, "Select id from User_list where LCase(login)=LCase('$login') and deleted=0")); if (isset($l_id) and $l_id > 0) { // move auth $auth["user_id"] = $l_id; $auth["save_traf"] = $save_traf; update_record($db_link, "User_auth", "id='" . $val . "'", $auth); apply_auth_rule($db_link,$val,$l_id); $changes = get_diff_rec($db_link,"User_auth","id='$val'", $new, 0); if (!empty($changes)) { LOG_WARNING($db_link,"Изменён адрес доступа id: $val. Применено: $changes"); } } else { $new["login"] = $login; $new["ou_id"] = $ou_id; $l_id=insert_record($db_link, "User_list", $new); $auth["user_id"] = $l_id; $auth["save_traf"] = $save_traf; update_record($db_link, "User_auth", "id='" . $val . "'", $auth); $changes = get_diff_rec($db_link,"User_auth","id='$val'", '', 0); LOG_WARNING($db_link,"Создан новый пользователь из адреса доступа: login => $login. Адрес доступа перемещён к созданному пользователю: $changes"); } } } header("Location: " . $_SERVER["REQUEST_URI"]); } unset($_POST); $sSQL = "SELECT * FROM User_list WHERE id=$id"; $user_info = get_record_sql($db_link, $sSQL); require_once ($_SERVER["DOCUMENT_ROOT"]."/inc/header.php"); ?>
'.$_SESSION[$page_url]['msg'].'
'; unset($_SESSION[$page_url]['msg']); } ?>
> "; print_url("Список правил","/admin/users/edit_rules.php?id=$id"); print ""; $rule_count = get_count_records($db_link,"auth_rules","user_id=".$id); if ($rule_count>0) { print ""; } else { print ""; } ?> "; print_url("Трафик за день","/admin/reports/userday.php?id=$id"); print ""; ?>
" size=25> " size=25>
Фильтр Шейпер
" size=5> " size=5>
Count: ".$rule_count."Created:
>

$msg_error
\n"; } ?> Переместить выделенных к пользователю "; print_login_select($db_link, 'new_parent', $id); print ""; print ""; print ""; print ""; print "
Для выделенных установить: Включен  DHCP  Фильтр  Шейпер  В день  В месяц   
Создать пользователей по выделению в группе "; print_ou_select($db_link, 'f_new_ou', $user_info["ou_id"]); print "\n"; print "Удалить выделенных "; ?>

Список адресов доступа
Новый адрес доступа IP:  Mac (необязательно): 
\n"; print "\n"; print "\n"; print "\n"; if (isset($row["dhcp_hostname"]) and strlen($row["dhcp_hostname"]) > 0) { print "\n"; } else { print "\n"; } print "\n"; $ip_status = 1; if ($row["blocked"] or !$row["enabled"]) { $ip_status = 0; } print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print ""; } } ?>
" . $cell_ip . ""; ?> " . $cell_mac . ""; ?> " . $cell_dns_name . ""; ?> ".$cell_permonth.", Mb"; ?> Created"; ?> Last DHCP/ARP Event Last found"; ?>
" . $row["ip"] . "" . expand_mac($db_link,$row["mac"]) . "".$row["comments"]." [" . $row["dhcp_hostname"] . "]".$row["comments"]."".$row["dns_name"]."" . get_qa($ip_status). "" . get_qa($row["dhcp"]). "" . get_group($db_link, $row["filter_group_id"]) . "" . get_queue($db_link, $row["queue_id"]) . "".$row["day_quota"]."/".$row["month_quota"]."" . get_connection($db_link, $row["id"]) . "" . FormatDateStr('Y.m.d',$row["timestamp"]) . "" . $dhcp_str . "" . FormatDateStr('Y.m.d H:i',$row["last_found"]) . "