Esempio n. 1
0
 static function add_meta_boxes($page)
 {
     $i = 1;
     add_meta_box($page . '-contentbox-' . $i++, MainWPRightNow::getName(), array(MainWPRightNow::getClassName(), 'render'), $page, 'normal', 'core');
     if (mainwp_current_user_can("dashboard", "manage_posts")) {
         add_meta_box($page . '-contentbox-' . $i++, MainWPRecentPosts::getName(), array(MainWPRecentPosts::getClassName(), 'render'), $page, 'normal', 'core');
     }
     if (mainwp_current_user_can("dashboard", "manage_pages")) {
         add_meta_box($page . '-contentbox-' . $i++, MainWPRecentPages::getName(), array(MainWPRecentPages::getClassName(), 'render'), $page, 'normal', 'core');
     }
     if (mainwp_current_user_can("dashboard", "manage_security_issues")) {
         add_meta_box($page . '-contentbox-' . $i++, MainWPSecurityIssues::getMetaboxName(), array(MainWPSecurityIssues::getClassName(), 'renderMetabox'), $page, 'normal', 'core');
     }
     global $mainwpUseExternalPrimaryBackupsMethod;
     if (empty($mainwpUseExternalPrimaryBackupsMethod)) {
         add_meta_box($page . '-contentbox-' . $i++, MainWPBackupTasks::getName(), array(MainWPBackupTasks::getClassName(), 'render'), $page, 'normal', 'core');
     }
     if (mainwp_current_user_can("dashboard", "see_seo_statistics")) {
         if (get_option('mainwp_seo') == 1) {
             add_meta_box($page . '-contentbox-' . $i++, MainWPSEO::getName(), array(MainWPSEO::getClassName(), 'render'), $page, 'normal', 'core');
         }
     }
     add_meta_box($page . '-contentbox-' . $i++, MainWPExtensionsWidget::getName(), array(MainWPExtensionsWidget::getClassName(), 'render'), $page, 'normal', 'core');
     add_meta_box($page . '-contentbox-' . $i++, MainWPHelp::getName(), array(MainWPHelp::getClassName(), 'render'), $page, 'normal', 'core');
     //add_meta_box($page.'-contentbox-' . $i++, MainWPNews::getName(), array(MainWPNews::getClassName(), 'render'), $page, 'normal', 'core');
     $extMetaBoxs = MainWPSystem::Instance()->apply_filter('mainwp-getmetaboxes', array());
     $extMetaBoxs = apply_filters('mainwp-getmetaboxs', $extMetaBoxs);
     foreach ($extMetaBoxs as $metaBox) {
         add_meta_box($page . '-contentbox-' . $i++, $metaBox['metabox_title'], $metaBox['callback'], $page, 'normal', 'core');
     }
 }
Esempio n. 2
0
 public static function initMetaBoxes()
 {
     add_filter('postbox_classes_bulkpost_select-sites-div', array('MainWPMetaBoxes', 'add_metabox_classes'));
     add_filter('postbox_classes_bulkpage_select-sites-div', array('MainWPMetaBoxes', 'add_metabox_classes'));
     //Add metaboxes to bulkpost
     add_meta_box('select-sites-div', __('Select sites', 'mainwp') . '<div class="mainwp_sites_selectcount toggle">0</div>', array(&MainWPSystem::Instance()->metaboxes, 'select_sites'), 'bulkpost', 'side', 'default');
     add_meta_box('add-categories-div', __('Categories', 'mainwp'), array(&MainWPSystem::Instance()->metaboxes, 'add_categories'), 'bulkpost', 'side', 'default');
     add_meta_box('add-tags-div', __('Tags', 'mainwp'), array(&MainWPSystem::Instance()->metaboxes, 'add_tags'), 'bulkpost', 'side', 'default');
     add_meta_box('add-slug-div', __('Slug', 'mainwp'), array(&MainWPSystem::Instance()->metaboxes, 'add_slug'), 'bulkpost', 'side', 'default');
     //Add metaboxes to bulkpage
     add_meta_box('select-sites-div', __('Select sites', 'mainwp') . '<div class="mainwp_sites_selectcount toggle">0</div>', array(&MainWPSystem::Instance()->metaboxes, 'select_sites'), 'bulkpage', 'side', 'default');
     add_meta_box('add-slug-div', __('Slug', 'mainwp'), array(&MainWPSystem::Instance()->metaboxes, 'add_slug'), 'bulkpage', 'side', 'default');
 }
