Kaynağa Gözat

The ability to set a group has been added to mass editing from the address list.

root 9 ay önce
ebeveyn
işleme
4418c5e4f8

+ 5 - 2
html/admin/groups/edit_group.php

@@ -15,7 +15,10 @@ if (isset($_POST['save'])) {
         $new['filter_group_id']= $_POST['f_filter_group_id']*1;
         $new['enabled']= $_POST['f_enabled']*1;
         $new['dynamic']= $_POST['f_dynamic']*1;
-        if ($new['dynamic']) { $new['life_duration']= $_POST['f_life_duration']*1; } else { $new['life_duration']=0; }
+        if ($new['dynamic']) {
+            $tmp_life_duration = str_replace(',', '.',$_POST['f_life_duration']*1);
+            if (!empty($tmp_life_duration) and is_numeric($tmp_life_duration)) { $new['life_duration'] = $tmp_life_duration; }
+            } else { $new['life_duration']=0; }
         if ($new['default_users'] == TRUE) { run_sql($db_link,"UPDATE OU set default_users=0 WHERE id!='{$id}'"); }
         if ($new['default_hotspot'] == TRUE) { run_sql($db_link,"UPDATE OU set default_hotspot=0 WHERE id!='{$id}'"); }
         update_record($db_link, "OU", "id='{$id}'", $new);
@@ -108,7 +111,7 @@ print "<td class=\"data\"></td>\n";
 <tr><td colspan=4><?php echo WEB_ou_autoclient_rules; ?></td></tr>
 <tr>
 <td class="data"><?php print WEB_cell_enabled."&nbsp"; print_qa_select('f_enabled', $ou_info['enabled']); ?></td>
-<td class="data"><?php print WEB_cell_filter."&nbsp"; print_group_select($db_link, 'f_filter_group_id', $ou_info['filter_group_id']); ?></td>
+<td class="data"><?php print WEB_cell_filter."&nbsp"; print_filter_group_select($db_link, 'f_filter_group_id', $ou_info['filter_group_id']); ?></td>
 <td class="data"><?php print WEB_cell_shaper."&nbsp"; print_queue_select($db_link, 'f_queue_id', $ou_info['queue_id']); ?></td>
 <td class="data" align=right><?php print WEB_cell_life_hours."&nbsp"; 
 print "<input type='number' step='0.01' min='0.01' id='f_life_duration' name='f_life_duration' value='" . htmlspecialchars($ou_info['life_duration'])."'";

+ 3 - 2
html/admin/iplist/index.php

@@ -125,8 +125,9 @@ print_ip_submenu($page_url);
         <h2 id="modal1Title"><?php print WEB_selection_title; ?></h2>
         <input type="hidden" name="ApplyForAll" value="MassChange">
         <table class="data" align=center>
-        <tr><td><input type=checkbox class="putField" name="e_enabled" value='1'></td><td align=left><?php print WEB_cell_enabled."</td><td align=right>"; print_qa_select('a_enabled', 1);?></td></tr>
-        <tr><td><input type=checkbox class="putField" name="e_group_id" value='1'></td><td align=left><?php print WEB_cell_filter."</td><td align=right>";print_group_select($db_link, 'a_group_id', 0);?></td></tr>
+        <tr><td><input type=checkbox class="putField" name="e_new_ou" value='1'></td><td align=left><?php print WEB_cell_ou."</td><td align=right>";print_ou_select($db_link, 'a_new_ou', 0); ?></td></tr>
+        <tr><td><input type=checkbox class="putField" name="e_enabled" value='1'></td><td align=left><?php print WEB_cell_enabled."</td><td align=right>";print_qa_select('a_enabled', 1);?></td></tr>
+        <tr><td><input type=checkbox class="putField" name="e_group_id" value='1'></td><td align=left><?php print WEB_cell_filter."</td><td align=right>";print_filter_group_select($db_link, 'a_group_id', 0);?></td></tr>
         <tr><td><input type=checkbox class="putField" name="e_queue_id" value='1'></td><td align=left><?php print WEB_cell_shaper."</td><td align=right>";print_queue_select($db_link, 'a_queue_id', 0);?></td></tr>
         <tr><td><input type=checkbox class="putField" name="e_dhcp" value='1'></td><td align=left><?php print "Dhcp"."</td><td align=right>"; print_qa_select('a_dhcp', 1);?></td></tr>
         <tr><td><input type=checkbox class="putField" name="e_dhcp_acl" value='1'></td><td align=left><?php print "Dhcp-acl"."</td><td align=right>"; print_dhcp_acl_list($db_link,"a_dhcp_acl"); ?></td></tr>

+ 1 - 1
html/admin/users/editauth.php

@@ -364,7 +364,7 @@ if (empty($auth_info['eof']) or $auth_info['eof'] == '0000-00-00 00:00:00') {
                 <td><?php print WEB_cell_permonth; ?></td>
             </tr>
             <tr>
-                <td><?php print_group_select($db_link, 'f_group_id', $auth_info['filter_group_id']); ?> </td>
+                <td><?php print_filter_group_select($db_link, 'f_group_id', $auth_info['filter_group_id']); ?> </td>
                 <td><?php print_queue_select($db_link, 'f_queue_id', $auth_info['queue_id']); ?> </td>
                 <td><?php print_qa_select('f_blocked', $auth_info['blocked']); ?></td>
                 <td><input type="text" name="f_day_q" value="<?php echo $auth_info['day_quota']; ?>" size=5></td>

+ 1 - 1
html/admin/users/edituser.php

@@ -289,7 +289,7 @@ require_once($_SERVER["DOCUMENT_ROOT"] . "/inc/header.php");
                 <td colspan=3></td>
             </tr>
             <tr>
-                <td colspan=2><?php print_group_select($db_link, 'f_filter', $user_info["filter_group_id"]); ?></td>
+                <td colspan=2><?php print_filter_group_select($db_link, 'f_filter', $user_info["filter_group_id"]); ?></td>
                 <td colspan=2><?php print_queue_select($db_link, 'f_queue', $user_info["queue_id"]); ?></td>
                 <td colspan=3></td>
             </tr>

+ 1 - 1
html/admin/users/index.php

@@ -72,7 +72,7 @@ if ($msg_error) {
         <input type="hidden" name="ApplyForAll" value="MassChange">
         <table class="data" align=center>
         <tr><td><input type=checkbox class="putField" name="e_enabled" value='1'></td><td align=left><?php print WEB_cell_enabled."</td><td align=right>";print_qa_select('a_enabled', 0); ?></td></tr>
-        <tr><td><input type=checkbox class="putField" name="e_group_id" value='1'></td><td align=left><?php print WEB_cell_filter."</td><td align=right>";print_group_select($db_link, 'a_group_id', 0); ?></td></tr>
+        <tr><td><input type=checkbox class="putField" name="e_group_id" value='1'></td><td align=left><?php print WEB_cell_filter."</td><td align=right>";print_filter_group_select($db_link, 'a_group_id', 0); ?></td></tr>
         <tr><td><input type=checkbox class="putField" name="e_queue_id" value='1'></td><td align=left><?php print WEB_cell_shaper."</td><td align=right>";print_queue_select($db_link, 'a_queue_id', 0); ?></td></tr>
         <tr><td><input type=checkbox class="putField" name="e_day_q" value='1'></td><td align=left><?php print WEB_cell_perday."</td><td align=right>"; ?><input type="text" name="a_day_q" value="0" size=5></td></tr>
         <tr><td><input type=checkbox class="putField" name="e_month_q" value='1'></td><td align=left><?php print WEB_cell_permonth."</td><td align=right>"; ?><input type="text" name="a_month_q" value="0" size=5></td></tr>

+ 1 - 1
html/inc/common.php

@@ -907,7 +907,7 @@ function print_device_model_select($db, $device_model_name, $device_model_value)
     print "</select>\n";
 }
 
-function print_group_select($db, $group_name, $group_value)
+function print_filter_group_select($db, $group_name, $group_value)
 {
     print "<select id=\"$group_name\" name=\"$group_name\">\n";
     $t_group = mysqli_query($db, "SELECT id,group_name FROM Group_list Order by group_name");

+ 28 - 2
html/utils/auth_apply.php

@@ -8,6 +8,9 @@ if (isset($_POST["ApplyForAll"])) {
 
     $auth_id = $_POST["fid"];
 
+    if (empty($_POST["a_new_ou"])) {
+        $_POST["a_new_ou"] = 0;
+    }
     if (empty($_POST["a_enabled"])) {
         $_POST["a_enabled"] = 0;
     }
@@ -40,6 +43,7 @@ if (isset($_POST["ApplyForAll"])) {
         $_POST["a_bind_ip"] = 0;
     }
 
+    $a_ou_id    = $_POST["a_new_ou"] * 1;
     $a_enabled  = $_POST["a_enabled"] * 1;
     $a_dhcp     = $_POST["a_dhcp"] * 1;
     $a_dhcp_acl = trim($_POST["a_dhcp_acl"]);
@@ -63,8 +67,9 @@ if (isset($_POST["ApplyForAll"])) {
         if ($val) {
             unset($auth);
             //check user state
-            $cur_auth = get_record_sql($db_link, "SELECT * FROM User_auth WHERE 'id'=" . $val);
-            if (!empty($cur_auth)) { $user_info = get_record_sql($db_link, "SELECT * FROM User_list WHERE 'id='" . $cur_auth["user_id"]); }
+            $cur_auth = get_record_sql($db_link, "SELECT * FROM User_auth WHERE `id`=" . $val);
+            if (!empty($cur_auth)) { $user_info = get_record_sql($db_link, "SELECT * FROM User_list WHERE `id`=" . $cur_auth["user_id"]); }
+
 
             if (isset($_POST["e_enabled"])) {
                 if (!empty($user_info)) { $a_enabled = $user_info["enabled"] * $a_enabled; }
@@ -104,6 +109,27 @@ if (isset($_POST["ApplyForAll"])) {
                 if (!$ret) { $all_ok = 0; }
             }
 
+            //change user group
+            if (isset($_POST["e_new_ou"]) and !empty($a_ou_id) and !empty($user_info)) {
+                $user['ou_id'] = $a_ou_id;
+                $u_auth['ou_id'] = $a_ou_id;
+                //change user group
+                $msg = " For user id: " . $cur_auth['user_id'] . " login: " . $user_info['login'] . " set: ou_id = ".$a_ou_id;
+                LOG_INFO($db_link,$msg);
+                $ret = update_record($db_link, "User_list", "id='" . $cur_auth['user_id'] . "'", $user);
+                if (!$ret) { $all_ok = 0; }
+                //change user ip
+                $auth_list = get_records_sql($db_link, "SELECT * FROM User_auth WHERE user_id=" . $cur_auth['user_id']);
+                if (!empty($auth_list)) {
+                        foreach ($auth_list as $row) {
+                            if (empty($row)) { continue; }
+                            $ret = update_record($db_link, "User_auth", "id='" . $row["id"] . "'", $u_auth);
+                            if (!$ret) { $all_ok = 0; }
+                            }
+                        }
+                unset($user);
+                }
+
             //bind mac rule
             if (isset($_POST["e_bind_mac"])) {
                 $first_auth = get_record_sql($db_link,"SELECT user_id,mac FROM User_auth WHERE id=".$val);