array( 'title' => __('File permissions', 'all-in-one-wp-security-and-firewall'), 'render_callback' => array($this, 'render_file_permissions'), 'display_condition_callback' => array('AIOWPSecurity_Utility_Permissions', 'is_main_site_and_super_admin'), ), 'file-protection' => array( 'title' => __('File protection', 'all-in-one-wp-security-and-firewall'), 'render_callback' => array($this, 'render_file_protection'), 'display_condition_callback' => array('AIOWPSecurity_Utility_Permissions', 'is_main_site_and_super_admin'), ), 'host-system-logs' => array( 'title' => __('Host system logs', 'all-in-one-wp-security-and-firewall'), 'render_callback' => array($this, 'render_host_system_logs'), 'display_condition_callback' => array('AIOWPSecurity_Utility_Permissions', 'is_main_site_and_super_admin'), ), 'copy-protection' => array( 'title' => __('Copy protection', 'all-in-one-wp-security-and-firewall'), 'render_callback' => array($this, 'render_copy_protection'), ), 'frames' => array( 'title' => __('Frames', 'all-in-one-wp-security-and-firewall'), 'render_callback' => array($this, 'render_frames'), ), ); $this->menu_tabs = array_filter($menu_tabs, array($this, 'should_display_tab')); } /** * Renders the submenu's file permissions tab * * @return Void */ protected function render_file_permissions() { // if this is the case there is no need to display a "fix permissions" button global $aio_wp_security, $aiowps_feature_mgr; $files_dirs_to_check = AIOWPSecurity_Utility_File::get_files_and_dirs_to_check(); $aio_wp_security->include_template('wp-admin/filesystem-security/file-permissions.php', false, array('aiowps_feature_mgr' => $aiowps_feature_mgr, 'files_dirs_to_check' => $files_dirs_to_check, 'file_utility' => new AIOWPSecurity_Utility_File())); } /** * Renders the submenu's 'File protection' tab * * @return void */ protected function render_file_protection() { global $aio_wp_security; $show_disallow_file_edit_warning = defined('DISALLOW_FILE_EDIT') && DISALLOW_FILE_EDIT && '1' != $aio_wp_security->configs->get_value('aiowps_disable_file_editing'); $aio_wp_security->include_template('wp-admin/filesystem-security/file-protection.php', false, array('show_disallow_file_edit_warning' => $show_disallow_file_edit_warning)); } /** * Renders the submenu's copy protection tab * * @return Void */ protected function render_copy_protection() { global $aio_wp_security; $aio_wp_security->include_template('wp-admin/filesystem-security/copy-protection.php', false, array()); } /** * Renders the submenu's render frames tab * * @return Void */ protected function render_frames() { global $aio_wp_security; $aio_wp_security->include_template('wp-admin/filesystem-security/frames.php', false, array()); } /** * Renders the submenu's host system logs tab * * @return Void */ protected function render_host_system_logs() { global $aio_wp_security; $sys_log_file = basename($aio_wp_security->configs->get_value('aiowps_system_log_file')); $aio_wp_security->include_template('wp-admin/filesystem-security/host-system-logs.php', false, array('sys_log_file' => $sys_log_file)); } /** * Called via filter admin_footer, this adds the needed javascript to page * * @return void */ public function filesystem_menu_footer_code() { ?>