Esempio n. 3
0
 public function __construct($mainwp_plugin_file)
 {
     MainWPSystem::$instance = $this;
     $this->update();
     $this->plugin_slug = plugin_basename($mainwp_plugin_file);
     list($t1, $t2) = explode('/', $this->plugin_slug);
     $this->slug = str_replace('.php', '', $t2);
     $this->apiStatus = MainWPAPISettings::testAPIs('main');
     if (is_admin()) {
         include_once ABSPATH . 'wp-admin' . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'plugin.php';
         //Version information from wordpress
         $pluginData = get_plugin_data($mainwp_plugin_file);
         $this->current_version = $pluginData['Version'];
         $currentVersion = get_option('mainwp_plugin_version');
         if (version_compare($currentVersion, $this->current_version, '<')) {
             update_option('mainwp_reset_user_tips', array());
             MainWPUtility::update_option('mainwp_reset_user_cookies', array());
             //delete_option('mainwp_api_sslVerifyCertificate');
         }
         MainWPUtility::update_option('mainwp_plugin_version', $this->current_version);
     }
     if (get_option("mainwp_upgradeVersionInfo") != "" && get_option("mainwp_upgradeVersionInfo") != null) {
         $this->upgradeVersionInfo = unserialize(get_option("mainwp_upgradeVersionInfo"));
     } else {
         $this->upgradeVersionInfo = null;
     }
     $this->handleSettingsPost();
     $ssl_api_verifyhost = get_option('mainwp_api_sslVerifyCertificate') === false || get_option('mainwp_api_sslVerifyCertificate') == 1 ? 1 : 0;
     if ($ssl_api_verifyhost == 0) {
         add_filter('http_request_args', array(MainWPExtensions::getClassName(), 'noSSLFilterExtensionUpgrade'), 99, 2);
     }
     MainWPExtensions::init();
     add_action('in_plugin_update_message-' . $this->plugin_slug, array($this, 'in_plugin_update_message'), 10, 2);
     add_action('init', array(&$this, 'localization'));
     // define the alternative API for updating checking
     add_filter('site_transient_update_plugins', array(&$this, 'check_update_custom'));
     // Define the alternative response for information checking
     add_filter('pre_set_site_transient_update_plugins', array(&$this, 'pre_check_update_custom'));
     add_filter('plugins_api', array(&$this, 'check_info'), 10, 3);
     $this->metaboxes = new MainWPMetaBoxes();
     MainWPMain::get();
     //init main dashboard
     MainWPManageSites::init();
     new MainWPHooks();
     //Init the hooks
     //Change menu & widgets
     add_action('admin_menu', array(&$this, 'new_menus'));
     //Change footer
     add_filter('update_footer', array(&$this, 'update_footer'), 15);
     //Add js
     add_action('admin_head', array(&$this, 'admin_head'));
     add_action('admin_enqueue_scripts', array(&$this, 'admin_enqueue_styles'));
     add_action('admin_enqueue_scripts', array(&$this, 'admin_enqueue_scripts'));
     //Add body class
     add_action('admin_body_class', array(&$this, 'admin_body_class'));
     //Handle the bulkpost
     add_action('publish_bulkpost', array(&$this, 'publish_bulkpost'));
     add_action('save_post', array(&$this, 'save_bulkpost'));
     add_action('save_post', array(&$this, 'save_bulkpage'));
     add_action('add_meta_boxes_bulkpost', array('MainWPPost', 'addStickyOption'));
     //Handle the bulkpage
     add_action('publish_bulkpage', array(&$this, 'publish_bulkpage'));
     //Add meta boxes for the bulkpost
     add_action('admin_init', array(&$this, 'admin_init'));
     //Create the post types for bulkpost/...
     add_action('init', array(&$this, 'create_post_type'));
     add_action('init', array(&$this, 'parse_init'));
     add_action('init', array(&$this, 'init'), 9999);
     //Remove the pages from the menu which I use in AJAX
     add_action('admin_menu', array(&$this, 'admin_menu'));
     //Add custom error messages
     add_filter('post_updated_messages', array(&$this, 'post_updated_messages'));
     add_action('login_form', array(&$this, 'login_form'));
     add_action('admin_print_styles', array(&$this, 'admin_print_styles'));
     add_filter('admin_footer', array($this, 'admin_footer'));
     MainWPInstallBulk::init();
     do_action('mainwp_cronload_action');
     //Cron every 5 minutes
     add_action('mainwp_cronofflinecheck_action', array($this, 'mainwp_cronofflinecheck_action'));
     add_action('mainwp_cronstats_action', array($this, 'mainwp_cronstats_action'));
     add_action('mainwp_cronbackups_action', array($this, 'mainwp_cronbackups_action'));
     add_action('mainwp_cronbackups_continue_action', array($this, 'mainwp_cronbackups_continue_action'));
     add_action('mainwp_cronconflicts_action', array($this, 'mainwp_cronconflicts_action'));
     add_action('mainwp_cronupdatescheck_action', array($this, 'mainwp_cronupdatescheck_action'));
     add_action('mainwp_cronpingchilds_action', array($this, 'mainwp_cronpingchilds_action'));
     add_filter('cron_schedules', array('MainWPUtility', 'getCronSchedules'));
     $useWPCron = get_option('mainwp_wp_cron') === false || get_option('mainwp_wp_cron') == 1;
     if (($sched = wp_next_scheduled('mainwp_cronofflinecheck_action')) == false) {
         if ($useWPCron) {
             wp_schedule_event(time(), '5minutely', 'mainwp_cronofflinecheck_action');
         }
     } else {
         if (!$useWPCron) {
             wp_unschedule_event($sched, 'mainwp_cronofflinecheck_action');
         }
     }
     if (($sched = wp_next_scheduled('mainwp_cronstats_action')) == false) {
         if ($useWPCron) {
             wp_schedule_event(time(), 'hourly', 'mainwp_cronstats_action');
         }
     } else {
         if (!$useWPCron) {
             wp_unschedule_event($sched, 'mainwp_cronstats_action');
         }
     }
     if (($sched = wp_next_scheduled('mainwp_cronbackups_action')) == false) {
         if ($useWPCron) {
             wp_schedule_event(time(), 'hourly', 'mainwp_cronbackups_action');
         }
     } else {
         if (!$useWPCron) {
             wp_unschedule_event($sched, 'mainwp_cronbackups_action');
         }
     }
     if (($sched = wp_next_scheduled('mainwp_cronbackups_continue_action')) == false) {
         if ($useWPCron) {
             wp_schedule_event(time(), '5minutely', 'mainwp_cronbackups_continue_action');
         }
     } else {
         if (!$useWPCron) {
             wp_unschedule_event($sched, 'mainwp_cronbackups_continue_action');
         }
     }
     if (($sched = wp_next_scheduled('mainwp_cronconflicts_action')) == false) {
         if ($useWPCron) {
             wp_schedule_event(time(), 'twicedaily', 'mainwp_cronconflicts_action');
         }
     } else {
         if (!$useWPCron) {
             wp_unschedule_event($sched, 'mainwp_cronconflicts_action');
         }
     }
     if (($sched = wp_next_scheduled('mainwp_cronremotedestinationcheck_action')) != false) {
         wp_unschedule_event($sched, 'mainwp_cronremotedestinationcheck_action');
     }
     if (($sched = wp_next_scheduled('mainwp_cronpingchilds_action')) == false) {
         if ($useWPCron) {
             wp_schedule_event(time(), 'daily', 'mainwp_cronpingchilds_action');
         }
     } else {
         if (!$useWPCron) {
             wp_unschedule_event($sched, 'mainwp_cronpingchilds_action');
         }
     }
     if (($sched = wp_next_scheduled('mainwp_cronupdatescheck_action')) == false) {
         if ($useWPCron) {
             wp_schedule_event(time(), 'minutely', 'mainwp_cronupdatescheck_action');
         }
     } else {
         if (!$useWPCron) {
             wp_unschedule_event($sched, 'mainwp_cronupdatescheck_action');
         }
     }
     add_action('plugin_action_links_' . $this->plugin_slug, array(&$this, 'plugin_action_links'));
     add_action('admin_notices', array(&$this, 'admin_notices'));
     add_filter('mainwp-activated-check', array(&$this, 'activated_check'));
     add_filter('mainwp-activated-sub-check', array(&$this, 'activated_sub_check'));
     add_filter('mainwp-extension-enabled-check', array(MainWPExtensions::getClassName(), 'isExtensionEnabled'));
     add_filter('mainwp-getsites', array(MainWPExtensions::getClassName(), 'hookGetSites'), 10, 4);
     add_filter('mainwp-getdbsites', array(MainWPExtensions::getClassName(), 'hookGetDBSites'), 10, 5);
     add_filter('mainwp-getgroups', array(MainWPExtensions::getClassName(), 'hookGetGroups'), 10, 4);
     add_action('mainwp_fetchurlsauthed', array(&$this, 'filter_fetchUrlsAuthed'), 10, 7);
     add_filter('mainwp_fetchurlauthed', array(&$this, 'filter_fetchUrlAuthed'), 10, 5);
     add_filter('mainwp_getdashboardsites', array(MainWPExtensions::getClassName(), 'hookGetDashboardSites'), 10, 7);
     add_filter('mainwp-manager-getextensions', array(MainWPExtensions::getClassName(), 'hookManagerGetExtensions'));
     add_action('mainwp_bulkpost_metabox_handle', array($this, 'hookBulkPostMetaboxHandle'));
     add_action('mainwp_bulkpage_metabox_handle', array($this, 'hookBulkPageMetaboxHandle'));
     $this->posthandler = new MainWPPostHandler();
     do_action('mainwp-activated');
     MainWPPost::init();
     MainWPSettings::init();
     MainWPManageBackups::init();
     MainWPUser::init();
     MainWPPage::init();
     MainWPThemes::init();
     MainWPPlugins::init();
     MainWPRightNow::init();
 }
