Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/mets.corals.io/wp-content/plugins/wp-analytify/inc/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/mets.corals.io/wp-content/plugins/wp-analytify/inc/page-addons.php
<?php

if ( ! class_exists( 'WP_Analytify_Addons' ) ) {

	class WP_Analytify_Addons {

		protected $plugins_list;
		protected $modules_list;

		/**
		 * Constructor
		 */
		public function __construct() {

			$this->plugins_list = get_plugins();
			$this->modules_list = $this->modules();
		}

		/**
		 * Returns a list of addons
		 *
		 * @return array
		 * @since 1.3
		 */
		 public function addons() {

			// For Testing
			 delete_transient( 'analytify_api_addons' );

			 // Get the transient where the addons are stored on-site.
			 $data = get_transient( 'analytify_api_addons' );

			 // If we already have data, return it.
			 if ( ! empty( $data ) )
			 return $data;

			 // Make sure this matches the exact URL from your site.
			 $url = 'https://analytify.io/wp-json/analytify/v1/plugins';

			 $wp_request_headers = array(
				//'Authorization' => 'Basic ' . base64_encode( 'dev:dev' )
			 );

			 // Get data from the remote URL.
			 $response = wp_remote_get( $url, array( 'timeout' => 20, 'headers' => $wp_request_headers ) );

			 if ( ! is_wp_error( $response ) ) {

				 // Decode the data that we got.
				 $data = json_decode( wp_remote_retrieve_body( $response ) );

				 if ( ! empty( $data ) && is_array( $data ) ) {

					 // Store the data for a week.
					 set_transient( 'analytify_api_addons', $data, 7 * DAY_IN_SECONDS );

					 return $data;
				 }
			 }

			return array();

		 }

		/**
		 * Check plugin status
		 *
		 * @return array
		 * @since 1.3
		 */
		public function check_plugin_status( $slug, $extension ) {

			// Free addon has different filename.
			$addon_file_name = ( 'analytify-analytics-dashboard-widget' === $slug ) ? 'wp-analytify-dashboard' : $slug;
			$slug = $slug . '/'. $addon_file_name .'.php';

			if ( is_plugin_active( $slug ) ) {

				echo sprintf( esc_html__( '%1$s Deactivate add-on %2$s', 'wp-analytify' ), '<button type="button" class="button-primary analytify-module-state analytify-deactivate-module" data-slug="'. $slug .'" data-set-state="deactive" data-internal-module="false">', '</button>' );

			} else if ( array_key_exists( $slug, $this->plugins_list ) ) {

				$link = wp_nonce_url( add_query_arg( array( 'action' => 'activate', 'plugin' => $slug ), admin_url( 'plugins.php' ) ),  'activate-plugin_' . $slug ) ;
				
				echo sprintf( esc_html__( '%1$s Activate add-on %2$s', 'wp-analytify' ), '<a href="' .  $link . '" class="button-primary analytify-module-state analytify-activate-module" data-slug="'. $slug .'" data-set-state="active" data-internal-module="false" >', '</a>' );

			} else if ( is_plugin_inactive( $slug ) ) {

				if ( isset( $extension->status ) &&	$extension->status != '' ) {
					echo sprintf( esc_html__( '%1$s Download %2$s', 'wp-analytify' ), '<a target="_blank" href="' . $extension->url . '" class="button-primary">', '</a>' ); 
				} else {
					echo sprintf( esc_html__( '%1$s Get this add-on %2$s', 'wp-analytify' ), '<a target="_blank" href="' . $extension->url . '?utm_source=analytify-lite" class="button-primary">', '</a>' ); 
				}
			}
		}

		/**
		 * Check if pro version is supporitng modules.
		 *
		 * @return bool
		 */
		function check_pro_support() {

			if ( class_exists( 'WP_Analytify_Pro' )  ) {
				$plugins = get_plugins();

				if ( version_compare( $plugins['wp-analytify-pro/wp-analytify-pro.php']['Version'], '4.0', '>=' ) ) {
					return true;
				}
			}

			return false;
		}

		/**
		 * Returns a list of modules.
		 *
		 * @return array
		 */
		public function modules() {

			if ( get_option( 'wp_analytify_modules' ) ) {
				return get_option( 'wp_analytify_modules' );
			}

			return array();
		}

		/**
		 * Check module status.
		 *
		 */
		public function check_module_status( $slug ) {

			if ( 'active' === $this->modules_list[$slug]['status'] && $this->check_pro_support() ) {

				echo sprintf( esc_html__( '%1$s Deactivate add-on %2$s', 'wp-analytify' ), '<button type="button" class="button-primary analytify-module-state analytify-deactivate-module" data-slug="'. $slug .'" data-set-state="deactive" data-internal-module="true">', '</button>' );

			} else if ( ! $this->modules_list[$slug]['status'] && $this->check_pro_support() ) {

				echo sprintf( esc_html__( '%1$s Activate add-on %2$s', 'wp-analytify' ), '<button type="button" class="button-primary analytify-module-state analytify-activate-module" data-slug="'. $slug .'" data-set-state="active" data-internal-module="true">', '</button>' );

			} else {

				echo sprintf( esc_html__( '%1$s Get this add-on %2$s', 'wp-analytify' ), '<a type="button" class="button-primary analytify-activate-module" href=" ' . $this->modules_list[$slug]['url'] . '?utm_source=analytify-lite" target="_blank">', '</a>' );

			}
		}

		/**
		 *  Loaders HTML.
		 *
		 * @param string $addon Addon name.
		 * @param string $logo Logo url.
		 * @return string $html HTML markup string.
		 */
		function loaders( $addon, $logo ) {

			$html =	'<div class="analytify-addons-loader-container"><div class="wp-analytify-addon-enable analytify-loader" style="display:none;">
						<div class="analytify-logo-container">
						<img src="' .  $logo . '" alt="'. $addon .'">
						<svg class="circular-loader" viewBox="25 25 50 50" >
						<circle class="loader-path" cx="50" cy="50" r="18" fill="none" stroke="#d8d8d8" stroke-width="1" />
						</svg>
						</div>
						<p>' .  __( "Activating...", "analytify" ) . '</p>
						</div>';
			$html .= '<div class="wp-analytify-addon-install analytify-loader activated" style="display:none">
						<svg class="circular-loader2" viewBox="25 25 50 50" >
						<circle class="loader-path2" cx="50" cy="50" r="18" fill="none" stroke="#00c853" stroke-width="1" />
						</svg>
						<div class="checkmark draw"></div>
						<p>' . __( 'Activated', 'analytify' ) . '</p>
						</div>';
			$html .= '<div class="wp-analytify-addon-uninstalling analytify-loader activated" style="display:none">
						<div class="analytify-logo-container">
						<img src="' .  $logo . '" alt="'. $addon .'">
						<svg class="circular-loader" viewBox="25 25 50 50" >
						<circle class="loader-path" cx="50" cy="50" r="18" fill="none" stroke="#d8d8d8" stroke-width="1" />
						</svg>
						</div>
						<p>' .  __( "Deactivating...", "analytify" ) . '</p>
						</div>';
			$html .= '<div class="wp-analytify-addon-uninstall analytify-loader activated" style="display:none">
						<svg class="circular-loader2" viewBox="25 25 50 50" >
						<circle class="loader-path2" cx="50" cy="50" r="18" fill="none" stroke="#ff0000" stroke-width="1" />
						</svg>
						<div class="checkmark draw"></div>
						<p>' . __( 'Deactivated', 'analytify' ) . '</p>
						</div>';
			$html .= '<div class="wp-analytify-addon-wrong activated analytify-loader" style="display:none">
						<svg class="checkmark_login" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
						<circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"></circle>
						<path class="checkmark__check" stroke="#ff0000" fill="none" d="M16 16 36 36 M36 16 16 36"></path>
						</svg>
						<p>' . __( 'Something Went Wrong', 'analytify' ) . '</p>
						</div></div>';

			return $html;
    	}
	}
}

