/** * @return void */ private function prepare_plugin_data() { $site_relations = $this->plugin_data->get('site_relations'); $table_list = new Mlp_Db_Table_List($this->wpdb); $this->link_table = $this->wpdb->base_prefix . 'multilingual_linked'; $this->plugin_file_path = $this->plugin_data->get('plugin_file_path'); $this->plugin_data->set('module_manager', new Mlp_Module_Manager('state_modules')); $this->plugin_data->set('site_manager', new Mlp_Module_Manager('inpsyde_multilingual')); $this->plugin_data->set('table_list', $table_list); $this->plugin_data->set('link_table', $this->link_table); $this->plugin_data->set('content_relations', new Mlp_Content_Relations($this->wpdb, $site_relations, new Mlp_Db_Table_Name($this->link_table, $table_list))); $this->plugin_data->set('language_api', new Mlp_Language_Api($this->plugin_data, 'mlp_languages', $site_relations, $this->plugin_data->get('content_relations'), $this->wpdb)); $this->plugin_data->set('assets', new Mlp_Assets($this->plugin_data->get('locations'))); }
/** * Check current state of the WordPress installation. * * @param string $pagenow * @param Inpsyde_Property_List_Interface $data * @param string $wp_version * @param wpdb $wpdb * * @return bool */ function mlp_pre_run_test($pagenow, Inpsyde_Property_List_Interface $data, $wp_version, wpdb $wpdb) { $self_check = new Mlp_Self_Check(__FILE__, $pagenow); $requirements_check = $self_check->pre_install_check($data->get('plugin_name'), $data->get('plugin_base_name'), $wp_version); if (Mlp_Self_Check::PLUGIN_DEACTIVATED === $requirements_check) { return FALSE; } $data->set('site_relations', new Mlp_Site_Relations($wpdb, 'mlp_site_relations')); if (Mlp_Self_Check::INSTALLATION_CONTEXT_OK === $requirements_check) { $deactivator = new Mlp_Network_Plugin_Deactivation(); $last_version_option = get_site_option('mlp_version'); $last_version = new Mlp_Semantic_Version_Number($last_version_option); $current_version = new Mlp_Semantic_Version_Number($data->get('version')); $upgrade_check = $self_check->is_current_version($current_version, $last_version); $updater = new Mlp_Update_Plugin_Data($data, $wpdb, $current_version, $last_version); if (Mlp_Self_Check::NEEDS_INSTALLATION === $upgrade_check) { $updater->install_plugin(); } if (Mlp_Self_Check::NEEDS_UPGRADE === $upgrade_check) { $updater->update($deactivator); } } return TRUE; }