Esempio n. 4
0
 public static function on_load_page_dashboard()
 {
     wp_enqueue_script('common');
     wp_enqueue_script('wp-lists');
     wp_enqueue_script('postbox');
     wp_enqueue_script('dashboard');
     wp_enqueue_script('widgets');
     $i = 1;
     add_meta_box(self::$page . '-metaboxes-contentbox-' . $i++, MainWPRightNow::getName(), array(MainWPRightNow::getClassName(), 'render'), self::$page, 'normal', 'core');
     if (mainwp_current_user_can("dashboard", "manage_posts")) {
         add_meta_box(self::$page . '-metaboxes-contentbox-' . $i++, MainWPRecentPosts::getName(), array(MainWPRecentPosts::getClassName(), 'render'), self::$page, 'normal', 'core');
     }
     if (mainwp_current_user_can("dashboard", "manage_pages")) {
         add_meta_box(self::$page . '-metaboxes-contentbox-' . $i++, MainWPRecentPages::getName(), array(MainWPRecentPages::getClassName(), 'render'), self::$page, 'normal', 'core');
     }
     add_meta_box(self::$page . '-metaboxes-contentbox-' . $i++, MainWPShortcuts::getName(), array(MainWPShortcuts::getClassName(), 'render'), self::$page, 'normal', 'core');
     if (mainwp_current_user_can("dashboard", "manage_security_issues")) {
         add_meta_box(self::$page . '-metaboxes-contentbox-' . $i++, MainWPSecurityIssues::getMetaboxName(), array(MainWPSecurityIssues::getClassName(), 'renderMetabox'), self::$page, 'normal', 'core');
     }
     if (get_option('mainwp_seo') == 1) {
         add_meta_box(self::$page . '-metaboxes-contentbox-' . $i++, MainWPManageSites::getMetaboxName(), array(MainWPManageSites::getClassName(), 'renderMetabox'), self::$page, 'normal', 'core');
     }
     global $mainwpUseExternalPrimaryBackupsMethod;
     if (empty($mainwpUseExternalPrimaryBackupsMethod)) {
         add_meta_box(self::$page . '-metaboxes-contentbox-' . $i++, MainWPManageBackups::getMetaboxName(), array(MainWPManageBackups::getClassName(), 'renderMetabox'), self::$page, 'normal', 'core');
     }
     add_meta_box(self::$page . '-metaboxes-contentbox-' . $i++, MainWPWidgetPlugins::getName(), array(MainWPWidgetPlugins::getClassName(), 'render'), self::$page, 'normal', 'core');
     add_meta_box(self::$page . '-metaboxes-contentbox-' . $i++, MainWPWidgetThemes::getName(), array(MainWPWidgetThemes::getClassName(), 'render'), self::$page, 'normal', 'core');
     add_meta_box(self::$page . '-metaboxes-contentbox-' . $i++, MainWPNotes::getName(), array(MainWPNotes::getClassName(), 'render'), self::$page, 'normal', 'core');
     $extMetaBoxs = MainWPSystem::Instance()->apply_filter('mainwp-getmetaboxes', array());
     $extMetaBoxs = apply_filters('mainwp-getmetaboxs', $extMetaBoxs);
     foreach ($extMetaBoxs as $metaBox) {
         add_meta_box(self::$page . '-contentbox-' . $i++, $metaBox['metabox_title'], $metaBox['callback'], self::$page, 'normal', 'core');
     }
 }
