]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/commitdiff
finish permissions
authorValerie Pond <redacted>
Wed, 1 Mar 2023 09:34:37 +0000 (09:34 +0000)
committerValerie Pond <redacted>
Wed, 1 Mar 2023 09:34:37 +0000 (09:34 +0000)
header.php
plugins/sql_auth/sql_auth.php
settings/user-edit.php

index 54f9b82941705c503e710e72cd6d3aad9248d60d..4fd6f69bbb049b622b2cf1cccd92a1118784aa97 100644 (file)
@@ -45,6 +45,7 @@
 
 $active_page = NULL;
 
+
 foreach ($pages as $name => $page)
 {
        $script = $_SERVER['SCRIPT_FILENAME'];
@@ -91,17 +92,16 @@ foreach($pages as $name=>$page)
         <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
           <?php echo $name; ?>
         </a>
-        <div class="dropdown-menu" aria-labelledby="navbarDropdown">
-                       <?php foreach($page as $k => $p)
-                       {
-                               ?>
-                                       <a class="dropdown-item" href="<?php echo BASE_URL.$p;?>"><?php echo $k; ?></a>
-                               <?php
-                       } ?>
-        </div>
-      </li>
-         <?php
-               
+                       <div class="dropdown-menu" aria-labelledby="navbarDropdown">
+                               <?php foreach($page as $k => $p)
+                               {
+                                       ?>
+                                               <a class="dropdown-item" href="<?php echo BASE_URL.$p;?>"><?php echo $k; ?></a>
+                                       <?php
+                               } ?>
+                       </div>
+               </li>
+               <?php
        }
 
 }
index 31478e99acadf57a6982d439b755691ae639c1f9..1366addb33b69dbb866de66521aa6d97ec104f12 100644 (file)
@@ -58,7 +58,6 @@ class sql_auth
                        session_set_cookie_params(3600);
                        session_start();
                }
-               do_log($_SESSION);
                if (!isset($_SESSION['id']) || empty($_SESSION))
                {
                        $secure = ($_SERVER['HTTPS'] == 'on') ? "https://" : "http://";
@@ -109,6 +108,7 @@ class sql_auth
                $columns = $conn->query("SHOW COLUMNS FROM " . SQL_PREFIX . "users");
                $column_names = array();
                $c = $columns->fetchAll();
+
                foreach($c as $column) {
                        $column_names[] = $column['Field'];
                }
@@ -117,6 +117,15 @@ class sql_auth
                        $conn->query("ALTER TABLE " . SQL_PREFIX . "users ADD COLUMN user_email varchar(255)");
                }
 
+               /**
+                * Another patch for beta users
+                * This changes the size of the meta_value so we can store more
+                */
+               $columns = $conn->query("SHOW COLUMNS FROM ".SQL_PREFIX."user_meta");
+               $c = $columns->fetchAll();
+               if (!empty($c))
+                       $conn->query("ALTER TABLE `".SQL_PREFIX."user_meta` CHANGE `meta_value` `meta_value` VARCHAR(5000) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL");
+
 
                $conn->query("CREATE TABLE IF NOT EXISTS " . SQL_PREFIX . "user_meta (
                        meta_id int AUTO_INCREMENT NOT NULL,
@@ -178,7 +187,6 @@ class sql_auth
 
        public static function get_usermeta(&$u)
        {
-               //do_log($u);
                $list = &$u['meta'];
                $id = $u['id'];
                $conn = sqlnew();
index 1567ea90d89d5832cf860126997ce3d51f26ac99..627424ca3bb13a07781d49d5853b6abce54662dd 100644 (file)
@@ -2,12 +2,29 @@
 
 require_once "../common.php";
 require_once "../header.php";
-do_log($_POST, $_GET, $_FILES);
+
 
 $us = unreal_get_current_user();
 $id = (isset($_GET['id'])) ? $_GET['id'] : $us->id;
 $edit_user = new PanelUser(NULL, $id);
-$can_edit = (user_can($us, PERMISSION_MANAGE_USERS) || $edit_user->id == $us->id) ? "" : "disabled";
+$canedit = (user_can($us, PERMISSION_MANAGE_USERS) || $edit_user->id == $us->id) ? true : false;
+$can_edit = ($canedit) ? "" : "disabled";
+
+$permissions = (isset($_POST['permissions'])) ? $_POST['permissions'] : false;
+$edit_perms = (isset($edit_user->user_meta['permissions'])) ? unserialize($edit_user->user_meta['permissions']) : [];
+/* Check if they can edit their permissions and if the permissions have indeed been changed */
+if (is_array($permissions) && $canedit
+        && $permissions != $edit_perms)
+{
+    foreach ($permissions as $p)
+        if (!in_array($p, $edit_perms))
+            $edit_user->add_permission($p);
+
+    foreach($edit_perms as $p)
+        if (!in_array($p, $permissions))
+            $edit_user->delete_permission($p);
+}
+
 
 ?>
 <h4>Edit User: "<?php echo $edit_user->username; ?>"</h4>
@@ -54,7 +71,7 @@ $can_edit = (user_can($us, PERMISSION_MANAGE_USERS) || $edit_user->id == $us->id
 <div class="input-group mb-3">
     <div class="input-group-prepend">
         <span class="input-group-text" style="width: 100px;">Email</span>
-    </div><input <?php echo $can_edit; ?> type="text" class="form-control" name="email" id="email" autocomplete="off">
+    </div><input <?php echo $can_edit; ?> type="text" class="form-control" name="email" id="email" autocomplete="off" value="<?php echo $edit_user->email; ?>">
 </div>
 
 <div class="input-group mb-3">