....................................../////.===Hehe-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 159.198.67.129  /  Your IP : 216.73.216.244
Web Server : LiteSpeed
System : Linux server166.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User : trooaisr ( 4033)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/softaculous/sitepad/editor/site-data/plugins/gosmtp/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/softaculous/sitepad/editor/site-data/plugins/gosmtp/js/admin.js
jQuery(document).ready(function(){

	// Tabs Handler
	var tabs = jQuery('.gosmtp-wrapper').find('.nav-tab');
	var tabsPanel = jQuery('.tabs-wrapper').find('.gosmtp-tab-panel');

	function gosmtp_load_tab(event){ 

		var hash  = window.location.hash;

		// No action needed when there is know hash value 
		if(!hash){
			return;
		}

		// Scroll top if tabs is not visible
		jQuery("html, body").animate({ scrollTop: 0 }, "fast");

		// Select elements
		jEle = jQuery(".nav-tab-wrapper").find("[href='" + hash + "']"); 

		if(jEle.length < 1){
			return;
		}
		
		// Remove active tab
		tabs.removeClass('nav-tab-active');
		tabsPanel.hide();
		
		// Make tab active
		jEle.addClass('nav-tab-active');
		jQuery('.tabs-wrapper').find(hash).show();
	
		if(hash == '#gosmtp-connections-settings'){
			return;
		}

		// Modify and update current URL
		gosmtp_update_uri(hash);
	}

	// Load function when hash value change
	jQuery( window ).on( 'hashchange', gosmtp_load_tab);

	// For First load
	gosmtp_load_tab();

	tabs.click(function(e){
		if(jQuery(this).hasClass("nav-tab-active")){
			e.preventDefault();
		}
		
		// Hide edit connection form
		if(jQuery('.gosmtp-new-conn-wrap').css('display') == 'block'){
			jQuery('#gosmtp-back-trigger').click();
		}

	});

	// Auth show and hide Handler
	var smtpAuth = jQuery('input[name="smtp[smtp_auth]"]');

	smtpAuth.on('click', function(){
		var val = jQuery(this).attr('value');

		if(val == 'Yes'){
			jQuery('.smtp-authentication').show();
		}else{
			jQuery('.smtp-authentication').hide();
		}
	});

	// Mailer active effert
	jQuery('.gosmtp-mailer-input').not('.pro').click( function(){
		
		var parent = jQuery(this).closest('.gosmtp-tab-panel');
		var jEle = jQuery(this);
		
		// Set active mailer
		parent.find('.gosmtp-mailer-input').find('.mailer_label').removeClass('mail_active');
		jEle.find('.mailer_label').addClass('mail_active');

		// Taggle mailer tabs
		parent.find('tr').hide(); 
		parent.find('.always_active').closest('tr').show();

		// Show active tab
		attr_name = parent.find('.mail_active').attr('data-name');

		parent.find('.'+attr_name).closest("tr").show();

		jEle.find('[name="mailer"]').prop('checked', true);

		// For On load set
		if(attr_name =='smtp'){
			parent.find('input[name="smtp[smtp_auth]"][checked="checked"]').click();
		}

	});

	//Handle checkbox events
	// TODO: check
	jQuery('body').on('click','.gosmtp-multi-check, .gosmtp-checkbox', function(e){
		e.stopPropagation();

		$this = jQuery(this);
		var parent = $this.parent().parent().parent();
		var checkedCount = jQuery('td input[type="checkbox"]:checked').length;
		var total = jQuery('td input[type="checkbox"]').length;
		var prop = false;
		var clas = '';
    
		if($this.hasClass('gosmtp-multi-check')){
			clas = 'td input[type="checkbox"]';
			prop = $this.prop('checked') == true ? true : false;
		}else{
			prop = checkedCount == total ? true : false;
			clas = '.gosmtp-multi-check';
		}
    
		parent.find(clas).prop('checked',prop);
		
		checkedCount = jQuery('td input[type="checkbox"]:checked').length;
		if(checkedCount > 0){
			jQuery('.gosmtp-log-options').css('display','flex');
		}else{
			jQuery('.gosmtp-log-options').css('display','none');
		}
		
	});

	jQuery('body').on('click','#gosmtp-table-opt-btn',function(){
		var option = jQuery('#gosmtp-table-options').val();
		var ids = [];
    
		jQuery('#gosmtp-logs-table').find('td input[type=checkbox]:checked').each(function(){
			ids.push(jQuery(this).val());
		})

		if(ids.length == 0){
			alert('Invalid selection!');
			return;
		}

		var action = option == 'delete' ? 'gosmtp_delete_log' : '';
		
		if(action == ''){
			alert('Invalid option!');
			return;
		}

		jQuery.ajax({
			url:gosmtp_ajaxurl + 'action='+action,
			dataType : 'JSON',
			type : 'post',
			data: {
				id:ids,
				gosmtp_nonce: gosmtp_ajax_nonce
			},
			success:function(data){
				if( data.response !=undefined ){
					alert(data.response);
				}else{
					alert('Someting went wrong !');
				}
				
				window.location.reload();
			},
			error:function(){
				alert('Someting went wrong !');
			}
		});
	});
  
	// Send Test Mail
	jQuery('body').on('submit', '#smtp-test-mail', function(e){

		e.preventDefault();
		var $this = jQuery(this);
		var formData = new FormData( jQuery(this)[0] );
		formData.append('gosmtp_nonce', gosmtp_ajax_nonce);

		jQuery.ajax({
			url: gosmtp_ajaxurl + 'action=gosmtp_test_mail',
			data: formData,
			type: 'POST',
			processData: false,
			contentType: false,
			cache: false,
			beforeSend: function(){
				gosmtp_loader('show');
				jQuery('#send_mail').attr('type', 'button');
				var btnhtml = `<i class="dashicons dashicons-update-alt"></i>&nbsp;Sending&nbsp;`;
				$this.find('#send_mail').html(btnhtml);
			},
			success: function( res ){
				gosmtp_loader('hide');
				$this.find('#send_mail').html('Send Mail');
				jQuery('#send_mail').attr('type', 'submit');
				res = gosmtp_isJSON(res);
				
				if(!res){
					alert('Someting went wrong !');
					return false;
				}

				if( res.error != undefined){
					alert(res.error);
					return false;
				}
				
				alert('Mail sent successfully!');
				window.location.reload();
			},
			error: function(){
				gosmtp_loader('hide');
				alert('Mail not sent!');
				jQuery('#send_mail').attr('type','submit');
				$this.find('#send_mail').html('Send Mail');
			}
		});
	});

	jQuery('.gosmtp-mailer-input').find('.mail_active').closest('.gosmtp-mailer-input').click();
	
	// Handle reload and retry events
	jQuery('body').on('click', '.gosmtp-resend, .gosmtp-retry, .gosmtp-pupup-retry, .gosmtp-pupup-resend', function(e){
		e.stopPropagation();

		var $this = jQuery(this);
		var isDialog = $this.hasClass('gosmtp-pupup-resend') || $this.hasClass('gosmtp-pupup-retry') ? true : false;
		var mail_id = jQuery(this).attr('data-id') != undefined ? jQuery(this).attr('data-id') : '';
		var operation = jQuery(this).hasClass('gosmtp-resend') == true ? 'resend' : 'retry';
		var className = '';
    
		jQuery.ajax({
			url:gosmtp_ajaxurl + 'action=gosmtp_resend_mail',
			dataType : 'JSON',
			type : 'post',
			data: {
				id:mail_id,
				gosmtp_nonce: gosmtp_ajax_nonce,
				operation: operation
			},
			beforeSend:function(){
				gosmtp_loader('show');
				$this.addClass('gosmtp-resend-process');
			},
			success:function( res ){
				gosmtp_loader('hide');

				if(isDialog){
					className = $this.hasClass('gosmtp-pupup-retry') ? 'gosmtp-pupup-retry' : 'gosmtp-pupup-resend';
				}else{
					className = $this.hasClass('gosmtp-pupup-retry') ? 'gosmtp-pupup-retry' : 'gosmtp-pupup-resend';
				}
				
				var dialog_icon = "";

				$this.removeClass(className);
				$this.removeClass('gosmtp-resend-process');
				
				if(res.error != undefined){
					$this.html('<i class="dashicons dashicons-update-alt"></i><span>Retry</span>');
					$this.addClass('gosmtp-retry');
					dialog_icon = '<i class="failed dashicons dashicons-warning"></i>';
					alert( res.error );
				}else{
					$this.html('<i class="dashicons dashicons-image-rotate"></i><span>Resend</span>');
					dialog_icon = '<i class="sent dashicons dashicons-yes-alt"></i>';
					$this.addClass('gosmtp-resend');
					alert( res.response );
				}
				
				if(isDialog){
					jQuery('.gosmtp-dialog-header').find('.gosmtp-status-icon').html(dialog_icon);
				}

				window.location.reload();

			},
			error:function(){
				gosmtp_loader('hide');
				alert('Someting went wrong !');
			}
		});
	});
	
	// Handle delete events
	jQuery('body').on('click','.gosmtp-mail-delete',function(e){
		e.stopPropagation();

		var mail_id = jQuery(this).attr('data-id') != undefined ? jQuery(this).attr('data-id') : '';
		var parent = jQuery(this).parent().parent();
		jQuery.ajax({
			url:gosmtp_ajaxurl + 'action=gosmtp_delete_log',
			dataType : 'JSON',
			type : 'post',
			data: {
				id:mail_id,
				gosmtp_nonce: gosmtp_ajax_nonce
			},
			success:function(data){
				if( data.response !=undefined ){
					alert(data.response);
					window.location.reload();
				}else{
					alert('Someting went wrong !');
				}
			},
			error:function(){
				alert('Someting went wrong !');
			}
		});
	});

	// GoSMTP mail info popup
	jQuery('body').on('click','.gosmtp-mail-details', function(){

		var dialog = jQuery('#gosmtp-logs-dialog');
		
		var dialog_icon = dialog.find('.gosmtp-dialog-header').find('.gosmtp-status-icon');
		var mail_id = jQuery(this).attr('data-id') != undefined ? jQuery(this).attr('data-id') : '';

		jQuery.ajax({
			url : gosmtp_ajaxurl + 'action=gosmtp_get_log',
			dataType : 'JSON',
			type : 'post',
			data: {
				'gosmtp_nonce' : gosmtp_ajax_nonce,
				id: mail_id
			},
			beforeSend : function(){
				gosmtp_loader('show');
			},
			success : function( res ){				
				if(res.response.data != undefined){
					var resp = res.response.data;
					var headers = resp.headers != undefined ? resp.headers : '';
					var headers_ = '{}';
					
          if(typeof headers == 'object' && Object.keys(headers).length > 0){
						headers_ = JSON.stringify(headers, null, 3);
					}
          
					dialog.find('.gosmtp-log-headers').html('<pre>'+headers_+'</pre>');

					var attachments = resp.attachments != undefined ? resp.attachments : '';
					var attachments_count = 0;
					var attachments_ = '{}';
          
					if(typeof attachments == 'object' && Object.keys(attachments).length > 0){
						attachments_ = JSON.stringify(attachments, null, 3);
						attachments_count = attachments.length;
					}
          
					dialog.find('.gosmtp-log-attachments').html('<pre>'+attachments_+'</pre>');
					dialog.find('.gosmtp-attachment-count').text('('+attachments_count+')');

					var response = resp.response != undefined ? resp.response : '';
					if(typeof response == 'object' && Object.keys(response).length > 0){
						response = JSON.stringify(response, null, 3);
					}
					dialog.find('.gosmtp-log-response').html('<pre>'+response+'</pre>');

					var to = resp.to != undefined ? resp.to : 'NA';
					dialog.find('.gosmtp-message-tos').text(to);

					var from = resp.from != undefined ? resp.from : 'NA';
					dialog.find('.gosmtp-message-from').text(from);

					var subject = resp.subject != undefined ? resp.subject : 'NA';
					dialog.find('.gosmtp-message-subject').text(subject);

					var created = resp.created != undefined ? resp.created : 'NA';
					dialog.find('.gosmtp-message-created').text(created);

					var provider = resp.provider != undefined ? resp.provider : 'NA';
					dialog.find('.gosmtp-message-mailer').text(provider);
                    
					var source = resp.source != undefined ? resp.source : 'NA';
					dialog.find('.gosmtp-message-mailer').text(provider+' / '+source);
					
					var body = resp.body != undefined ? resp.body : 'NA';
					dialog.find('.gosmtp-message-body').html(body);

					var forward_html = '';
          
					if(resp.status != undefined){
						var status = resp.status;
						var icon = '<i class="'+(status.toLowerCase())+' dashicons '+(status == 'Sent' ? 'dashicons-yes-alt' : 'dashicons-warning')+'"></i>';
						dialog_icon.html(icon);
						var resend_retry = status == 'Sent' ? 'Resend' : 'Retry';
						var rr_html = `<button type="button" data-id="`+mail_id+`" class="gosmtp-pupup-`+resend_retry.toLowerCase()+`">
							<i class="dashicons `+( resend_retry == 'Retry' ? 'dashicons-update-alt' : 'dashicons-image-rotate' )+`"></i>
							<span>`+resend_retry+`</span>
						</button>`;
						jQuery('.gosmtp-dialog-actions').html(rr_html);
						forward_html = `<button type="button" data-id="`+mail_id+`" class="gosmtp-pupup-forward">
							<i class="dashicons dashicons-share-alt2"></i>
							<span>Forward</span>
						</button>`;
					}
          
					jQuery('.gosmtp-forward-dialog').html(forward_html);
				}
				jQuery('body').css('overflow','hidden');
				gosmtp_loader('hide');
				dialog.fadeIn();
			},
			error:function(){
				gosmtp_loader('hide');
				alert('Someting went wrong !');
			}
		});
	});
	
	// GoSMTP export files
	jQuery('body').on('submit','#gosmtp_export', function(e){
		e.preventDefault();
		
		var formData = new FormData(this);
		
		// Append the nonce
		formData.append('gosmtp_nonce', gosmtp_ajax_nonce);
		
		var format = formData.get('format');
		
		jQuery.ajax({
			url: gosmtp_ajaxurl + 'action=gosmtp_export_data',
			type: "POST",
			data: formData,
			processData: false,
			contentType: false,
			cache:false,
			xhrFields: {
				responseType: 'blob'
			},
			beforeSend : function(){
				jQuery('.dashicons-image-rotate').show();
			},
			success: function(data, status, xhr){
				
				// Response in blob type due to this we get error form headers
				if(typeof data == 'string'){
					error = xhr.getResponseHeader('x-error');
					res = gosmtp_isJSON(error);
				   
					if( res.error != undefined){
						alert(res.error);
					}
					return false;
				}

				// Create a new date object for the current date
				const currentDate = new Date();
				const day = String(currentDate.getDate()).padStart(2, '0');
				const month = String(currentDate.getMonth() + 1).padStart(2, '0');
				const year = currentDate.getFullYear();
				const formattedDate = `${year}_${month}_${day}`;
				
				// Download zip for eml formate
				if(format == 'eml'){
					format = 'zip';
				}				
				
				// Create link for download files
				var a = document.createElement('a');
				var url = window.URL.createObjectURL(data);
				a.href = url;
				a.download = 'GoSMTP_email_export_'+formattedDate+'.'+format;
				a.click();
				window.URL.revokeObjectURL(url);
			},
			complete: function(res){
				jQuery('.dashicons-image-rotate').hide(300);
			}
		});
	});

	// GoSMTP forward email
	jQuery('body').on('submit','#gosmtp-forward-form', function(e){
		e.preventDefault();
		e.stopPropagation();

		jQuery('body').css('overflow','hidden');

		var recipient_email = jQuery('.gosmtp-recipient-email').val();
		var dialog = jQuery('#gosmtp-forward-dialog');
		var id = jQuery('.forward-mail').attr('data-id');
		jQuery.ajax({
			url:gosmtp_ajaxurl + 'action=gosmtp_resend_mail',
			dataType : 'JSON',
			type : 'post',
			data: {
				id:id,
				gosmtp_nonce: gosmtp_ajax_nonce,
				recipient_email: recipient_email
			},
			beforeSend:function(){
				gosmtp_loader('show');
				jQuery(this).addClass('gosmtp-resend-process');
			},
			success:function( res ){
				gosmtp_loader('hide');
				
				if(res.error != undefined){
					alert( res.error );
				}else{
					alert( res.response );
				}

				window.location.reload();

			},
			error:function(){
				gosmtp_loader('hide');
				alert('Someting went wrong !');
			}
		
		});
	});
	
	// GoSMTP test mail popup
	jQuery('body').on('click','#gosmtp-testmail-btn', function(){
		jQuery('body').css('overflow','hidden');
		var dialog = jQuery('#gosmtp-testmail-dialog');
		dialog.fadeIn();
	});

	// GoSMTP forward email popup
	jQuery('body').on('click','.gosmtp-forward, .gosmtp-pupup-forward', function(e){
		e.stopPropagation();

		jQuery('body').css('overflow','hidden');
		var dialog = jQuery('#gosmtp-forward-dialog');
		var id = jQuery(this).attr('data-id');
		jQuery('.forward-mail').attr('data-id',id);
		dialog.fadeIn();
	});

	jQuery('.gosmtp-dialog,.gosmtp-dialog-close,.cancel-button').on('click',function(e){
		if(e.currentTarget.classList[0] == 'gosmtp-dialog-close' || e.target.classList[0] == 'gosmtp-dialog' || e.target.classList[1] == 'cancel-button'){
			jQuery(this).closest('.gosmtp-dialog').fadeOut();
			jQuery('body').css('overflow','auto');
		}
	});

	// GoSMTP accordion
	jQuery('.gosmtp-accordion-header').on('click',function(e){
		jQuery(this).parent().toggleClass("gosmtp-accordion-open")
		jQuery(this).parent().find('.gosmtp-accordion-content').slideToggle();
	});
	
	// Scrolling event on mailer click
	jQuery('body').on('click', '.mailer', function(e){
		var mailer_container = jQuery(this).closest('tr');
		jQuery(mailer_container).get(0).scrollIntoView({behavior: "smooth", inline: "nearest"});
	});
  
  	// Show or hide logger settings
	jQuery('body').on('change', '#enable_logs', function(e){
		
		if(jQuery(this).prop('checked')){
			jQuery('.gosmtp-logs-options').show();
			return;
		}
		
		jQuery('.gosmtp-logs-options').hide();
	});
	
	jQuery('#enable_logs:checked').trigger('change');
	
	// Report page handler
	gosmtp_report_handler();

	// For active radio label for format type
	jQuery('body').on('change', '.gosmtp-radio-list input[type="radio"]', function(e){
		
		var lable = jQuery(this).next('label');
		var cEle = jQuery('#custom-field');
		var cActive = jQuery('.active_radio_tab').attr('for');
    
		if(cActive == 'csv' || cActive == 'xls'){
			sessionStorage.setItem('gosmtp_export_custom_fields', cEle.prop('checked'));
		}else{
			var checked_val = sessionStorage.getItem('gosmtp_export_custom_fields');
			
			if(checked_val != 'true'){	
				cEle.prop('checked', false);
			}else{
				cEle.prop('checked', true);
			}
		}
		
		jQuery('.gosmtp-radio-list label').removeClass('active_radio_tab');
		lable.addClass('active_radio_tab');
		cEle.attr('disabled', false);
		
		if(lable.attr('for') == 'eml' ){
			cEle.prop('checked', false);
			cEle.attr('disabled', true);
		}
		
		cEle.trigger('change');

	});
	
	// Show custom fields default
	jQuery('.gosmtp-radio-list input[type="radio"]:checked').trigger('change');

	// For active radio label
	jQuery('body').on('change', '#custom-field', function(e){
		
		jQuery(this).addClass('active_radio_tab');
		
		if(jQuery(this).prop('checked')){
			jQuery('.can-hidden').slideDown(200);
			return;
		}
		
		jQuery('.can-hidden').slideUp(200);		
	});
	
	// For weekdays checkbox
	jQuery('body').on('change', '#enable_weekly_reports', function(e){
		
		if(jQuery(this).prop('checked')){
			jQuery('.form-table #gosmtp-week-list').show();
			return;
		}
		
		jQuery('.form-table #gosmtp-week-list').hide();
	});
	
	jQuery('#enable_weekly_reports:checked').trigger('change');
	
	jQuery('body').on('click', '#gosmtp-new-conn, #gosmtp-new-conn-link', function(e){

		var wrap = jQuery('.gosmtp-new-conn-wrap');
		var form = wrap.find('form');
		
		jQuery('#gosmtp-connections-settings').addClass('gosmtp-new-conn-open');

		// Reset form
		if(form.length > 0){
			
			// Reset textboxs except `.gosmtp_copy`
			form.find('input[type=text], input[type=password]').each(function(){
				if(jQuery(this).hasClass('gosmtp_copy')){
					return;
				}

				jQuery(this).val('');
			});

			form.find('input[type=text], input[type=password]').removeAttr('readonly');

			// Reset checkboxes
			form.find('input[type=checkbox]:checked,input[type=radio]:checked').removeAttr('checked');

			// Reset dropdowns
			form.find('select option:selected').removeAttr('selected');

			// Reset auth links
			form.find('[data-field=auth]').removeAttr('href').removeClass('button').text('You need to save settings with Client ID and Client Secret before you can proceed.');

		}
		
		// Reset mailer
		wrap.find('.mailer_check')[0].click();

		// Remove connection id if exists
		wrap.find('[name="conn_id"]').remove();

		// Modify and update current URL
		gosmtp_update_uri('#gosmtp-connections-settings');
		
	});

	jQuery('body').on('click', '#gosmtp-back-trigger', function(e){
		
		var parent = jQuery('#gosmtp-connections-settings');
		parent.removeClass('gosmtp-new-conn-open gosmtp-edit-conn-open');

		// Modify and update current URL
		gosmtp_update_uri('#gosmtp-connections-settings');

	});

	jQuery('body').on('click', '.gosmtp-delete-conn',function(e){

		var resp = confirm('Do you want to continue?');
		if(!resp){		
			e.preventDefault();
		}
		
	});
	
	// Toggling the test message input
	if(jQuery('.gosmtp-test-html-template').length){
		jQuery('.gosmtp-test-html-template').on('change', function(){
			if(jQuery(this).is(':checked')){
				jQuery('.gosmtp-test-message').hide();
			} else{
				jQuery('.gosmtp-test-message').show();
			}
		});
	}
});

