Example #1
0
 public static function refresh()
 {
     $output = array();
     $parseError = true;
     try {
         $output['api_status'] = MainWPAPISettings::testAPIs('main', true, null, null, false, true);
     } catch (Exception $e) {
         if ($e->getMessage() == 'MAX_ACCOUNTS') {
             $output['api_status'] = MAINWP_API_INVALID;
             $output['error'] = MainWPAPISettingsView::maximumInstallationsReached();
         } else {
             $parseError = false;
             $output['api_status'] = 'ERROR';
             $output['error'] = $e->getMessage();
         }
     }
     if ($parseError && stristr($output['api_status'], 'ERROR')) {
         $output['error'] = substr($output['api_status'], 6);
         $output['api_status'] = 'ERROR';
     }
     return $output;
 }
 function mainwp_api_refresh()
 {
     $this->secure_request();
     die(json_encode(MainWPAPISettings::refresh()));
 }
Example #3
0
 function new_menus()
 {
     if (MainWPUtility::isAdmin()) {
         //Adding the page to manage your added sites/groups
         //The first page which will display the post area etc..
         MainWPSecurityIssues::initMenu();
         MainWPManageSites::initMenu();
         MainWPPost::initMenu();
         MainWPPage::initMenu();
         MainWPThemes::initMenu();
         MainWPPlugins::initMenu();
         MainWPUser::initMenu();
         MainWPManageBackups::initMenu();
         MainWPOfflineChecks::initMenu();
         MainWPBulkUpdateAdminPasswords::initMenu();
         MainWPManageGroups::initMenu();
         MainWPSettings::initMenu();
         MainWPExtensions::initMenu();
         do_action('mainwp_admin_menu');
         MainWPDocumentation::initMenu();
         MainWPServerInformation::initMenu();
         MainWPChildScan::initMenu();
         MainWPAPISettings::initMenu();
     }
 }
Example #4
0
 public static function isExtensionEnabled($pluginFile)
 {
     $slug = plugin_basename($pluginFile);
     $snEnabledExtensions = get_option('mainwp_extloaded');
     if (!is_array($snEnabledExtensions)) {
         $snEnabledExtensions = array();
     }
     $active = in_array($slug, $snEnabledExtensions);
     // To fix bug
     self::loadExtensions();
     if (isset(self::$extensions)) {
         foreach (self::$extensions as $extension) {
             if ($extension['plugin'] == $pluginFile) {
                 if (isset($extension['mainwp']) && $extension['mainwp'] == true) {
                     if (isset($extension['api_key']) && !empty($extension['api_key'])) {
                         if (isset($extension['activated_key']) && $extension['activated_key'] == "Activated") {
                             $active = true;
                         } else {
                             $active = false;
                         }
                     } else {
                         if (isset($extension['api']) && MainWPAPISettings::testAPIs($extension['api']) != 'VALID') {
                             $active = false;
                         }
                     }
                 } else {
                     if (isset($extension['apilink']) && isset($extension['locked']) && $extension['locked'] == true) {
                         $active = false;
                     }
                 }
                 break;
             }
         }
     }
     //return ($active ? array('key' => wp_create_nonce($pluginFile . '-SNNonceAdder')) : false);
     return $active ? array('key' => md5($pluginFile . '-SNNonceAdder')) : false;
 }
    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="mainwp_info-box-yellow">
                <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://extensions.mainwp.com/"><?php 
            _e('Download your first extension now.', 'mainwp');
            ?>
</a></p>
            </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>
<?php 
            }
            ?>
