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

📄 generate.c

📁 100 病毒源碼,原始碼,無毒 ......
💻 C
📖 第 1 页 / 共 4 页
字号:
				break;			}			case M_REPORT_BOOKMARKS:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_bookmarks, mhash_count(staweb->bookmarks),_("Bookmarked Pages")), 4);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Bookmarked Page")					);				show_mhash(ext_conf, f,staweb->bookmarks,conf->max_bookmarks,HIGHLIGHT| INDEX | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Bookmarked Page")					);				table_end(f);				break;			}			case M_REPORT_BROKEN_LINKS:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_broken_links, mhash_count(staweb->status_missing_file),_("Missing File / Broken Link")), 6);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH><TH>%s</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Broken Link"),					_("last referrering URL"),					_("Last Hit")					);				show_mhash(ext_conf, f,staweb->status_missing_file,conf->max_broken_links,GROUPING| INDEX | BROKEN_LINK | PERCENT);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH><TH>%s</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Broken Link"),					_("last referrering URL"),					_("Last Hit")					);				table_end(f);				break;			}			case M_REPORT_INTERNAL_ERROR:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_internal_errors, mhash_count(staweb->status_internal_error),_("Internal Errors")), 5);				show_mhash(ext_conf, f,staweb->status_internal_error,conf->max_internal_errors, INDEX | BROKEN_LINK);				table_end(f);				break;			}			case M_REPORT_SEARCH_STRINGS:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_search_strings, mhash_count(staweb->searchstring),_("SearchStrings")), 4);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Search String")					);				show_mhash(ext_conf, f,staweb->searchstring, conf->max_search_strings, INDEX | PERCENT | GROUPING);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Search String")					);				table_end(f);				break;			}			case M_REPORT_SEARCH_ENGINE:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				table_start(f, table_header(conf->max_search_engines, mhash_count(staweb->searchsite),_("SearchEngines")), 4);				fprintf(f,"<TR><TH>#</TH><TH bgcolor=\"%s\">%s</TH><TH>%%</TH><TH>%s</TH></TR>\n",					conf->col_hits,					_("Hits"),					_("Search Engine")					);				show_mhash(ext_conf, f,staweb->searchsite, conf->max_search_engines, 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"),					_("Search Engine")					);				table_end(f);				break;			}			case M_REPORT_COUNTRIES:			{				char *ref;				write_report_header(ext_conf, f, sep_sub, sep_report);				if (conf->show_country_graph) {					ref = create_pic_countries(ext_conf, state, subpath);						if (ref && strlen(ref)) {						fprintf(f, "%s", ref);					}				}				table_start(f, table_header(conf->max_countries, mhash_count(staweb->country_hash),_("Countries")), 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"),					_("Country")					);				show_mhash(ext_conf, f, staweb->country_hash, conf->max_countries, 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"),					_("Country")					);				table_end(f);				break;			}			case M_REPORT_SUMMARY:			{				write_report_header(ext_conf, f, sep_sub, sep_report);				sumdat.files	= maxdat.files		= 0;				sumdat.xfersize	= maxdat.xfersize	= 0;				sumdat.hits	= maxdat.hits		= 0;				sumdat.hosts	= maxdat.hosts		= 0;				sumdat.pages	= maxdat.pages		= 0;				sumdat.visits	= maxdat.visits		= 0;					/* count the values */				for ( i = 0; i < 31; i++) {					if (staweb->days[i].hits) last_day = i+1;					sumdat.files	+= staweb->days[i].files;					sumdat.xfersize	+= staweb->days[i].xfersize;					sumdat.hits	+= staweb->days[i].hits;					sumdat.hosts	+= staweb->days[i].hosts;					sumdat.pages	+= staweb->days[i].pages;					sumdat.visits	+= staweb->days[i].visits;					if (maxdat.files < staweb->days[i].files)						maxdat.files	= staweb->days[i].files;					if (maxdat.hits < staweb->days[i].hits) 						maxdat.hits	= staweb->days[i].hits;					if (maxdat.hosts < staweb->days[i].hosts) 						maxdat.hosts	= staweb->days[i].hosts;					if (maxdat.pages < staweb->days[i].pages) 						maxdat.pages	= staweb->days[i].pages;					if (maxdat.visits < staweb->days[i].visits) 						maxdat.visits	= staweb->days[i].visits;					if (maxdat.xfersize < staweb->days[i].xfersize) 						maxdat.xfersize	= staweb->days[i].xfersize;				}								maxdat.hosts = sumdat.hosts = mhash_count(staweb->host_hash);								table_start(f, _("Summary"), 3);					/* Totals */				fprintf(f,"<TR><TD>%s</TD><TD colspan=2 align=right>%li</TD></TR>\n", _("Total Hits"), sumdat.hits);				fprintf(f,"<TR><TD>%s</TD><TD colspan=2 align=right>%li</TD></TR>\n", _("Total Files"), sumdat.files);				fprintf(f,"<TR><TD>%s</TD><TD colspan=2 align=right>%li</TD></TR>\n", _("Total Pages"), sumdat.pages);				fprintf(f,"<TR><TD>%s</TD><TD colspan=2 align=right>%li</TD></TR>\n", _("Total Hosts"), sumdat.hosts);				fprintf(f,"<TR><TD>%s</TD><TD colspan=2 align=right>%li</TD></TR>\n", _("Total Visits"), sumdat.visits);				fprintf(f,"<TR><TD>%s</TD><TD colspan=2 align=right>%.0f</TD></TR>\n", _("Transfered Bytes"), sumdat.xfersize / 1024);								fprintf(f,"<TR><TH>&nbsp;</TH><TH>%s</TH><TH>%s</TH></TR>\n", _("avg"), _("max"));								fprintf(f,"<TR><TD>%s</TD><TD align=right>%li</TD><TD align=right>%li</TD></TR>\n", _("Hits per Day"), sumdat.hits / last_day, maxdat.hits);				fprintf(f,"<TR><TD>%s</TD><TD align=right>%li</TD><TD align=right>%li</TD></TR>\n", _("Files per Day"), sumdat.files / last_day, maxdat.files);				fprintf(f,"<TR><TD>%s</TD><TD align=right>%li</TD><TD align=right>%li</TD></TR>\n", _("Pages per Day"), sumdat.pages / last_day, maxdat.pages);				fprintf(f,"<TR><TD>%s</TD><TD align=right>%li</TD><TD align=right>%li</TD></TR>\n", _("Hosts per Day"), sumdat.hosts / last_day, maxdat.hosts);				fprintf(f,"<TR><TD>%s</TD><TD align=right>%li</TD><TD align=right>%li</TD></TR>\n", _("Visits per Day"), sumdat.visits / last_day, maxdat.visits);				fprintf(f,"<TR><TD>%s</TD><TD align=right>%.0f</TD><TD align=right>%.0f</TD></TR>\n", _("Tranfered Kbytes per Day"), (sumdat.xfersize / 1024) / last_day, maxdat.xfersize / 1024);					if (sumdat.visits) {					d = (staweb->allvisittime / sumdat.visits);					min = d / 60;					sec = (int)floor(d) % 60;				} else {					min = 0;					sec = 0;				}				fprintf(f,"<TR><TD>%s</TD><TD align=right>%d:%02d %s</TD><TD align=right>%s</TD></TR>\n", _("Time per visit"), min, sec, _("min"), "---");					if (sumdat.visits) {					d = (double)staweb->allvisitlength / sumdat.visits;				} else {					d = 0;				}				fprintf(f,"<TR><TD>%s</TD><TD align=right>%.2f</TD><TD align=right>%s</TD></TR>\n", _("Pages per visit"), d, "---");					s_200 = mhash_get_value(staweb->status_hash, "200");				s_304 = mhash_get_value(staweb->status_hash, "304");					d = ((double)s_304/(s_200+s_304)) * 100;				fprintf(f,"<TR><TD>%s</TD><TD align=right>%.2f%%</TD><TD align=right>%s</TD></TR>\n", _("Cache Hit ratio"), d, "---");					table_end(f);				break;			}			case M_REPORT_DAILY:			{				char *ref;				write_report_header(ext_conf, f, sep_sub, sep_report);				if (conf->show_daily_graph) {					ref = create_pic_31_day(ext_conf, state, subpath);						if (ref && strlen(ref)) {						fprintf(f, "%s", ref);					}				}					table_start(f, _("Daily Statistics"), 6);				fprintf(f,"<TR><TH>%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH></TR>\n",					_("Day"),					conf->col_hits,					_("Hits"),					conf->col_files,					_("Files"),					conf->col_pages,					_("Pages"),					conf->col_visits,					_("Visits"),					conf->col_xfer,					_("KBytes")					);				for ( i = 0; i < last_day; i++) {					fprintf(f,"<TR><TD>%d</TD><TD align=right>%li</TD><TD align=right>%li</TD><TD align=right>%li</TD><TD align=right>%li</TD><TD align=right>%.0f</TD></TR>\n",						i+1, 						staweb->days[i].hits,						staweb->days[i].files,						staweb->days[i].pages,						staweb->days[i].visits,						staweb->days[i].xfersize / 1024						);				}				fprintf(f,"<TR><TH>%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH></TR>\n",					_("Day"),					conf->col_hits,					_("Hits"),					conf->col_files,					_("Files"),					conf->col_pages,					_("Pages"),					conf->col_visits,					_("Visits"),					conf->col_xfer,					_("KBytes")					);				table_end(f);				break;			}			case M_REPORT_HOURLY:			{				char *ref;				write_report_header(ext_conf, f, sep_sub, sep_report);				if (conf->show_hourly_graph) {					ref = create_pic_24_hour(ext_conf, state, subpath);						if (ref && strlen(ref)) {						fprintf(f, "%s", ref);					}				}					table_start(f, _("Hourly Statistics"), 6);				fprintf(f,"<TR><TH>%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH></TR>\n",					_("Hour"),					conf->col_hits,					_("Hits"),					conf->col_files,					_("Files"),					conf->col_pages,					_("Pages"),					conf->col_visits,					_("Visits"),					conf->col_xfer,					_("KBytes")					);				for ( i = 0; i < 24; i++) {					fprintf(f,"<TR><TD>%d</TD><TD align=right>%li</TD><TD align=right>%li</TD><TD align=right>%li</TD><TD align=right>%li</TD><TD align=right>%.0f</TD></TR>\n",						i, 						staweb->hours[i].hits,						staweb->hours[i].files,						staweb->hours[i].pages,						staweb->hours[i].visits,						staweb->hours[i].xfersize / 1024						);				}				fprintf(f,"<TR><TH>%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH></TR>\n",					_("Hour"),					conf->col_hits,					_("Hits"),					conf->col_files,					_("Files"),					conf->col_pages,					_("Pages"),					conf->col_visits,					_("Visits"),					conf->col_xfer,					_("KBytes")					);				table_end(f);				break;			}			default:				break;		}				l = l->next;	}		mlist_free(menu_items);		if (f) {		file_end(f,ext_conf);			fclose (f);	}		return 0;}int mplugins_output_generate_history_output(mconfig *ext_conf, mlist *history, char *subpath) {	mlist *l = history;	FILE *f;	char filename[255];	char *ref;	config_output *conf = ext_conf->output;		sprintf(filename, "%s%s%s/index.html", 		ext_conf->outputdir ? ext_conf->outputdir : ".",		subpath ? "/" : "",		subpath ? subpath : "" );		if (!(f = fopen(filename, "w"))) {		return -1;	}		file_start_index(f,ext_conf,0);		if (conf->show_monthly_graph) {		ref = create_pic_12_month(ext_conf, history, subpath);			if (ref && strlen(ref)) {			fprintf(f, "%s", ref);		}	}		table_start(f, _("History"), -11);		fprintf(f,"<TR><TH>&nbsp;</TH><TH colspan=5>%s</TH><TH colspan=5>%s</TH></TR>",		_("Average/day"),		_("Totals")		);	fprintf(f,"<TR><TH>%s</TH>" \		"<TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH>" \		"<TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH>" \		"<TH bgcolor=\"%s\">%s</TH>" \		"<TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH>" \		"<TH bgcolor=\"%s\">%s</TH><TH bgcolor=\"%s\">%s</TH>" \		"<TH bgcolor=\"%s\">%s</TH>" \		"</TR>\n",		_("Month"),		conf->col_hits,		_("Hits"),		conf->col_files,		_("Files"),		conf->col_pages,		_("Pages"),		conf->col_visits,		_("Visits"),		conf->col_xfer,		_("KBytes"),		conf->col_hits,		_("Hits"),		conf->col_files,		_("Files"),		conf->col_pages,		_("Pages"),		conf->col_visits,		_("Visits"),		conf->col_xfer,		_("KBytes")		);		/* go to the last element */	while (l->next) l = l->next;		while (l) {		data_History *data = ((data_History *)l->data);				if (!data) break;				if (data->count != 0) {			fprintf(f,"<TR><TD class=\"centerb\"><A HREF=\"%s\">%s&nbsp;%04i</A></TD>" \				"<TD class=\"tinyr\">%li</TD><TD class=\"tinyr\">%li</TD>" \				"<TD class=\"tinyr\">%li</TD><TD class=\"tinyr\">%li</TD>" \				"<TD class=\"tinyr\">%.0f</TD>" \				"<TD class=\"tinyr\">%li</TD><TD class=\"tinyr\">%li</TD>" \				"<TD class=\"tinyr\">%li</TD><TD class=\"tinyr\">%li</TD>" \				"<TD class=\"tinyr\">%.0f</TD>" \				"</TR>\n",				get_url(ext_conf, data->year, data->month, "000", "000"),				get_month_string(data->month,1),				data->year,							data->hits / data->count,				data->files / data->count,				data->pages/ data->count,				data->visits/ data->count,				data->xfersize / 1024 / data->count,				data->hits,				data->files,				data->pages,				data->visits,				data->xfersize / 1024				);		} else {			fprintf(stderr, "count == 0, is this ok ?? splitby without an entry ??\n");		}		l = l->prev;	}		table_end(f);		file_end_index(f,ext_conf);		fclose(f);		return 0;}

⌨️ 快捷键说明

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