function gosmtp_isJSON(str) {
	try {
		var obj = JSON.parse(str);
		return obj;
	} catch (e) {
		return false;
	}
}

function gosmtp_copy_url(id){

	var copyText = jQuery("#" +id);
	var copyMessage = jQuery("." +id);

	// Select the text field
	copyText.select();
	
	// Show Message after Coppied
	copyMessage.slideDown(500);
	
	// Copy the text inside the text field
	navigator.clipboard.writeText(copyText.val());
	
	// Hide Message after 3 second
	setTimeout(function(){
		copyMessage.slideUp(500);
	}, 3000);

}

function gosmtp_loader(option = ''){
	var config = option == 'show' ? 'flex' : 'none';
	jQuery('.gosmtp-loader').css('display', config)
}

// Insert data id to checkbox and find active filter from url.
function gosmtp_report_handler(){
		
	// Date filter for email report
	jQuery('#gosmtp-date-option-filter').change(function(){
		
		var dEle = jQuery('.gosmtp-report-date-container, #gosmtp-filter-date');
		
		if(jQuery(this).val() == 'custom_date'){
			dEle.show(300);
			return;
		}
		
		dEle.hide(300);	
	});

	// Multi select Toggele event
	jQuery('.gosmtp-fiter-container .multiselect, .gosmtp-fiter-container .dropdown').click(function(e){
		
		var target = jQuery(e.target);
		var container = jQuery(this).closest('.gosmtp-fiter-container');
		
		if(target.hasClass( 'multiselect' ) || target.hasClass( 'dropdown' )){
			var cEle = jQuery('.gosmtp-fiter-container').not(container);

			// Slide Up all dropdowns
			cEle.css("z-index", "");
			cEle.find('ul').slideUp();
			cEle.find('.dropdown').removeClass('dashicons-arrow-up-alt2');
			cEle.find('.dropdown').addClass('dashicons-arrow-down-alt2');
			
			container.css("z-index", "1000");
			container.find('ul').slideToggle();
			container.find('.dropdown').toggleClass('dashicons-arrow-down-alt2');
			container.find('.dropdown').toggleClass('dashicons-arrow-up-alt2');
		}
		
	});

	// Multi select Checkbox click event
	jQuery('.multiselect-options li input[type=checkbox]').click(function(){

		var jEle = jQuery(this);
		var val = jEle.val();
		var oEle = jEle.closest('ul.multiselect-options');
		
		// All selected value container
		var container = [];

		// Select all if select all checked
		if(val == 'all' && jEle.prop('checked')){
			oEle.find('li input[type=checkbox]').prop('checked', true);
		}else if(val == 'all'){
			oEle.find('li input[type=checkbox]').prop('checked', false);
		}
				
		// Make Select box checked when all checkbox checked accept Select all checkbox
		if(oEle.find('li input[type=checkbox]:not(input[value=all]):checked').length < oEle.find('.multiselect-checkbox').length-1){
			oEle.find('li input[value=all]').prop('checked', false);
		}else{
			oEle.find('li input[value=all]').prop('checked', true);
		}
		
		// Insert all the checked button to the array
		oEle.find('li input[type=checkbox]:checked:not(input[value=all])').each(function(){
			container.push(jQuery(this).val());
		})

		// Empty all element before Insert element
		jEle.closest('.gosmtp-fiter-container').find('.multiselect').html('');

		// Insert value when there are empty array
		if(container.length == 0){
			jEle.closest('.gosmtp-fiter-container').find('.multiselect').text('Select Filter');
		}

		// Empty all element 
		for(i=0; i <= container.length-1; i++){
			jEle.closest('.gosmtp-fiter-container').find('.multiselect').append('<div class="gosmtp-container-val"><span >'+container[i].replace(/[._-]/g,' ')+'</span><span class="filter-close dashicons dashicons-no-alt" data-id='+oEle.find('li input[value='+container[i]+']').attr('data-id')+' ></span><div>');
		}
	});

	// Element close button event
	jQuery('body').on('click', '.filter-close',function(){
		
		var id = parseInt((jQuery(this).attr('data-id')));
		jQuery(this).closest('.gosmtp-fiter-container').find(' li input[type=checkbox]').get(id).click();
	});

	jQuery('.gosmtp-fiter-container').each(function(){
		var all_checkbox = jQuery(this).find('.multiselect-options li input[type=checkbox]');
		for(i=0; i<all_checkbox.length; i++){
			jQuery(all_checkbox[i]).attr('data-id', i);
		}
		var checked = jQuery(this).find(' .multiselect-options li input[type=checkbox]:checked');
		jQuery(this).find(checked).click();

		var checkbox = jQuery('.multiselect-options li input[type=checkbox]:not(input[value=all])');
		
		let searchParams = new URLSearchParams(window.location.search);
		
		for(j=0; j < checkbox.length; j++){
			if(searchParams.has('multiselect['+j+']')){
				var val = searchParams.get('multiselect['+j+']');
				jQuery('.multiselect-options li input[value='+val+']').click();
			}
		}
	});
}

// Only update current URL without refresh
function gosmtp_update_uri(uri = ''){
	
	var urlObj = new URL(window.location.href);
	
	urlObj.search = '';
	urlObj.hash = '';
	
	var url = urlObj.toString()+'?page=gosmtp'+uri;
	
	// Update browser's session history stack.
	history.pushState({urlPath:url}, '', url);
}

Youez - 2016 - github.com/yon3zu
LinuXploit