Example #1
0
 public function inject_addons($response, $action, $args)
 {
     $addon_list = EModal_License::available_addons();
     $addon_slugs = array();
     $addons = array();
     if (!empty($addon_list)) {
         foreach ($addon_list as $addon) {
             $addon_slugs[] = $addon->slug;
             $addons[$addon->slug] = $addon;
         }
         //Does this request concern our plugin?
         if ($action !== 'plugin_information' || empty($args->slug) || empty($_GET['em']) || !in_array($args->slug, $addon_slugs)) {
             return $response;
         }
     }
     $addon = $addons[$args->slug];
     //This is basically a stripped-down and simplified version of what the update checker library does.
     $response = new StdClass();
     foreach ($addon as $key => $value) {
         $response->{$key} = $value;
     }
     $response->name = $addon->name;
     $response->version = $addon->version;
     $response->download_link = $addon->download_url;
     return $response;
 }
Example #2
0
 public function update_transient_plugin_slugs()
 {
     $transient = get_option('_transient_plugin_slugs');
     if ($transient) {
         $save = false;
         $addons = EModal_License::available_addons();
         if (!empty($addons)) {
             foreach ($addons as $addon) {
                 if (!in_array($addon->slug . '/' . $addon->slug . '.php', $transient)) {
                     $transient[] = $addon->slug . '/' . $addon->slug . '.php';
                     $save = true;
                 }
             }
         }
         if ($save) {
             update_option('_transient_plugin_slugs', $transient);
         }
     }
 }
Example #3
0
    public function output()
    {
        extract($this->values);
        ?>
		<div class="wrap">
			<h2><?php 
        esc_html_e(__($title, EMCORE_SLUG));
        ?>
</h2>
			<div id="poststuff">
				<div id="post-body" class="metabox-holder">
					<div id="post-body-content"><?php 
        $addons = EModal_License::available_addons();
        ?>
					    <ul class="addons-available">
					        <?php 
        $plugins = get_plugins();
        $installed_plugins = array();
        foreach ($plugins as $key => $plugin) {
            $is_active = is_plugin_active($key);
            $installed_plugin = array('is_active' => $is_active);
            $installerUrl = add_query_arg(array('action' => 'activate', 'plugin' => $key, 'em' => 1), network_admin_url('plugins.php'));
            $installed_plugin["activation_url"] = $is_active ? "" : wp_nonce_url($installerUrl, 'activate-plugin_' . $key);
            $installerUrl = add_query_arg(array('action' => 'deactivate', 'plugin' => $key, 'em' => 1), network_admin_url('plugins.php'));
            $installed_plugin["deactivation_url"] = !$is_active ? "" : wp_nonce_url($installerUrl, 'deactivate-plugin_' . $key);
            $installed_plugins[$key] = $installed_plugin;
        }
        $existing_addon_images = apply_filters('emodal_existing_addon_images', array());
        if (!empty($addons)) {
            foreach ($addons as $addon) {
                ?>
						        <li class="available-addon-inner">
						            <h3><?php 
                esc_html_e($addon->name);
                ?>
</h3>
						            <?php 
                $image = in_array($addon->slug, $existing_addon_images) ? EMCORE_URL . '/assets/images/addons/' . $addon->slug . '.jpg' : $addon->image;
                ?>
						            <img class="addon-thumbnail" src="<?php 
                esc_attr_e($image);
                ?>
">
						            <p><?php 
                esc_html_e($addon->excerpt);
                ?>
</p>
						            <hr/><?php 
                if (!empty($addon->download_link) && !isset($installed_plugins[$addon->slug . '/' . $addon->slug . '.php'])) {
                    $installerUrl = add_query_arg(array('action' => 'install-plugin', 'plugin' => $addon->slug, 'edd_sample_plugin' => 1), network_admin_url('update.php'));
                    $installerUrl = wp_nonce_url($installerUrl, 'install-plugin_' . $addon->slug);
                    ?>
						                <span class="action-links"><?php 
                    printf('<a class="button install" href="%s">%s</a>', esc_attr($installerUrl), __('Install'));
                    ?>
										</span><?php 
                } elseif (isset($installed_plugins[$addon->slug . '/' . $addon->slug . '.php']['is_active'])) {
                    ?>
						                <span class="action-links"><?php 
                    if (!$installed_plugins[$addon->slug . '/' . $addon->slug . '.php']['is_active']) {
                        printf('<a class="button install" href="%s">%s</a>', esc_attr($installed_plugins[$addon->slug . '/' . $addon->slug . '.php']["activation_url"]), __('Activate'));
                    } else {
                        printf('<a class="button install" href="%s">%s</a>', esc_attr($installed_plugins[$addon->slug . '/' . $addon->slug . '.php']["deactivation_url"]), __('Deactivate'));
                    }
                    ?>
										</span><?php 
                } else {
                    ?>
<span class="action-links"><a class="button" target="_blank" href="<?php 
                    esc_attr_e($addon->homepage);
                    ?>
"><?php 
                    _e('Get It Now');
                    ?>
</a></span><?php 
                }
                ?>
						            <a href="<?php 
                echo esc_url($addon->homepage);
                ?>
" target="_blank"><?php 
                _e('View the entire Add On Specs');
                ?>
</a>
						        </li>
						        <?php 
            }
        }
        ?>
				    </ul>
					</div>
				</div>
				<br class="clear"/>
			</div>
		</div><?php 
    }