Esempio n. 5
0
 public function updateUserExtension($userExtension)
 {
     $userid = $userExtension->userid;
     if ($userid == null) {
         if (MainWPSystem::Instance()->isSingleUser()) {
             $userid = '0';
         } else {
             global $current_user;
             $userid = $current_user->ID;
         }
     }
     $row = $this->wpdb->get_row('SELECT * FROM ' . $this->tableName('users') . ' WHERE userid= ' . $userid, OBJECT);
     if ($row == null) {
         $this->createUserExtension($userid);
     }
     $fields = array();
     foreach ($userExtension as $field => $value) {
         if ($value != $row->{$field}) {
             $fields[$field] = $value;
         }
     }
     if (count($fields) > 0) {
         $this->wpdb->update($this->tableName('users'), $fields, array('userid' => $userid));
     }
     $row = $this->wpdb->get_row('SELECT * FROM ' . $this->tableName('users') . ' WHERE userid= ' . $userid, OBJECT);
     return $row;
 }
Esempio n. 6
0
 function getMetaBoxes()
 {
     return MainWPSystem::Instance()->metaboxes;
 }
Esempio n. 7
0
 public static function can_edit_backuptask(&$task)
 {
     if ($task == null) {
         return false;
     }
     if (MainWPSystem::Instance()->isSingleUser()) {
         return true;
     }
     global $current_user;
     return $task->userid == $current_user->ID;
 }
Esempio n. 8
0
 public static function getUpgradeInformation($pSlug)
 {
     $username = get_option("mainwp_api_username");
     $password = MainWPUtility::decrypt(get_option('mainwp_api_password'), 'MainWPAPI');
     try {
         $responseArray = MainWPUtility::http_post('do=getUpgradeInformationV2&slugs=' . $pSlug . '&username='******'An error occured when trying to reach the MainWP server: ' . $e->getMessage());
         return null;
     }
     if (stripos($responseArray[1], 'error') !== false && stripos($responseArray[1], 'error') == 0) {
         return null;
     }
     $rslt = unserialize($responseArray[1]);
     $rslt->slug = MainWPSystem::Instance()->slug;
     return $rslt;
 }