X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/ad234caed0011eb855d7e0dbbe677ccb6bfb1898..34eac98afbb1e170e5fff9646bb22cf39fc3f72d:/misc/channel-lookup-misc.php diff --git a/misc/channel-lookup-misc.php b/misc/channel-lookup-misc.php index 72f096c..101f9ec 100644 --- a/misc/channel-lookup-misc.php +++ b/misc/channel-lookup-misc.php @@ -181,7 +181,7 @@ function generate_chan_occupants_table($channel) $disabled = (current_user_can(PERMISSION_EDIT_CHANNEL_USER)) ? "" : "disabled"; $disabledcolor = ($disabled) ? "btn-secondary" : "btn-primary"; echo ""; - echo "id\">".htmlspecialchars($member->name).""; + echo "id\">".htmlspecialchars($member->name).""; echo "$lvlstring"; echo "".((property_exists($member, 'hostname')) ? htmlspecialchars($member->hostname) : "").""; echo ""; @@ -397,16 +397,30 @@ function _do_chan_item_delete($chan, string $type, array $list, array &$errors) foreach($list as $l) { + // check if the string needs therapy + if ((strlen($n) + 1) + (strlen($str) + strlen($l)) > 150) + { + // send what we've got already and prepare for the next lot + if (!$rpc->channel()->set_mode($chan->name, htmlspecialchars("-$n"), htmlspecialchars($str))) + $errors[] = $rpc->error . " ($rpc->errno)"; + + // prepare for the next set + $n = ""; + $str = ""; + } $n .= $char; $str .= " ".$l; } + // if multiple, this will be the last one so we return here if ($rpc->channel()->set_mode($chan->name, htmlspecialchars("-$n"), htmlspecialchars($str))) { + if (!empty($errors)) + Message::Fail("One or more errors occurred:", $errors); Message::Success("Deleted successfully"); return true; } $errors[] = $rpc->error . " ($rpc->errno)"; - Message::Fail("An error occurred: $rpc->error"); + Message::Fail("An error occurred:", $errors); return false; }