Esempio n. 1
0
static int script_channel_mask_list(script_var_t *retval, char *chan_name, char *type)
{
	channel_t *chan;
	channel_mask_t *m;
	channel_mask_list_t *l;

	retval->type = SCRIPT_ARRAY | SCRIPT_FREE | SCRIPT_VAR;
	retval->len = 0;

	chan = channel_probe(chan_name, 0);
	if (!chan) return(-1);

	l = channel_get_mask_list(chan, type[0]);
	if (!l) return(-1);

	for (m = l->head; m; m = m->next) {
		script_list_append(retval,
			script_list(3,
				script_string(m->mask, -1),
				script_string(m->set_by, -1),
				script_int(m->time)
			)
		);
	}
	return(0);
}
Esempio n. 2
0
static int script_listmask(void *type, script_var_t *retval, char *channel_name)
{
	script_var_t *mlist;
	struct chanset_t *chan = NULL;
	struct maskrec *m, *masks;

	retval->type = SCRIPT_ARRAY | SCRIPT_VAR | SCRIPT_FREE;
	retval->len = 0;

	if (channel_name) {
		chan = findchan_by_dname(channel_name);
		if (!chan) return(-1);
	}
	if ((int) type == 'b') masks = (chan ? chan->bans : global_bans);
	else if ((int) type == 'I') masks = (chan ? chan->invites : global_invites);
	else if ((int) type == 'e') masks = (chan ? chan->exempts : global_exempts);
	else return(-1);

	for (m = masks; m; m = m->next) {
		mlist = script_list(6, script_string(m->mask, -1),
			script_string(m->desc, -1),
			script_int(m->expire),
			script_int(m->added),
			script_int(m->lastactive),
			script_string(m->user, -1)
		);
		script_list_append(retval, mlist);
	}
	return(0);
}
Esempio n. 3
0
static int script_channel_info(script_var_t *retval)
{
	int i;
	channel_flag_map_t *flag_map;
	struct udef_struct *ul;

	retval->type = SCRIPT_ARRAY | SCRIPT_VAR | SCRIPT_FREE;
	retval->len = 0;

	for (i = 0; channel_info_names[i]; i++) {
		script_list_append(retval, script_string(channel_info_names[i], -1));
	}

	for (flag_map = normal_flag_map; flag_map->name; flag_map++) {
		script_list_append(retval, script_string(flag_map->name, -1));
	}

	for (flag_map = stupid_ircnet_flag_map; flag_map->name; flag_map++) {
		script_list_append(retval, script_string(flag_map->name, -1));
	}

	for (ul = udef; ul; ul = ul->next) {
		/* If it's undefined, skip it. */
		if (!ul->defined || !ul->name) continue;
		script_list_append(retval, script_string(ul->name, -1));
	}

	return(0);
}
Esempio n. 4
0
static int script_server_list(script_var_t *retval)
{
	server_t *s;

	retval->type = SCRIPT_ARRAY | SCRIPT_FREE | SCRIPT_VAR;
	retval->len = 0;

	for (s = server_list; s; s = s->next) {
		script_list_append(retval, script_list(3, script_string(s->host, -1), script_string(s->pass, -1), script_int(s->port)));
	}
	return(0);
}
Esempio n. 5
0
static int script_channel_topic(script_var_t *retval, char *chan_name)
{
	channel_t *chan;

	retval->type = SCRIPT_ARRAY | SCRIPT_FREE | SCRIPT_VAR;
	retval->len = 0;

	chan = channel_probe(chan_name, 0);
	if (!chan) return(-1);

	script_list_append(retval, script_string(chan->topic, -1));
	script_list_append(retval, script_string(chan->topic_nick, -1));
	script_list_append(retval, script_int(chan->topic_time));
	return(0);
}
Esempio n. 6
0
void script_line( const char *s )
{

   /* Write string */
   script_string( s );

   /* Write new line */
   script_new_line(  );

}                               /* script_line */
Esempio n. 7
0
static int script_channels(script_var_t *retval)
{
	struct chanset_t *chan;

	retval->type = SCRIPT_ARRAY | SCRIPT_VAR | SCRIPT_FREE;
	retval->len = 0;

	for (chan = chanset; chan; chan = chan->next) {
		script_list_append(retval, script_string(chan->dname, -1));
	}
	return(0);
}
Esempio n. 8
0
static int script_channel_list(script_var_t *retval)
{
	channel_t *chan;

	retval->type = SCRIPT_ARRAY | SCRIPT_FREE | SCRIPT_VAR;
	retval->len = 0;

	for (chan = channel_head; chan; chan = chan->next) {
		script_list_append(retval, script_string(chan->name, -1));
	}
	return(0);
}
Esempio n. 9
0
static int script_channel_members(script_var_t *retval, char *chan_name)
{
	channel_t *chan;
	channel_member_t *m;

	retval->type = SCRIPT_ARRAY | SCRIPT_FREE | SCRIPT_VAR;
	retval->len = 0;

	chan = channel_probe(chan_name, 0);
	if (!chan) return(-1);

	for (m = chan->member_head; m; m = m->next) {
		script_list_append(retval, script_string(m->nick, -1));
	}

	return(0);
}