⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generate.c

📁 100 病毒源碼,原始碼,無毒 ......
💻 C
📖 第 1 页 / 共 4 页
字号:
	char filename[255];	int f;	const char *def_css = "BODY {background: #eeeeee; }\n""TH { font-family: arial,helvetica; font-size: 10pt; color: black; }\n""TD { font-family: arial,helvetica; font-size: 10pt; color: black; background: #FFFFFF;}\n""TD.TINYR { text-align: right; font-family: arial,helvetica; font-size: 9pt; color: black; }\n""TD.CENTERB { text-align: center; font-weight: bolder; }\n""TD.RIGHTB { text-align: right; font-weight: bolder; }\n""TD.GROUPING { font-family: arial,helvetica; font-size: 10pt; color: black; background: #d0d0e0;}\n""TD.MENU { background: #eeeeff;}";		sprintf(filename, "%s%s%s/modlogan.css", 		ext_conf->outputdir ? ext_conf->outputdir : ".",		subpath ? "" : "/",		subpath ? subpath : "");			if ((f = open (filename, O_CREAT | O_EXCL | O_WRONLY, S_IROTH | S_IRGRP | S_IWUSR | S_IRUSR)) != -1) {		if (ext_conf->debug_level > 0)			fprintf(stderr, "writing CSS-definition\n");		write (f, def_css, strlen(def_css));		close(f);	}		return 0;}int write_report_header(mconfig *ext_conf, FILE *f, char *sub, char *report) {	config_output *conf = ext_conf->output;		if (conf->page_style && !strcasecmp(conf->page_style, "onepage")) {		fprintf(f, "<CENTER><A NAME=\"%.3s%s\"></A><A HREF=\"#000\">[top]</A></CENTER>", sub, report);	} else if (conf->page_style && !strcasecmp(conf->page_style, "seppage")) {		fprintf(f, "<CENTER><A NAME=\"%s\"></A></CENTER>", report);	} else {		fprintf(f, "<CENTER><A NAME=\"%s\"></A><A HREF=\"#000\">[top]</A></CENTER>", report);	}		return 0;}int mplugins_output_generate_monthly_output(mconfig *ext_conf, mstate *state, char *subpath) {	unsigned int i, s_200, s_304;	unsigned int min, sec;	double d = 0;	FILE *f = NULL;	char filename[255];	data_History sumdat, maxdat;	int last_day = 1;	config_output *conf = ext_conf->output;	mlist *menu_items = mlist_init(), *l;	char last_sub[4] = { 0, 0, 0, 0 };	char last_report[4] = { 0, 0, 0, 0 };	mstate_web *staweb = NULL;		if (!state->ext) return -1;		if (state->ext_type != M_STATE_TYPE_WEB) return -1;		staweb = state->ext;		if (subpath) {		sprintf(filename, "%s/%s/",			ext_conf->outputdir ? ext_conf->outputdir : ".",			subpath);		mkdir(filename, 0755);	}		write_css(ext_conf, subpath);		get_menu_items(ext_conf, state, menu_items);		l = menu_items;	while (l) {/* sort the list */		mlist *min_l = NULL;		mlist *hl = l->next;		char *min = "";		char *last = ((data_StrInt *)l->data)->string;				while (hl) {			if (hl->data) {				if ( strcmp(((data_StrInt *)hl->data)->string, min) > 0 &&					strcmp(((data_StrInt *)hl->data)->string, last) < 0) {					min = ((data_StrInt *)hl->data)->string;					min_l = hl;				}			}			hl = hl->next;		}				if (min_l) {			data_StrInt *d;						d = l->data;			l->data = min_l->data;			min_l->data = d;		}				l = l->next;	}/* write the menu */		l = menu_items;	while (l) {		data_StrInt *data = l->data;		char *sep_main, *sep_sub, *sep_report = NULL;			/* seperate menu string */		sep_main = strchr(data->string, '/');		sep_main++;		sep_sub = strchr(sep_main, '/');				if (sep_sub) {			sep_sub++;			sep_report = strchr(sep_sub, '/');			if (sep_report) {				sep_report++;			}		}	/* open file */			if (conf->page_style && !strcasecmp(conf->page_style, "onepage")) {			if (sep_main && strncmp(last_sub, sep_main, 3)) {				strncpy(last_sub, sep_main, 3);							sprintf(filename, "%s%s%s/m_usage_%04i%02i.html", 					ext_conf->outputdir ? ext_conf->outputdir : ".",					subpath ? "/" : "",					subpath ? subpath : "",					state->year, state->month);							if (f) {					file_end(f, ext_conf);					fclose(f);				}							if (!(f = fopen(filename, "w"))) {					return -1;			}	/* create menu */				file_start(f,ext_conf,state->timestamp);							write_menu(ext_conf, state,f, menu_items, last_sub);							fprintf (f, "</TD><TD>");			}		} else if (conf->page_style && !strcasecmp(conf->page_style, "seppage")) {			if (sep_sub && sep_report &&				(strncmp(last_sub, sep_sub, 3) != 0 ||			       	strncmp(last_report, sep_report, 3) != 0)) {			       					strncpy(last_report, sep_report, 3);				strncpy(last_sub, sep_sub, 3);								sprintf(filename, "%s%s%s/m_usage_%04i%02i_%.3s_%s.html", 					ext_conf->outputdir ? ext_conf->outputdir : ".",					subpath ? "/" : "",					subpath ? subpath : "",					state->year, state->month, 					sep_sub ? sep_sub : "",					sep_report ? sep_report : "");								if (f) {					file_end(f,ext_conf);					fclose(f);				}							if (!(f = fopen(filename, "w"))) {					fprintf(stderr, "%s.%d: %s %s\n", __FILE__, __LINE__, _("Can't open file"), filename);					return -1;							}	/* create menu */				file_start(f,ext_conf, state->timestamp);							write_menu(ext_conf, state,f, menu_items, last_sub);							fprintf (f, "</TD><TD>");			}		} else {			if (sep_sub && strncmp(last_sub, sep_sub, 3)) {				strncpy(last_sub, sep_sub, 3);							sprintf(filename, "%s%s%s/m_usage_%04i%02i_%s.html", 					ext_conf->outputdir ? ext_conf->outputdir : ".",					subpath ? "/" : "",					subpath ? subpath : "",					state->year, state->month, last_sub);							if (f) {					file_end(f,ext_conf);					fclose(f);				}							if (!(f = fopen(filename, "w"))) {					return -1;			}	/* create menu */				file_start(f,ext_conf, state->timestamp);							write_menu(ext_conf, state,f, menu_items, last_sub);							fprintf (f, "</TD><TD>");			}		}			/* write report */			switch (data->type) {			case M_REPORT_REQ_URL: 			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_req_urls, mhash_count(staweb->req_url_hash),_("Requested URL's")), 4);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("URL")					);				show_mhash(ext_conf, f,staweb->req_url_hash, conf->max_req_urls,HIGHLIGHT | GROUPING | INDEX | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("URL")					);				table_end(f);				break;			}			case M_REPORT_REF_URL:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_ref_urls, mhash_count(staweb->ref_url_hash),_("Referring URL's")), 4);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Referrer")					);				show_mhash(ext_conf, f,staweb->ref_url_hash, conf->max_ref_urls, HIGHLIGHT | GROUPING | INDEX | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Referrer")					);				table_end(f);				break;			}			case M_REPORT_OS:			{				write_report_header(ext_conf, f, sep_sub, sep_report);								table_start(f, table_header(conf->max_os, mhash_count(staweb->os_hash), _("Used Operating Systems")), 5);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH bgcolor=\"%s\">%s</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					conf->col_visits,					_("Visits"),					_("Operating System")					);				show_mhash(ext_conf, f,staweb->os_hash, conf->max_os, GROUPING | VISITS| INDEX | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH bgcolor=\"%s\">%s</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					conf->col_visits,					_("Visits"),					_("Operating System")					);				table_end(f);				break;			}			case M_REPORT_HOSTS:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_hosts, mhash_count(staweb->host_hash),_("Hosts")), 5);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH bgcolor=\"%s\">%s</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					conf->col_visits,					_("Visits"),					_("Host")					);				show_mhash(ext_conf, f,staweb->host_hash, conf->max_hosts, GROUPING| INDEX | VISITS | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH bgcolor=\"%s\">%s</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					conf->col_visits,					_("Visits"),					_("Host")					);				table_end(f);				break;			}			case M_REPORT_ENTRY_PAGES:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_entry_pages, mhash_count(staweb->entry_pages),_("Entry Pages")), 4);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Entry Page")					);				show_mhash(ext_conf, f,staweb->entry_pages, conf->max_entry_pages, HIGHLIGHT| INDEX | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Entry Page")					);				table_end(f);				break;			}			case M_REPORT_EXIT_PAGES:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_exit_pages, mhash_count(staweb->exit_pages),_("Exit Pages")), 4);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Exit Page")					);				show_mhash(ext_conf, f,staweb->exit_pages, conf->max_exit_pages, HIGHLIGHT| INDEX | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Exit Page")					);				table_end(f);				break;			}			case M_REPORT_INDEXED:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_indexed_pages, mhash_count(staweb->indexed_pages),_("Indexed Pages")), 4);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Indexed Page")					);				show_mhash(ext_conf, f,staweb->indexed_pages, conf->max_indexed_pages,HIGHLIGHT| INDEX | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Indexed Page")					);				table_end(f);				break;			}			case M_REPORT_USERAGENT:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_ua, mhash_count(staweb->ua_hash),_("Used Browsers")), 5);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH bgcolor=\"%s\">%s</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					conf->col_visits,					_("Visits"),					_("Browser")					);				show_mhash(ext_conf, f,staweb->ua_hash, conf->max_ua, GROUPING | VISITS| INDEX | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH bgcolor=\"%s\">%s</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					conf->col_visits,					_("Visits"),					_("Browser")					);				table_end(f);				break;			}			case M_REPORT_REQ_PROT:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_req_prot, mhash_count(staweb->req_prot_hash),_("Used Request Protocol")), 4);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Protocol")					);				show_mhash(ext_conf, f,staweb->req_prot_hash, conf->max_req_prot, INDEX | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Protocol")					);				table_end(f);				break;			}			case M_REPORT_REQ_METH:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_req_meth, mhash_count(staweb->req_meth_hash),_("Used Request Method")), 4);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Method")					);				show_mhash(ext_conf, f,staweb->req_meth_hash,conf->max_req_meth, INDEX | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Method")					);				table_end(f);				break;			}			case M_REPORT_STATUS_CODES:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_status_codes, mhash_count(staweb->status_hash),_("Status Code")), 2);				fprintf(f,"<TR><TH bgcolor=\"%s\">%s</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Status Code")					);				show_status_mhash(f,staweb->status_hash, conf->max_status_codes);				fprintf(f,"<TR><TH bgcolor=\"%s\">%s</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Status Code")					);				table_end(f);				break;			}			case M_REPORT_ROBOTS:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_robots, mhash_count(staweb->robots),_("Robots")), 4);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Robot")					);				show_mhash(ext_conf, f,staweb->robots, conf->max_robots, INDEX | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Robot")					);				table_end(f);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -