function x_addons_page_extensions() { ?> <?php // // Allow cache to be cleared manually. // if (isset($_GET['force-check']) && $_GET['force-check'] == 1) { delete_site_option('x_addon_list_cache'); } // // Retrieve addons from cache, or check immediately if they were just cleared. // $addons_cache = X_Update_API::get_cached_addons(); // // Show connection errors on screen. // if (isset($_GET['x-verbose']) && $_GET['x-verbose'] == 1) { delete_site_option('x_addon_list_cache'); x_dump(X_Update_API::get_errors(), 350, 'var_dump'); } ?> <div class="wrap x-addons-extensions"> <header class="x-addons-header"> <h2>Extensions</h2> <p>Custom and third party plugins you can use for free (over $1,000 in value) with updates!</p> <?php if (isset($addons_cache['error']) && $addons_cache['error']) { ?> <div class="error"><p><?php echo $addons_cache['message']; ?> </p></div> <?php } ?> </header> <ul class="x-addons-extensions-list cf" id="x-addons-extensions-list"> <?php $plugins = TGM_Plugin_Activation::$instance->plugins; foreach ($plugins as $key => $plugin) { if ($plugin['slug'] == 'cornerstone') { $cornerstone = $plugin; unset($plugins[$key]); } } array_unshift($plugins, $cornerstone); foreach ($plugins as $plugin) { ?> <?php if (x_plugin_exists($plugin['x_plugin'])) { if (is_plugin_active($plugin['x_plugin'])) { $status = 'active'; $status_message = 'Active'; } else { $status = 'inactive'; $status_message = 'Inactive'; } $button = '<a class="x-addon-button button" href="' . admin_url('plugins.php') . '">Manage Plugin</a>'; } else { if ($plugin['source'] == NULL) { $url = x_addons_get_link_product_validation(); $text = 'Validate Purchase to Install'; $class = 'x-addon-button button'; } else { $url = wp_nonce_url(add_query_arg(array('page' => TGM_Plugin_Activation::$instance->menu, 'plugin' => $plugin['slug'], 'plugin_name' => $plugin['name'], 'plugin_source' => $plugin['source'], 'tgmpa-install' => 'install-plugin'), admin_url(TGM_Plugin_Activation::$instance->parent_url_slug)), 'tgmpa-install'); $text = 'Install Plugin'; $class = 'x-addon-button button button-primary'; } $status = 'not-installed'; $status_message = 'Not Installed'; $button = '<a class="' . $class . '" href="' . $url . '">' . $text . '</a>'; } ?> <li class="x-addons-extension <?php echo $status; ?> " id="<?php echo $plugin['slug']; ?> "> <div class="top cf"> <img src="<?php echo $plugin['x_logo']; ?> " class="img"> <div class="info"> <h4 class="title"><?php echo $plugin['name']; ?> </h4> <span class="status <?php echo $status; ?> "><?php echo $status_message; ?> </span> <p class="desc"><?php echo $plugin['x_description']; ?> </p> <p class="author"><cite>By <?php echo $plugin['x_author']; ?> </cite></p> </div> </div> <div class="bottom cf"><?php echo $button; ?> </div> </li> <?php } ?> </ul> </div> <?php }
/** * Output custom Product Validation Metabox */ public function renderValidationMB() { ?> <?php if (x_is_validated()) { ?> <p class="cs-validated"><strong>Congrats! X is active and validated</strong>. Because of this you don't need to validate Cornerstone and automatic updates are up and running.</p> <?php } else { ?> <p class="cs-not-validated"><strong>Uh oh! It looks like X isn't validated</strong>. Cornerstone validates through X, which enables automatic updates. Head over to the product validation page to get that setup.<br><a href="<?php echo x_addons_get_link_product_validation(); ?> ">Validate</a></p> <?php } }
function x_addons_page_home() { ?> <div class="wrap about-wrap x-addons-home"> <?php if (!x_plugin_cornerstone_exists()) { ?> <div class="updated x-notice cornerstone"> <p><strong>Only one final step!</strong> Please head over to the <a href="<?php echo x_addons_get_link_extensions(); ?> " target="_blank">Extensions</a> page and install Cornerstone to finalize the theme setup process. While you're there, you can optionally choose to manage any of our additional included plugins as well.</p> </div> <?php } ?> <header class="x-addons-home-header"> <div class="x-addons-home-header-text"> <h1><?php echo apply_filters('x_addons_home_heading', 'Congratulations!'); ?> </h1> <div class="about-text"><?php echo apply_filters('x_addons_home_subheading', x_is_validated() ? '<strong>X is now installed (woo-hoo).</strong> Read on to learn more about various member center resources and other helpful tools. There are many important parts to each update, so be sure to <a href="//theme.co/changelog/" target="_blank">check out the release notes and changelog</a> for this latest version.' : '<strong>X is now installed (woo-hoo).</strong> Follow the steps below to validate your product, which unlocks automatic updates, additional Extensions, and more.'); ?> </div> </div> <div class="x-badge"> <div class="text">Version</div> <div class="version"><?php echo X_VERSION; ?> </div> </div> </header> <?php ob_start(); ?> <?php if (x_is_validated()) { ?> <div class="changelog"> <div class="feature-section col three-col"> <div> <h4><span class="dashicons dashicons-welcome-learn-more"></span> Knowledge Base</h4> <p>The <a href="//theme.co/x/member/kb/" target="_blank">Knowledge Base</a> is where we include all of our in-depth documentation for the theme, including dozens of high definition videos.</p> <p>Here you'll find detailed information on various theme features including the Customizer, post formats, shortcodes, and much more!</p> </div> <div> <h4><span class="dashicons dashicons-megaphone"></span> Marketing Training</h4> <p>X is so much more than a theme. It's also a collection of resources from some of the world's top <a href="//theme.co/x/member/experts/" target="_blank">Internet marketers</a>.</p> <p>While we've built many of the items discussed by these experts directly into the theme, we're also able to bring you <a href="//theme.co/x/member/training/" target="_blank">incredible training</a> to help take your website to the next level.</p> </div> <div class="last-feature"> <h4><span class="dashicons dashicons-tickets"></span> WordPress Tutorials</h4> <p>New to WordPress? Don't worry, we've all been there. If you're still working your way through the foundational elements of WordPress, you will be pleased to know that we have <a href="//theme.co/x/member/kb/" target="_blank">dozens of high definition videos</a> available for free in the member center to help you with many of the most commonly asked questions that new users have.</p> </div> </div> <div class="feature-section col three-col"> <div> <h4><span class="dashicons dashicons-admin-page"></span> Child Themes</h4> <p>If you're planning on doing any amount of customization outside of the settings afforded in the Custoimzer, <a href="//theme.co/x/member/child-themes/" target="_blank">child themes</a> are absolutely the way to go.</p> <p>We provide child themes for X in our member center, which come bootstrapped with all of the necessary code so that they can be used right out of the box!</p> </div> <div> <h4><span class="dashicons dashicons-media-archive"></span> Demo Content</h4> <p>Recreate your favorite looks from our demos with a few simple clicks. <a href="//theme.co/x/member/demo-content/" target="_blank">Demo content</a> is available in the member center to help you achieve this in no time at all. This includes WordPress import data, homepage markup, Customizer import data, and more!</p> </div> <div class="last-feature"> <h4><span class="dashicons dashicons-update"></span> Superior Support</h4> <p>Got a question? We're here to help! The member center is where we handle all official support via our <a href="//theme.co/x/member/forum-entrance/" target="_blank">forums</a>.</p> <p>If you haven't done so already, make sure to <a href="//theme.co/x/go/register.php" target="_blank">register for access</a> to the member center to gain access to all of our great resources.</p> </div> </div> </div> <?php } else { ?> <div class="changelog"> <div class="feature-section col three-col"> <div> <h4><span class="dashicons dashicons-external"></span> Step 1: Register</h4> <p>To get started, <a href="//theme.co/x/go/register.php" target="_blank">register for access</a> to the member center. This is where you'll have access to all of our resources including the Knowledge Base, support forums, and much more.</p> </div> <div> <h4><span class="dashicons dashicons-admin-network"></span> Step 2: Get an API Key</h4> <p>Once you have registered for access to the member center, go generate your <a href="//theme.co/x/member/my-account/" target="_blank">product API key</a> under the "Licenses" section. This key is used for automatic updates (<a href="//theme.co/x/member/kb/product-validation/" target="_blank">tutorial here</a>).</p> </div> <div class="last-feature"> <h4><span class="dashicons dashicons-awards"></span> Step 3: Validate</h4> <p>After acquiring your product API key from the member center, enter it on the <a href="<?php echo x_addons_get_link_product_validation(); ?> ">Product Validation</a> page to start receiving automatic updates once they're available.</p> </div> </div> <div class="feature-section col one-col"> <a href="//theme.co/x/go/register.php" class="button button-primary x-addons-home-register-button" target="_blank">Register Now</a> </div> </div> <?php } ?> <?php $output = ob_get_contents(); ob_end_clean(); ?> <?php echo apply_filters('x_addons_home_content', $output); ?> </div> <?php }