$obj_wp_analytify_addons = new WP_Analytify_Addons;
$addons = $obj_wp_analytify_addons->addons();
$modules = $obj_wp_analytify_addons->modules();
$current_screen = get_current_screen()->base; 
$version = defined( 'ANALYTIFY_PRO_VERSION' ) ? ANALYTIFY_PRO_VERSION : ANALYTIFY_VERSION; ?>

<div class="wpanalytify analytify-dashboard-nav">
	<div class="wpb_plugin_wraper">
		<div class="wpb_plugin_header_wraper">
			<div class="graph"></div>
			<div class="wpb_plugin_header">
				<div class="wpb_plugin_header_title"></div>
				<div class="wpb_plugin_header_info">
					<a href="https://analytify.io/changelog/" target="_blank" class="btn">Changelog - v<?php echo $version; ?></a>
				</div>
				<div class="wpb_plugin_header_logo">
					<img src="<?php echo ANALYTIFY_PLUGIN_URL . '/assets/img/logo.svg'?>" alt="Analytify">
				</div>
			</div>
		</div>
				
		<div class="analytify-settings-body-container">
			<div class="wpb_plugin_body_wraper">
				<div class="wpb_plugin_body">
					<div class="wpa-tab-wrapper">
						<ul class="analytify_nav_tab_wrapper nav-tab-wrapper">
							<li><a href="<?php echo admin_url( 'admin.php?page=analytify-addons' ) ?>" class="analytify_nav_tab <?php echo ( 'analytify_page_analytify-addons' === $current_screen ) ? 'nav-tab-active' : '' ?>" >Addons</a></li>
							<li><a href="<?php echo admin_url( 'admin.php?page=analytify-settings#wp-analytify-license' ) ?>" class="analytify_nav_tab" >License</a></li>
						</ul>
					</div>

					<div class="wpb_plugin_tabs_content analytify-dashboard-content">
						<div class="wrap analytify-addons-wrapper">
 
							<h2 class='opt-title'><span id='icon-options-general' class='analytics-options'><img src="<?php echo plugins_url( '../assets/img/wp-analytics-logo.png', __FILE__ );?>" alt=""></span>
							<?php esc_html_e( 'Extend the functionality of Analytify with these awesome Add-ons', 'wp-analytify' ); ?>
							</h2>

							<div class="tabwrapper">

								<?php	
								foreach ( $addons as $name => $extension ) : ?>

									<div class="wp-extension <?php echo $name; ?>">
										<a target="_blank" href="<?php echo $extension->url; ?>?utm_source=analytify-lite">
											<h3 style="background-image: url(<?php echo $extension->media->icon->url ?>);"><?php echo $extension->title; ?></h3>
										</a>
										<p><?php echo wpautop( wp_strip_all_tags( $extension->excerpt ) ) ?></p>
										<p><?php $obj_wp_analytify_addons->check_plugin_status( $extension->slug, $extension ); ?></p>

										<?php echo $obj_wp_analytify_addons->loaders( $name, $extension->media->icon->url ); ?>

									</div>

								<?php endforeach; ?>

								<?php foreach ( $modules as $module ) { ?>

										<div class="wp-extension <?php echo $module['slug']; ?>">
											<a target="_blank" href="<?php echo $module['url']; ?>?utm_source=analytify-lite">
												<h3 style="background-image: url(<?php echo $module['image'] ?>);"><?php echo $module['title']; ?></h3>
											</a>
											<p><?php echo $module['description'] ?></p>
											<p><?php $obj_wp_analytify_addons->check_module_status( $module['slug'] ); ?></p>

											<?php echo $obj_wp_analytify_addons->loaders( $module['title'], $module['image'] ); ?>

										</div>

									<!-- #TDOD: Fetch from API -->
									<!-- <div class="wp-extension wp-analytify-forms-dashboard">
										<a target="_blank" href="#">
											<h3 style="background-image: url(https://analytify.io/wp-content/uploads/edd/2019/04/dashboard_icon.png);">Forms</h3>
										</a>
										<p>This Add-on will track custom forms in a unique and intiutive way which is very understandable even for non-technical WordPress users</p>
										<p><?php // $obj_wp_analytify_addons->check_plugin_status( 'wp-analytify-forms', '' ); ?></p>

										<?php // echo $obj_wp_analytify_addons->loaders( 'Forms', 'https://analytify.io/wp-content/uploads/edd/2019/04/dashboard_icon.png' ); ?>
									</div> -->

									<!-- #TDOD: Fetch from API -->
									<!-- <div class="wp-extension wp-analytify-authors">
										<a target="_blank" href="#">
											<h3 style="background-image: url(https://analytify.io/wp-content/uploads/edd/2019/04/dashboard_icon.png);">Authors Dashboard</h3>
										</a>
										<p>This Add-on will show authors dashboard in a unique and intiutive way which is very understandable even for non-technical WordPress users.</p>
										<p><?php // $obj_wp_analytify_addons->check_plugin_status( 'wp-analytify-authors', '' ); ?></p>

										<?php // echo $obj_wp_analytify_addons->loaders( 'Authors Dashboard', 'https://analytify.io/wp-content/uploads/edd/2019/04/dashboard_icon.png' ); ?>
									</div> -->

<?php } ?>

							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>

Spamworldpro Mini