</div>
<div id="mainwp-extensions-list">
        <?php 
            if (isset($extensions) && is_array($extensions)) {
                foreach ($extensions as $extension) {
                    if (!mainwp_current_user_can("extension", dirname($extension['slug']))) {
                        continue;
                    }
                    $active = MainWPExtensions::isExtensionEnabled($extension['plugin']);
                    $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($extension['iconURI']) && $extension['iconURI'] != '') {
                        ?>
<img title="<?php 
                        echo $extension['name'];
                        ?>
" src="<?php 
                        echo MainWPUtility::removeHttpPrefix($extension['iconURI']);
                        ?>
" class="mainwp-extensions-img large <?php 
                        echo $active ? '' : 'mainwp-extension-icon-desaturated';
                        ?>
" /><?php 
                    } else {
                        ?>
<img title="MainWP Placeholder" src="<?php 
                        echo plugins_url('images/extensions/placeholder.png', dirname(__FILE__));
                        ?>
" class="mainwp-extensions-img large <?php 
                        echo $active ? '' : 'mainwp-extension-icon-desaturated';
                        ?>
" /><?php 
                    }
                    ?>
                </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">V. <?php 
                    echo $extension['version'];
                    ?>
</td>
                            <td class="mainwp-extensions-childActions">
                                <?php 
                    if ($active) {
                        ?>
                                    <?php 
                        if (isset($extension['apiManager']) && $extension['apiManager'] && !empty($extension['api_key'])) {
                            ?>
                                        <a href="javascript:void(0)" class="api-status activated" ><?php 
                            _e('Activated', 'mainwp');
                            ?>
</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                        <?php 
                            if (mainwp_current_user_can("dashboard", "manage_extensions")) {
                                ?>
                                    
                                        <a href="#" class="mainwp-extensions-api-activation" style="font-size: 28px;"><i class="fa fa-unlock"></i></a>
                                        <?php 
                            }
                            ?>
                                    <?php 
                        } else {
                            ?>
                                        <?php 
                            if (mainwp_current_user_can("dashboard", "manage_extensions")) {
                                ?>
                                            <a href="#" class="button mainwp-extensions-disable"><?php 
                                _e('Disable', 'mainwp');
                                ?>
</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                            <span style="font-size: 28px;"><i class="fa fa-unlock"></i></span>
                                        <?php 
                            }
                            //
                            ?>
                                    <?php 
                        }
                        ?>
                                    <?php 
                        if (isset($extension['direct_page']) && !empty($extension['direct_page'])) {
                            ?>
                                        <a href="<?php 
                            echo admin_url('admin.php?page=' . $extension['direct_page']);
                            ?>
" style="font-size: 28px;"><i class="fa fa-wrench"></i></a>
                                    <?php 
                        } else {
                            if (isset($extension['callback'])) {
                                ?>
                                        <a href="<?php 
                                echo admin_url('admin.php?page=' . $extension['page']);
                                ?>
" style="font-size: 28px;"><i class="fa fa-wrench"></i></a>
                                    <?php 
                            } else {
                                ?>
                                        <span style="font-size: 28px; color: #e5e5e5;"><i class="fa fa-wrench"></i></span>
                                    <?php 
                            }
                        }
                        ?>
                                    <?php 
                        if (mainwp_current_user_can("dashboard", "manage_extensions")) {
                            ?>
                                    <span style="font-size: 28px; color: #e5e5e5;"><i class="fa fa-trash"></i></span>
                                    <?php 
                        }
                        //
                        ?>
                                <?php 
                    } else {
                        $apilink = '';
                        $locked = false;
                        if (isset($extension['mainwp']) && $extension['mainwp'] == true) {
                            //MainWP plugin, check if it requires authentication
                            if (isset($extension['api'])) {
                                $apilink = admin_url('admin.php?page=Settings');
                                //plugin locked (api not valid)
                                $locked = MainWPAPISettings::testAPIs($extension['api']) != 'VALID';
                            }
                        } else {
                            //Third party plugin, check if it requires authentication
                            if (isset($extension['apilink'])) {
                                $apilink = $extension['apilink'];
                                //plugin locked
                                $locked = isset($extension['locked']) && $extension['locked'] == true;
                            }
                        }
                        ?>
                                    <?php 
                        if (isset($extension['apiManager']) && $extension['apiManager'] && !empty($extension['api_key'])) {
                            ?>
                                        <a href="javascript:void(0)" class="api-status deactivated" title="Not Activated"><?php 
                            _e('Deactivated', 'mainwp');
                            ?>
</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                        <?php 
                            if (mainwp_current_user_can("dashboard", "manage_extensions")) {
                                ?>
                                                                               
                                            <a href="#" class="mainwp-extensions-api-activation"><i class="fa fa-lock image-api-status"></i></a>                                    
                                        <?php 
                            }
                            ?>
                                    <?php 
                        } else {
                            ?>
                                        <?php 
                            if (mainwp_current_user_can("dashboard", "manage_extensions")) {
                                ?>
                                        <button class="button-primary mainwp-extensions-enable" <?php 
                                echo $locked ? 'disabled' : '';
                                ?>
><?php 
                                _e('Enable', 'mainwp');
                                ?>
</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                        <?php 
                                if ($apilink != '') {
                                    ?>
                                        <a href="<?php 
                                    echo $apilink;
                                    ?>
" style="font-size: 28px;"><i class="fa fa-<?php 
                                    echo (!$locked ? 'un' : '') . 'lock';
                                    ?>
"></i></a>
                                        <?php 
                                } else {
                                    ?>
                                        <i class="fa fa-unlock"></i></a>
                                        <?php 
                                }
                                ?>
                                        <?php 
                            }
                            ?>
                                        
                                    <?php 
                        }
                        ?>
                                        
                                    <?php 
                        if (isset($extension['callback'])) {
                            ?>
                                        <a href="<?php 
                            echo admin_url('admin.php?page=' . $extension['page']);
                            ?>
" style="font-size: 28px;"><i class="fa fa-wrench"></i></a>
                                    <?php 
                        } else {
                            ?>
                                        <img src="<?php 
                            echo plugins_url('images/extensions/settings-freeze.png', dirname(__FILE__));
                            ?>
" title="Settings" />
                                    <?php 
                        }
                        ?>
                                    <?php 
                        if (mainwp_current_user_can("dashboard", "manage_extensions")) {
                            ?>
                                    <a href="#" class="mainwp-extensions-trash" style="font-size: 28px"><i class="fa fa-trash"></i></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') . '</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 
                        echo __("API License Key", "mainwp");
                        ?>
" value="<?php 
                        echo $extension["api_key"];
                        ?>
"/>
                                    <input type="text" class="input api_email" placeholder="<?php 
                        echo __("API License Email", "mainwp");
                        ?>
" value="<?php 
                        echo $extension["activation_email"];
                        ?>
"/>
                                    <input type="button" class="button-primary mainwp-extensions-activate" value="<?php 
                        _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);
    }