亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? address.cpp

?? 一個國外學生做的基于Web瀏覽器的email程序
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
#include "webemail.h"#include "delete.h"void address() //displays address book{	FILE *address;	FILE *gaddress;	char filename[400];	char gfilename[400];	passwd *info;	char name[100];	char email[100];	char phone[100];	char fax[100];	char address1[100];	char address2[100];	char notes[100];	char ginfo[400];	char curr;	int hasdata=0;	int ghasdata = 0;	int count = 0;	int gcount = 0;	info=getpwnam(globaluser);	snprintf(filename, 400, "%s/.webmail/book", info->pw_dir);	snprintf(gfilename, 400, "%s/.webmail/gbook", info->pw_dir);	address = fopen(filename, "r");	if (address == NULL)	{		cout << "Content-type: text/html" << endl;		cout << "Pragma: No-Cache" << endl << endl;				cout << "<font size=\"+3\">Error opening file!</font><br>";		cout << "Check the suid settings and user directory.<br>";		cout << "To create user directory and other files use <a href=\"" << EMAILPATH << "?wesetup\" TARGET=_top>";		cout << "wesetup</a>.";		return;	}	if (bothlock(address, 'r')!=0)	{		fclose(address);		error("address():Error locking book for read");		return;	}	gaddress = fopen(gfilename, "r");	if (gaddress == NULL)	{		cout << "Content-type: text/html" << endl;		cout << "Pragma: No-Cache" << endl << endl;		cout << "<font size=\"+3\">Error opening file!</font><br>";		cout << "Check the suid settings and user directory.<br>";		cout << "To create user directory and other files use <a href=\"" << EMAILPATH << "?wesetup\" TARGET=_top>";		cout << "wesetup</a>.";		return;	}	if (bothlock(gaddress, 'r')!=0)	{		fclose(address);		fclose(gaddress);		error("address():Error locking gbook for read");		return;	}	cout << "Content-type: text/HTML" << endl;	cout << "Pragma: No-Cache" << endl << endl;	cout << "<html>" << endl;	cout << "<head>" << endl;	cout << "<title>Web E-Mail</title>" << endl;	cout << "<META HTTP-EQUIV=\"expires\" content=\"0\">" << endl;	cout << "</head>" << endl;	cout << "<body text=\"#000000\" bgcolor=\"#FFFFFF\" ";	cout << "link=\"#0000EF\" vlink=\"#0000EF\" alink=\"#FF0000\" background=/email/bg1.gif>" << endl;	header(WEM_Address_Book);	//prints index	for (char inc = 'A'; inc <= 'Z'; inc++)	{		cout << "<a href=\"" << EMAILPATH << "?book#" << inc << "\">" << inc << "</a> ";	}	cout << "<br><a href=\"" << EMAILPATH << "?addtobook\">" << WEM_Add_Entree << "</a>\n";	cout << "&nbsp;<a href=\"" << EMAILPATH << "?gaddtobook\">" << WEM_Add_Group << "</a><p>\n";	//prints colum	for (char inc = 'A'; inc <= 'Z'; inc++)	{		cout << "<a NAME=\"" << inc << "\"></a><font size=+2>" << inc << "</font><br>";		if (address != NULL)		{			while(1) //group addresses			{				if (ghasdata == 0)				{					while (ghasdata == 0)					{						if (fgets(ginfo,399,gaddress)==NULL)							break;						if (ginfo[0] == '-')							ghasdata = 1;					}					if (ghasdata == 0)					break;				}					if (toupper(ginfo[1]) > inc)					break;				if (toupper(ginfo[1]) < inc)					break;				if (ghasdata == 1)				{					ghasdata = 0;					gcount++;					cout << "<table CELLSPACING=0 CELLPADDING=0 WIDTH=\"100%\" NOSAVE>" << endl;					cout << "<tr NOSAVE>" << endl;						cout << "<td WIDTH=\"20%\" BGCOLOR=\"#FF6666\" NOSAVE>" << endl;						cout << "<a href=\"" << EMAILPATH << "?gaddrsend=" << gcount << "\">\n";					removereturn(ginfo+1);					escapeprint(ginfo+1);					cout << "</a></td>" << endl;					cout << "<td BGCOLOR=\"#FFCCCC\" NOSAVE>" << WEM_Group_List << "</td>" << endl;					cout << "<td WIDTH=\"10%\" BGCOLOR=\"#FF6666\" NOSAVE>" << endl;					cout << "<center><a href=\"" << EMAILPATH << "?gaddredit=" << gcount << "\">" << WEM_Edit << "</a></center>\n";					cout << "</td><td WIDTH=\"10%\" BGCOLOR=\"#FF6666\" NOSAVE>" << endl;					cout << "<center><a href=\"" << EMAILPATH << "?gaddrdelete=" << gcount << "\">" << WEM_Delete << "</a></center>\n";					cout << "</td></tr></table>" << endl;				}			}			while(1) //single addresses 			{				if (hasdata == 0)				{					if (fgets(name, 99, address)==NULL)						break;					if (fgets(email, 99, address)==NULL)						break;					if (fgets(phone, 99, address)==NULL)						break;					if (fgets(fax, 99, address)==NULL)						break;					if (fgets(address1, 99, address)==NULL)						break;					if (fgets(address2, 99, address)==NULL)						break;					if (fgets(notes, 99, address)==NULL)						break;					hasdata = 1;					curr = toupper(name[0]);				}				if (toupper(name[0]) > inc)					break;				if (toupper(name[0]) < inc)					break;				if (hasdata == 1)				{					hasdata = 0;					count++;					cout << "<table CELLSPACING=0 CELLPADDING=0 WIDTH=\"100%\" BGCOLOR=\"#FF6666\" NOSAVE >";					cout << "<tr NOSAVE>" << endl;										cout << "<td WIDTH=\"50%\" NOSAVE>";					if (name[0] == '\n')					{						strcpy(name, "&nbsp");						cout << name;					}					else					{						removereturn(name);						escapeprint(name);					}					cout << "</td>";					cout << "<td><a href=\"" << EMAILPATH << "?addrsend=" << count << "\">";					if (email[0] == '\n')					{						strcpy(email, "&nbsp");						cout << email;					}					else					{						removereturn(email);						escapeprint(email); 					}					cout << "</a></td>";					cout << "</tr></table>" << endl;					cout << "<table CELLSPACING=0 CELLPADDING=0 WIDTH=\"100%\" BGCOLOR=\"#FFCCCC\" NOSAVE >";					cout << "<tr NOSAVE>" << endl;					cout << "<td WIDTH=\"10%\" BGCOLOR=\"#FFCC33\" NOSAVE>" << endl;					cout << "<div align=right>" << WEM_Phone << ":</div>" << endl;					cout << "</td>" << endl;										cout << "<td WIDTH=\"40%\" BGCOLOR=\"#FFCC99\" NOSAVE>"; 					if (phone[0] == '\n')					{						strcpy(phone, "&nbsp");						cout << phone;					}					else					{						removereturn(phone);						escapeprint(phone);					}					cout << "</td>" << endl;						cout << "<td WIDTH=\"10%\" BGCOLOR=\"#66FFFF\" NOSAVE>" << endl;					cout << "<div align=right>" << WEM_Address << ":</div>";					cout << "</td>" << endl;										cout << "<td WIDTH=\"40%\" BGCOLOR=\"#CCFFFF\" NOSAVE>";					if (address1[0] == '\n')					{						strcpy(address1, "&nbsp;");						cout << address1;					}					else					{						removereturn(address1);						escapeprint(address1);					}					cout << "</td>" << endl;					cout << "</tr>" << endl;					cout << "<tr NOSAVE>" << endl;					cout << "<td WIDTH=\"10%\" BGCOLOR=\"#FFCC33\" NOSAVE>" << endl;					cout << "<div align=right>" << WEM_Fax << ":</div>" << endl;					cout << "</td>" << endl;										cout << "<td WIDTH=\"40%\" BGCOLOR=\"#FFCC99\" NOSAVE>";					if (fax[0] == '\n')					{						strcpy(fax, "&nbsp;");						cout << fax;					}					else					{						removereturn(fax);						escapeprint(fax);					} 					cout << "</td>" << endl;					cout << "<td WIDTH=\"10%\" BGCOLOR=\"#66FFFF\" NOSAVE>&nbsp;</td>" << endl;										cout << "<td WIDTH=\"40%\" BGCOLOR=\"#CCFFFF\" NOSAVE>"; 					if (address2[0] == '\n')					{						strcpy(address2, "&nbsp;");						cout << address2;					}					else					{						removereturn(address2);						escapeprint(address2);					}					cout << "</td>" << endl;					cout << "</tr></table>" << endl;					cout << "<table CELLSPACING=0 CELLPADDING=0 WIDTH=\"100%\" NOSAVE >" << endl;					cout << "<tr NOSAVE>" << endl;					cout << "<td WIDTH=\"7%\" BGCOLOR=\"#FF9797\" NOSAVE>" << endl;					cout << "<div align=right>" << WEM_Notes << ":</div>";					cout << "</td>" << endl;					cout << "<td BGCOLOR=\"#FFCCCC\" NOSAVE>";					if (notes[0] == '\n')					{						strcpy(notes, "&nbsp;");						cout << notes;					}					else					{						removereturn(notes);						escapeprint(notes);					}					cout << "</td>" << endl;					cout << "<td WIDTH=\"10%\" BGCOLOR=\"#FF9797\" NOSAVE>" << endl;					cout << "<center><a href=\"" << EMAILPATH << "?addredit=" << count << "\">\n";					cout << WEM_Edit <<"</a></center>" << endl;					cout << "</td>" << endl;					cout << "<td WIDTH=\"10%\" BGCOLOR=\"#FF9797\" NOSAVE>" << endl;					cout << "<center><a href=\"" << EMAILPATH << "?addrdelete=" << count << "\">\n";					cout << WEM_Delete << "</a></center>" << endl;					cout << "</td></tr></table>" << endl; 				}			}			}	}	cout << "<br>" << endl;	//prints index	for (char inc = 'A'; inc <= 'Z'; inc++)	{		cout << "<a href=\"" << EMAILPATH << "?book#" << inc << "\">" << inc << "</a> ";	}	cout << "<br><a href=\"" << EMAILPATH << "?addtobook\">" << WEM_Add_Entree << "</a>\n";	cout << "&nbsp;<a href=\"" << EMAILPATH << "?gaddtobook\">" << WEM_Add_Group << "</a><p>\n";	cout << "<br>" << endl;	tail();		cout << "</body>" << endl;	cout << "</html>" << endl;	bothunlock(gaddress);	fclose(gaddress);	bothunlock(address);	fclose(address);	return;}void addaddress(char *fill, int number) //fill is email to fill space{	FILE *book;	char bookname[400];	passwd *info;	char name[400];	char email[400];	char phone[400];	char fax[400];	char add1[400];	char add2[400];	char notes[400];	char buf[500];		if (number > 0) //edit one in address book	{		info=getpwnam(globaluser);		snprintf(bookname, 400, "%s/.webmail/book", info->pw_dir);		book = fopen(bookname, "r");		if (book == NULL)		{			error("addaddress():can't open book for read");			return;		}		if (bothlock(book, 'r')!=0)		{			fclose(book);			error("addaddress():Error locking book for read");			return;		}		for (int i = 0; i<(number-1)*7; i++)		{			if(fgets(buf, 499, book)==NULL)			{				error("addaddress():can't read from book");				return;			}		}		fgets(name, 399, book);		fgets(email, 399, book);		fgets(phone, 399, book);		fgets(fax, 399, book);		fgets(add1, 399, book);		fgets(add2, 399, book);		fgets(notes, 399, book);	}	cout << "Content-type: text/HTML" << endl;	cout << "Pragma: No-Cache" << endl << endl;	cout << "<html>" << endl;	cout << "<head>" << endl;	cout << "<title>Web E-Mail</title>" << endl;	cout << "<META HTTP-EQUIV=\"expires\" content=\"0\">" << endl;	cout << "</head>" << endl;	cout << "<body text=\"#000000\" bgcolor=\"#FFFFFF\" ";	cout << "link=\"#0000EF\" vlink=\"#0000EF\" alink=\"#FF0000\" background=/email/bg1.gif>";	cout << "<b></b>&nbsp;";	if (number > 0)		header(WEM_Edit_Address_Entree);	else		header(WEM_Add_Address_Entree);	if (number > 0)	{		cout << "<form method=\"post\" action=\"" << EMAILPATH << "?addreproc=" << number << "\">";	}	else	{		cout << "<form method=\"post\" action=\"" << EMAILPATH << "?addproc\">";	}	cout << "<table CELLSPACING=0 CELLPADDING=0 WIDTH=\"100%\" NOSAVE>" << endl;	cout << "<tr NOSAVE>" << endl;	cout << "<td NOSAVE>" << endl;	cout << "<div align=right>" << WEM_Name << ":</div>" << endl;	cout << "</td>" << endl;	//name:	if (number > 0)	{		removereturn(name);		cout << "<td><input type=text name=name size=25 value=\"" << name << "\"></td>";	}	else		cout << "<td><input type=text name=name size=25></td>";	cout << "<td>" << endl;	cout << "<div align=right>" << WEM_E_Mail << ":</div>" << endl;	cout << "</td>" << endl;	//email:	if (number > 0)	{		removereturn(email);		cout << "<td><input type=text name=email size=25 value=\"" << email << "\"></td>";	}	else if (number == -2)	{		quotestospace(fill);		commatospace(fill);		cout << "<td><input type=text name=email size=25 value=\"" << fill << "\"></td>";	}	else		cout << "<td><input type=text name=email size=25></td>";	cout << "</tr>" << endl;	cout << "<tr NOSAVE>" << endl;	cout << "<td>" << endl;	cout << "<div align=right>" << WEM_Phone << ":&nbsp;</div>" << endl;	cout << "</td>" << endl;	//phone:	if (number > 0)	{		removereturn(phone);		cout << "<td><input type=text name=phone size=25 value=\"" << phone << "\"></td>";	}	else		cout << "<td><input type=text name=phone size=25></td>";	cout << "<td>" << endl;	cout << "<div align=right>" << WEM_Address_line << " 1:</div>" << endl;	cout << "</td>" << endl;	//addressline1	if (number > 0)	{		removereturn(add1);		cout << "<td NOSAVE><input type=text name=addressline1 size=25 value=\"" << add1 << "\"></td>";	}	else		cout << "<td NOSAVE><input type=text name=addressline1 size=25></td>";	cout << "</tr>" << endl;	cout << "<tr>" << endl;	cout << "<td>" << endl;	cout << "<div align=right>" << WEM_Fax << ":&nbsp;</div>" << endl;	cout << "</td>" << endl;	//fax:	if (number > 0)	{		removereturn(fax);		cout << "<td><input type=text name=fax size=25 value=\"" << fax << "\"></td>";	}	else		cout << "<td><input type=text name=fax size=25></td>";	cout << "<td>" << endl;	cout << "<div align=right>" << WEM_Address_line << " 2:</div>" << endl;	cout << "</td>" << endl;	//address line 2	if (number > 0)	{		removereturn(add2);		cout << "<td><input type=text name=addressline2 size=25 value=\"" << add2 << "\"></td>";	}	else		cout << "<td><input type=text name=addressline2 size=25></td>";	cout << "</tr>" << endl;	cout << "<tr NOSAVE>" << endl;	cout << "<td>" << endl;	cout << "<div align=right>" << WEM_Notes << ":</div>" << endl;	cout << "</td>" << endl;	//notes	if (number > 0)	{		removereturn(notes);		cout << "<td COLSPAN=\"3\" NOSAVE><input type=text name=notes size=50 value=\"" << notes << "\"></td>";	}	else		cout << "<td COLSPAN=\"3\" NOSAVE><input type=text name=notes size=50></td>";	cout << "<td></td>" << endl;	cout << "<td></td>" << endl;	cout << "</tr>" << endl;	cout << "</table>" << endl;	cout << "<input type=Submit value=\"" << WEM_Add_Entree << "\"><input type=reset value=" << WEM_Reset << "></form>";	cout << "<br>" << endl;	tail();		cout << "</body>" << endl;	cout << "</html>" << endl;	if (number >0)	{		bothunlock(book);		fclose(book);	}	return;}void addaddressproc() //process data for addressbook{	char data[4000];	char name[100];	char *pname;	char fax[100];	char *pfax;	char email[100];	char *pemail;	char phone[100];	char *pphone;	char address1[100];	char *paddress1;	char address2[100];	char *paddress2;	char notes[200];	char *pnotes;	passwd *info;	FILE *book;	FILE *tmp;	char filenametmp[200];	char filename[200];	int inserted = 0;	if (fgets(data, 3999, stdin)==NULL)	{		error("addaddressproc():Post Error");		return;	}	pname = finddata(data, "name=", name);	htmldecode(name);	pemail = finddata(data, "email=", email);	htmldecode(email);	pfax = finddata(data, "fax=", fax);	htmldecode(fax);	pphone = finddata(data, "phone=", phone);	htmldecode(phone);	paddress1 = finddata(data, "addressline1=", address1);	htmldecode(address1);	paddress2 = finddata(data, "addressline2=", address2);	htmldecode(address2);	pnotes = finddata(data, "notes=", notes);	htmldecode(notes);	if (isalpha(name[0])==0)	{		address();		return;	} 	info=getpwnam(globaluser);	snprintf(filename, 200, "%s/.webmail/book", info->pw_dir);		snprintf(filenametmp, 200, "%s/.webmail/tmp", info->pw_dir);	book = fopen(filename, "r");	if (book == NULL)	{		error("addaddressproc(): error opening addressbook");		return;	}	if (bothlock(book, 'r')!=0)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人18精品视频| 欧美韩国一区二区| 色婷婷综合久久久| 9久草视频在线视频精品| 懂色av一区二区夜夜嗨| av资源网一区| 日韩久久久精品| 国产日产精品1区| ㊣最新国产の精品bt伙计久久| 色偷偷一区二区三区| 久久色在线视频| 国产拍欧美日韩视频二区| 亚洲成人免费观看| 另类欧美日韩国产在线| 国产盗摄精品一区二区三区在线 | 欧美日本在线观看| 9191国产精品| 久久蜜桃香蕉精品一区二区三区| 国产欧美1区2区3区| 秋霞av亚洲一区二区三| 国产91精品久久久久久久网曝门| 91精品免费在线| 亚洲成人免费观看| 欧美日韩视频在线第一区 | 国产69精品久久777的优势| 在线播放视频一区| 国产人久久人人人人爽| 久久精品国内一区二区三区| 欧美一区在线视频| 国产精品女同互慰在线看| 偷拍一区二区三区| 国产精品77777| 欧美色手机在线观看| 夜夜爽夜夜爽精品视频| 麻豆精品一区二区三区| 色呦呦一区二区三区| 亚洲视频一区二区在线观看| 久久99久久99小草精品免视看| 成人中文字幕合集| 7777女厕盗摄久久久| 日韩在线卡一卡二| 色天使色偷偷av一区二区| 亚洲精品乱码久久久久久久久| 极品少妇一区二区| 久久久99精品免费观看| 男女性色大片免费观看一区二区| 欧美一区二区视频观看视频| 久久99深爱久久99精品| 国产精品免费视频网站| 成人精品高清在线| 亚洲女爱视频在线| 国产宾馆实践打屁股91| 中文在线免费一区三区高中清不卡| 成人av第一页| 亚洲一区二区三区影院| 91小视频在线| 国产精品伦理一区二区| 在线免费不卡视频| 中文字幕在线观看一区| 在线观看亚洲专区| 青青青伊人色综合久久| 日本一区二区三区视频视频| 91玉足脚交白嫩脚丫在线播放| 性久久久久久久久| 精品精品国产高清一毛片一天堂| 日本亚洲视频在线| 777奇米成人网| 国产精品中文字幕一区二区三区| 亚洲欧洲国产日本综合| 欧美精品电影在线播放| 国产99久久久国产精品免费看| 亚洲综合在线观看视频| 精品国产网站在线观看| 色综合久久久久久久久| 六月丁香婷婷色狠狠久久| 国产精品久久久久精k8| 91美女视频网站| 美日韩一区二区| 成人免费在线视频| 精品国产乱码久久久久久夜甘婷婷| av电影在线不卡| 韩国欧美一区二区| 欧美激情一区三区| 欧美高清视频一二三区 | 91麻豆国产香蕉久久精品| 日韩高清欧美激情| 亚洲视频综合在线| 国产亚洲欧美日韩在线一区| 欧美卡1卡2卡| 日本高清视频一区二区| 亚洲成av人影院| 中文字幕综合网| 久久久精品tv| 精品国产a毛片| 欧美男生操女生| 日本乱人伦一区| 99久久精品一区| 亚洲v日本v欧美v久久精品| 国产亲近乱来精品视频| 精品国产sm最大网站免费看| 91精品午夜视频| 色就色 综合激情| 99久久精品免费看| 成人在线综合网| 国产成人av一区二区三区在线 | 欧美日本一区二区三区四区| 色综合色狠狠综合色| 国产精品123区| 国产精品一级黄| 国产精品夜夜爽| 国产精品资源网| 国产电影一区二区三区| 国产一区二区精品在线观看| 一区二区三区四区视频精品免费| 国产精品久久看| 亚洲国产精品av| 成人欧美一区二区三区白人| 国产精品二三区| 亚洲免费av观看| 亚洲午夜久久久久久久久电影网 | 国产欧美一区二区精品忘忧草| 精品国产一区二区三区久久久蜜月| 欧美精品日韩一本| 91精品国产高清一区二区三区 | 麻豆专区一区二区三区四区五区| 日韩一区欧美二区| 麻豆视频观看网址久久| 国产一区二区在线观看免费| 国产精品亚洲第一区在线暖暖韩国| 国产精品99久久久| 成人国产精品免费观看动漫| 91色.com| 欧美精品成人一区二区三区四区| 日韩一区二区在线免费观看| av毛片久久久久**hd| 91福利在线看| 日韩视频在线一区二区| 久久综合九色综合97婷婷女人| 国产午夜精品久久久久久久| 亚洲乱码国产乱码精品精可以看| 午夜一区二区三区视频| 日本不卡视频一二三区| 成人精品高清在线| 欧美蜜桃一区二区三区 | 在线观看网站黄不卡| 91精品久久久久久久91蜜桃| 国产亚洲精品超碰| 亚洲午夜激情网页| 国产一区二区三区久久久| 91在线视频网址| 欧美一区二区三区性视频| 国产精品美女一区二区三区| 亚洲第一电影网| 成人黄色免费短视频| 9191国产精品| 国产精品电影一区二区| 奇米在线7777在线精品| 7777精品伊人久久久大香线蕉完整版 | 在线免费av一区| 精品国精品国产| 一区二区三区国产精品| 国产美女娇喘av呻吟久久| 在线一区二区视频| 久久先锋影音av| 五月婷婷另类国产| jvid福利写真一区二区三区| 欧美一级二级三级蜜桃| 亚洲激情在线激情| 国产91精品免费| 26uuu亚洲| 日本亚洲三级在线| 欧美伊人久久大香线蕉综合69 | 免费国产亚洲视频| 日本乱码高清不卡字幕| 国产欧美精品区一区二区三区| 日韩影院在线观看| 在线亚洲一区二区| 国产欧美日韩不卡免费| 久久精品国产秦先生| 欧美日韩一区二区在线观看 | 一区二区三区四区不卡在线| 国产乱人伦精品一区二区在线观看 | 日韩av一区二区在线影视| 99热国产精品| 国产欧美一区二区精品仙草咪| 久久黄色级2电影| 欧美一区二区三区爱爱| 亚洲sss视频在线视频| 91色porny在线视频| 亚洲特级片在线| av不卡免费在线观看| 国产欧美综合在线观看第十页| 精品一区二区三区视频| 日韩西西人体444www| 日韩av一区二区在线影视| 欧美日韩国产首页在线观看| 亚洲一二三四区| 欧美日韩免费观看一区三区| 亚洲成精国产精品女| 欧美另类一区二区三区|