public static function initMenuSubPages() { //if (true) return; if (empty(self::$extensions)) { return; } $html = ''; if (isset(self::$extensions) && is_array(self::$extensions)) { foreach (self::$extensions as $extension) { if (defined('MWP_TEAMCONTROL_PLUGIN_SLUG') && MWP_TEAMCONTROL_PLUGIN_SLUG == $extension['slug'] && !mainwp_current_user_can('extension', dirname(MWP_TEAMCONTROL_PLUGIN_SLUG))) { continue; } if (MainWP_Extensions::addedOnMenu($extension['slug'])) { continue; } if (isset($extension['direct_page'])) { $html .= '<a href="' . admin_url('admin.php?page=' . $extension['direct_page']) . '" class="mainwp-submenu">' . str_replace(array('Extension', 'MainWP'), '', $extension['name']) . '</a>'; } else { $html .= '<a href="' . admin_url('admin.php?page=' . $extension['page']) . '" class="mainwp-submenu">' . str_replace(array('Extension', 'MainWP'), '', $extension['name']) . '</a>'; } } } if (empty($html)) { return; } ?> <div id="menu-mainwp-Extensions" class="mainwp-submenu-wrapper" xmlns="http://www.w3.org/1999/html"> <div class="wp-submenu sub-open" style=""> <div class="mainwp_boxout mainwp-submenu-wide"> <div class="mainwp_boxoutin"></div> <?php echo $html; ?> </div> </div> </div> <?php }
public static function render(&$extensions) { $loader_url = '<i class="fa fa-spinner fa-pulse"></i>'; if (mainwp_current_user_can('dashboard', 'manage_extensions')) { ?> <?php } ?> <div class="postbox"> <div class="handlediv"><br></div> <h3 class="mainwp_box_title"> <span><?php printf(_n('%d Installed MainWP Extension', '%d Installed MainWP Extensions', count($extensions) == 1 ? 1 : 2, 'mainwp'), count($extensions)); ?> </span> </h3> <div id="mainwp-extensions-wrap"> <?php if (count($extensions) == 0) { ?> <div class="inside"> <div class="mainwp_info-box-blue"> <h3><?php _e('What are Extensions?', 'mainwp'); ?> </h3> <?php _e('Extensions are specific features or tools created for the purpose of expanding the basic functionality of MainWP.', 'mainwp'); ?> <h3><?php _e('Why have Extensions?', 'mainwp'); ?> </h3> <?php _e('The core of MainWP has been designed to provide the functions most needed by our users and minimize code bloat. Extensions offer custom functions and features so that each user can tailor their MainWP to their specific needs.', 'mainwp'); ?> <p> <a href="https://mainwp.com/extensions/"><?php _e('Download your first extension now.', 'mainwp'); ?> </a> </p> </div> </div> <?php } else { ?> <div style="background: #eee; padding: 1em .6em;"> <a class="mainwp_action left mainwp_action_down" href="#" id="mainwp-extensions-expand"><?php _e('Expand', 'mainwp'); ?> </a><a class="mainwp_action right" href="#" id="mainwp-extensions-collapse"><?php _e('Collapse', 'mainwp'); ?> </a> <?php if (mainwp_current_user_can('dashboard', 'manage_extensions')) { ?> <div style="float: right; margin-top: -3px;"> <!-- <a href="#" class="button mainwp-extensions-disable-all"><?php _e('Disable All', 'mainwp'); ?> </a> <a href="#" class="button-primary mainwp-extensions-enable-all"><?php _e('Enable All', 'mainwp'); ?> </a>--> <a href="<?php echo admin_url('plugin-install.php?tab=upload'); ?> " class="mainwp-upgrade-button button-primary button"><?php _e('Install New Extension', 'mainwp'); ?> </a> </div> <div style="clear: both;"></div> <?php } ?> </div> <div id="mainwp-extensions-list"> <?php $user_can_manage_extensions = mainwp_current_user_can('dashboard', 'manage_extensions'); $available_exts_data = MainWP_Extensions_View::getAvailableExtensions(); if (isset($extensions) && is_array($extensions)) { foreach ($extensions as $extension) { if (!mainwp_current_user_can('extension', dirname($extension['slug']))) { continue; } $active = MainWP_Extensions::isExtensionActivated($extension['plugin']); $added_on_menu = MainWP_Extensions::addedOnMenu($extension['slug']); $ext_data = isset($available_exts_data[dirname($extension['slug'])]) ? $available_exts_data[dirname($extension['slug'])] : array(); $queue_status = ''; if (isset($extension['apiManager']) && $extension['apiManager']) { $queue_status = 'status="queue"'; } ?> <div class="mainwp-extensions-childHolder" extension_slug="<?php echo $extension['slug']; ?> " <?php echo $queue_status; ?> license-status="<?php echo $active ? 'activated' : 'deactivated'; ?> "> <table style="width: 100%"> <td class="mainwp-extensions-childIcon"> <?php if (isset($ext_data['img'])) { $img_url = $ext_data['img']; } else { if (isset($extension['iconURI']) && $extension['iconURI'] != '') { $img_url = MainWP_Utility::removeHttpPrefix($extension['iconURI']); } else { $img_url = plugins_url('images/extensions/placeholder.png', dirname(__FILE__)); } } ?> <img title="<?php echo $extension['name']; ?> " src="<?php echo $img_url; ?> " class="mainwp-extensions-img large" /> </td> <td valign="top"> <table style="width: 100%"> <tr> <td class="mainwp-extensions-childName"> <?php if (isset($extension['direct_page']) && !empty($extension['direct_page'])) { ?> <a href="<?php echo admin_url('admin.php?page=' . $extension['direct_page']); ?> " style="text-decoration: none;"> <?php echo $extension['name']; ?> </a> <?php } else { if (isset($extension['callback'])) { ?> <a href="<?php echo admin_url('admin.php?page=' . $extension['page']); ?> " style="text-decoration: none;"> <?php echo $extension['name']; ?> </a> <?php } else { echo $extension['name']; } } ?> </td> <td class="mainwp-extensions-childVersion"><?php echo $extension['version']; ?> </td> <td class="mainwp-extensions-childActions"> <?php if ($added_on_menu) { ?> <button class="button mainwp-extensions-remove-menu"><?php _e('Remove from MainWP menu', 'mainwp'); ?> </button> <?php } else { ?> <button class="button-primary mainwp-extensions-add-menu" ><?php _e('Add to MainWP menu', 'mainwp'); ?> </button> <?php } ?> <?php if (isset($extension['apiManager']) && $extension['apiManager']) { ?> <?php if ($active) { ?> <a href="javascript:void(0)" class="mainwp-extensions-api-activation api-status activated" ><i class="fa fa-unlock" style="font-size: 18px;"></i> <?php _e('Update Notification Enabled', 'mainwp'); ?> </a> <?php } else { ?> <a href="javascript:void(0)" class="mainwp-extensions-api-activation api-status deactivated" ><i class="fa fa-lock" style="font-size: 18px;"></i> <?php _e('Add API to Enable Update Notification', 'mainwp'); ?> </a> <?php } ?> <?php } ?> </td> </tr> <tr class="mainwp-extensions-extra mainwp-extension-description"> <td colspan="3"> <br/><br/><?php echo preg_replace('/\\<cite\\>.*\\<\\/cite\\>/', '', $extension['description']); ?> <br/><br/></td> </tr> <tr class="mainwp-extensions-links"> <td colspan="3"> <?php printf(__('By %s', 'mainwp'), str_replace(array('http:', 'https:'), '', $extension['author'])); ?> <?php echo isset($extension['DocumentationURI']) && !empty($extension['DocumentationURI']) ? ' | <a href="' . str_replace(array('http:', 'https:'), '', $extension['DocumentationURI']) . '" target="_blank" title="' . __('Documentation', 'mainwp') . '">' . __('Documentation', 'mainwp') . '</a>' : ''; ?> <?php echo isset($extension['SupportForumURI']) && !empty($extension['SupportForumURI']) ? ' | <a href="' . str_replace(array('http:', 'https:'), '', $extension['SupportForumURI']) . '" target="_blank" title="' . __('Support Forum', 'mainwp') . '">' . __('Support Forum', 'mainwp') . '</a>' : ''; ?> <?php if (isset($extension['apiManager']) && $extension['apiManager']) { ?> <?php echo ' | <a href="#" class="mainwp-extensions-api-activation" >' . __('Enter Activation API', 'mainwp') . '</a>'; ?> <?php } ?> </td> </tr> <?php if (isset($extension['apiManager']) && $extension['apiManager']) { ?> <tr class="mainwp-extensions-api-row"> <td colspan="3"> <div class="api-row-div"> <span> <input type="text" class="input api_key" placeholder="<?php esc_attr_e('API License Key', 'mainwp'); ?> " value="<?php echo $extension['api_key']; ?> "/> <input type="text" class="input api_email" placeholder="<?php esc_attr_e('API License Email', 'mainwp'); ?> " value="<?php echo $extension['activation_email']; ?> "/> <input type="button" class="button-primary mainwp-extensions-activate" value="<?php esc_attr_e('Activate', 'mainwp'); ?> "> <span class="mainwp_loading"><i class="fa fa-spinner fa-pulse"></i></span> </span> <span style="float:right"> <?php _e('Deactivate License Key', 'mainwp'); ?> <input type="checkbox" class="mainwp-extensions-deactivate-chkbox" <?php echo $extension['deactivate_checkbox'] == 'on' ? 'checked' : ''; ?> > <input type="button" class="button-primary mainwp-extensions-deactivate" value="<?php _e('Deactivate', 'mainwp'); ?> "> </span> </div> <span class="activate-api-status hidden"></span> </td> </tr> <?php } ?> </table> </td> </table> </div> <?php } } ?> </div> <?php } ?> </div></div><?php self::mainwpAvailableExtensions($extensions); }