";
echo "";
@@ -237,66 +237,104 @@ function generate_html_chansettings($channel)
"kliRzOL", ...
+ * The group "Other" has a number of preset ones PLUS
+ * will be automatically filled with any remaining modes
+ * that are detected and that we forgot to put in Other.
+ */
+function group_modes()
+{
+ $modes = '';
+ foreach(IRCList::$uplink as $mode_groups)
+ $modes .= $mode_groups;
+
+ $grouping = IRCList::$grouping;
+
+ foreach (str_split($modes) as $letter)
+ {
+ $found = false;
+ foreach($grouping as $groupname=>$value)
+ {
+ if (str_contains($value, $letter))
+ {
+ $found = true;
+ break;
+ }
+ }
+ if (!$found)
+ $grouping["Other"] .= $letter;
+
+ }
+ return $grouping;
+}
+
function generate_edit_chmodes($chan)
{
?>
-
-
-
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;
}