[ekg2-commit] ekg2: irc.c (HEAD) [darkjames]

CVS commit cvs w amba.bydg.pdi.net
Sob, 24 Lut 2007, 00:34:18 CET


Module name:	ekg2
Changes by:	darkjames	07/02/24 00:34:15

Modified files:
	irc.c

Log message:
new variable irc:access_groups, domyslne grupy w jakich ma byc user po dodaniu go do alisty.

Index: irc.c
===================================================================
RCS file: /home/cvs/ekg2/plugins/irc/irc.c,v
diff -d -u -r1.137 -r1.138
--- irc.c	23 Feb 2007 22:30:36 -0000	1.137
+++ irc.c	23 Feb 2007 23:34:13 -0000	1.138
@@ -141,6 +141,8 @@
 static char *irc_getchan(session_t *s, const char **params, const char *name,
       char ***v, int pr, int checkchan);
 
+static char *irc_config_default_access_groups;
+
 PLUGIN_DEFINE(irc, PLUGIN_PROTOCOL, irc_theme_init);
 
 #ifdef EKG2_WIN32_SHARED_LIB
@@ -318,6 +320,12 @@
 	return 0;
 }
 
+static QUERY(irc_setvar_default) {
+	xfree(irc_config_default_access_groups);
+	irc_config_default_access_groups = xstrdup("__ison");
+	return 0;
+}
+
 static int irc_resolver_sort(void *s1, void *s2) {
 	connector_t *sort1 = s1; /*, *sort2 = s2;*/
 	int prefer_family = AF_INET;
@@ -1257,7 +1265,7 @@
 					else printq("irc_access_invalid_flag", value);
 				}
 				array_free(arr);
-			}
+			} else u->groups = group_init(irc_config_default_access_groups);
 			xfree(tmp);
 		}
 
@@ -2132,6 +2140,7 @@
 	query_connect_id(&irc_plugin, IRC_TOPIC,		irc_topic_header, (void*) 0);
 	query_connect_id(&irc_plugin, STATUS_SHOW,		irc_status_show_handle, NULL);
 	query_connect_id(&irc_plugin, IRC_KICK,			irc_onkick_handler, 0);
+	query_connect_id(&irc_plugin, SET_VARS_DEFAULT, 	irc_setvar_default, NULL);
 
 #define IRC_ONLY 		SESSION_MUSTBELONG | SESSION_MUSTHASPRIVATE
 #define IRC_FLAGS 		IRC_ONLY | SESSION_MUSTBECONNECTED
@@ -2264,6 +2273,10 @@
 	plugin_var_add(&irc_plugin, "VERSION_NO", VAR_STR, 0, 0, NULL);
 	plugin_var_add(&irc_plugin, "VERSION_SYS", VAR_STR, 0, 0, NULL);
 
+	variable_add(&irc_plugin, "access_groups", VAR_STR, 1, &irc_config_default_access_groups, NULL, NULL, NULL);
+
+	irc_setvar_default(NULL, NULL);
+
 /* irc_session by queries do it. */
 	return 0;
 }


Więcej informacji o liście dyskusyjnej ekg2-commit