fixed srvx language fail (minimum must NOT be greater than the maximum - it must...
[srvx.git] / src / chanserv.c
index 31f64d914e6a6c5cb01184398046976741f9e335..28db426c4807f229d4981851083b5a9964e59bd5 100644 (file)
@@ -209,7 +209,7 @@ static const struct message_entry msgtab[] = {
 /* User management */
     { "CSMSG_ADDED_USER", "Added %s to the %s user list with access %d." },
     { "CSMSG_DELETED_USER", "Deleted %s (with access %d) from the %s user list." },
-    { "CSMSG_BAD_RANGE", "Invalid access range; minimum (%d) must be greater than maximum (%d)." },
+    { "CSMSG_BAD_RANGE", "Invalid access range; minimum (%d) must be lower than maximum (%d)." },
     { "CSMSG_DELETED_USERS", "Deleted accounts matching $b%s$b with access from $b%d$b to $b%d$b from the %s user list." },
     { "CSMSG_TRIMMED_USERS", "Trimmed $b%d users$b with access from %d to %d from the %s user list who were inactive for at least %s." },
     { "CSMSG_INCORRECT_ACCESS", "%s has access $b%d$b, not %s." },
@@ -345,6 +345,7 @@ static const struct message_entry msgtab[] = {
     { "CSMSG_ACCESS_SEARCH_HEADER", "%s users from level %d to %d matching %s:" },
     { "CSMSG_INVALID_ACCESS", "$b%s$b is an invalid access level." },
     { "CSMSG_CHANGED_ACCESS", "%s now has access $b%d$b in %s." },
+    { "CSMSG_TOTAL_USERS", "There are $b%d$b users in %s." },
 
 /* Channel note list */
     { "CSMSG_NOTELIST_HEADER", "Notes for $b%s$b:" },
@@ -387,8 +388,9 @@ static const struct message_entry msgtab[] = {
     { "CSMSG_UC_H_TITLE", "network helper" },
     { "CSMSG_LC_H_TITLE", "support helper" },
     { "CSMSG_LAME_SMURF_TARGET", "%s is an IRC operator." },
-    { "CSMSG_MYACCESS_COUNT", "%s has access in $b%d$b channels." },
-    { "CSMSG_MYACCESS_COUNT_1", "%s has access in $b%d$b channel." },
+    { "CSMSG_MYACCESS_COUNT", "%s has access in $b%d$b channels and is owner of $b%d$b channel(s)." },
+       { "CSMSG_MYACCESS_COUNT_1", "%s has access in $b%d$b channel and is owner of $b%d$b channel(s)." },
+
 
 /* Seen information */
     { "CSMSG_NEVER_SEEN", "%s has never been seen in $b%s$b." },
@@ -3819,6 +3821,7 @@ static CHANSERV_FUNC(cmd_myaccess)
     struct handle_info *target_handle;
     struct userData *uData;
     int ccount = 0;
+       int ocount = 0;
 
     if(argc < 2)
         target_handle = user->handle_info;
@@ -3847,9 +3850,13 @@ static CHANSERV_FUNC(cmd_myaccess)
 
         if(uData->access > UL_OWNER)
             continue;
+        if(uData->access == UL_OWNER)
+            ocount++;
+
         if(IsProtected(cData)
            && (target_handle != user->handle_info)
-           && !GetTrueChannelAccess(cData, user->handle_info))
+           && !GetTrueChannelAccess(cData, user->handle_info)
+           && !IsNetworkHelper(user))
             continue;
         sbuf.used = 0;
         string_buffer_append_printf(&sbuf, "[%s (%d", cData->channel->name, uData->access);
@@ -3875,9 +3882,9 @@ static CHANSERV_FUNC(cmd_myaccess)
     }
 
     if(ccount == 1) {
-        reply("CSMSG_MYACCESS_COUNT_1", target_handle->handle, ccount);
+        reply("CSMSG_MYACCESS_COUNT_1", target_handle->handle, ccount, ocount);
     } else {
-        reply("CSMSG_MYACCESS_COUNT", target_handle->handle, ccount);
+        reply("CSMSG_MYACCESS_COUNT", target_handle->handle, ccount, ocount);
     }
 
     return 1;
@@ -4166,6 +4173,7 @@ cmd_list_users(struct userNode *user, struct chanNode *channel, unsigned int arg
     }
     free(lData.table.contents[0]);
     free(lData.table.contents);
+    reply("CSMSG_TOTAL_USERS",(lData.table.length - 1),channel->name);
     return 1;
 }