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

📄 gmail.js

📁 ajax source code .
💻 JS
字号:
App.Modules.Gmail = function(obj){
	var data = obj.dataObj.data;
	var localData = new Object();
	var el = obj.elm_moduleContent;
	
	this.edit = function() {
		var editContent = obj.elm_editContent;
		
		var form = document.createElement("form");
		form.onsubmit = ajaxCall;
			
		function ajaxCall() {
			obj.dataObj.title = App.Loc.defaultGmail_title;
			obj.elm_title.innerHTML = App.Loc.defaultGmail_title + " : " + App.Loc.loading;
			
			var param = "url="+escape("https://"+encodeURIComponent(input1.value)+":"+encodeURIComponent(input2.value)+"@mail.google.com/mail/feed/atom");
			Request.sendPOST('securePassProxy.php.xml', param, displayEmailsCheck);
			
			return false;
		}
		
		var content = '<table cellpadding="0" cellspacing="0">'+
					'<tr>'+
						'<td><span class="formLabel">Login :</span></td>'+
						'<td><input type="text" class="inputClean" accesskey="t" maxlength="150" value="'+((data.login) ? data.login : '')+'" style="width:75px"/></td>'+
						'<td></td>'+
					'</tr>'+
					'<tr>'+
						'<td><span class="formLabel">Password :</span></td>'+
						'<td><input type="password" class="inputClean" accesskey="t" maxlength="150" style="width:75px"/></td>'+
						'<td><input type="submit" value="'+App.Loc.editSave+'" class="buttonClean"/></td>'+
					'</tr>'+
				'</table>';
		form.innerHTML = content;
		editContent.appendChild(form);
		
		var tr1 = form.firstChild.firstChild.childNodes[0];
		var tr2 = form.firstChild.firstChild.childNodes[1];
		var input1 = tr1.childNodes[1].firstChild;
		var input2 = tr2.childNodes[1].firstChild;
		
		function displayEmailsCheck(response) {
			if (response.responseText != "") {
				data.login = input1.value;
				data.pass = input2.value;
				obj.save();
			}
			displayEmails(response);
		}
	}
	
	
	function displayItems(sum) {		
		var listNode = el.firstChild.nextSibling;
		var content = '<div style="font-family:Tahoma;padding:3px;">';
		for (var z=0; z<data.nbTitles; z++) {
			var title = localData.items[z].getElementsByTagName("title")[0];
			var link = localData.items[z].getElementsByTagName("link")[0].getAttribute("href");
			var name = localData.items[z].getElementsByTagName("name")[0];
			var summary = localData.items[z].getElementsByTagName("summary")[0];
			
			title = (title.firstChild) ? title.firstChild.nodeValue : '';
			
			content += '<div class="emailEntry">'+
						'<div class="emailEntryTop">'+
							'<a href="'+link+'" target="_blank">'+name.firstChild.nodeValue+' - <span class="emailTitle">'+title+'</span></a>'+
							((sum) ? ('<div class="emailSummary">'+summary.firstChild.nodeValue+'</div>') : '')+
						'</div>'+
					'</div>';
		}
		content += '</div>';
		listNode.innerHTML = content;
	}
	
	function displayEmails(response) {		
		obj.elm_title.innerHTML = App.Loc.defaultGmail_title;
		
		if (response.responseText == "") {
			el.innerHTML = '<table cellpadding="0" cellspacing="0" width="100%"><tr><td width="20"><img src="modules/gmail/img/gmail.gif" width="20" height="15"/></td><td style="padding-left:5px">'+App.Loc.Gmail_badAccount+'</td></tr></table>';
		} else {
			localData.items = response.responseXML.getElementsByTagName("entry");
			var fullcount = response.responseXML.getElementsByTagName("fullcount")[0].firstChild.nodeValue;
			
			if (localData.items.length>0) {
				data.nbTitles=6;
				data.nbTitles = (localData.items.length>data.nbTitles) ? data.nbTitles : localData.items.length;
				var titleName = response.responseXML.getElementsByTagName("title")[0].firstChild.nodeValue;
				titleName = titleName.substring(7, titleName.length);
				var headerContent = '<table cellpadding="0" cellspacing="0" class="emailHeader" style="margin:2px 0 5px 6px;"><tr>'+
							'<td width="20"><img src="modules/gmail/img/gmail.gif" width="20" height="15"/></td>'+
							'<td style="font-weight:bold;padding-left:5px">'+titleName + '<span style="color:#36C"> ('+fullcount+')</span></td>'+
							'<td class="emailCheckbox"><input type="checkbox"/></td>'+
							'</tr></table><div></div>';
				el.innerHTML = headerContent;
				
				var isSum = (data.sum==0 || !data.sum) ? false : true;
				displayItems(isSum);
				var checkInput = el.firstChild.firstChild.firstChild.childNodes[2].firstChild;
				checkInput.checked = isSum;
				
				checkInput.onclick = function() {
					data.sum = ((this.checked) ? 1 : 0);
					obj.save();
					displayItems(this.checked);
				}
				
			} else {
				el.innerHTML = '<table cellpadding="0" cellspacing="0" width="100%"><tr><td width="20"><img src="modules/gmail/img/gmail.gif" width="20" height="15"/></td><td style="padding-left:5px">'+App.Loc.Gmail_noUnread+'</td></tr></table>';
			}
		}
		
		obj.onLoadModule();
	}

	function displayDefault() {
		el.innerHTML = '<table cellpadding="0" cellspacing="0" width="100%"><tr><td width="20"><img src="modules/gmail/img/gmail.gif" width="20" height="15"/></td><td style="padding-left:5px">'+App.Loc.Gmail_notConfigured+'</td></tr></table>';
		obj.onLoadModule();
	}
	
	
	if (data.login==null) {
		displayDefault();
	} else {
		
		var param = "getPass=1&login="+data.login+"&moduleId="+obj.dataObj.id;
		Request.sendPOST('securePassProxy.php', param, displayEmails);
		
		/*
		pour gérer les labels, ajouter son nom à la fin de l'url :
		https://login:password@mail.google.com/mail/feed/atom/label
		
		URL pour aller directement dans le compte gmail : marche en get mais à tester en POST
		https://www.google.com/accounts/ServiceLoginAuth?Email=login&Passwd=password&service=mail&rm=false&continue=http://mail.google.com/mail/?ui=html&amp;zy=l
		*/
	}

}

⌨️ 快捷键说明

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