__( 'disabled', 'wp-security-audit-log' ), 'user' => __( 'user accounts only', 'wp-security-audit-log' ), 'blog' => __( 'users can register new sites', 'wp-security-audit-log' ), 'all' => __( 'sites & users can be registered', 'wp-security-audit-log' ), ); $this->plugin->alerts->Trigger( 7012, array( 'previous_setting' => ( isset( $possible_values[ $old_value ] ) ) ? $possible_values[ $old_value ] : $old_value, 'new_setting' => ( isset( $possible_values[ $value ] ) ) ? $possible_values[ $value ] : $value, ) ); break; case 'add_new_users': $this->plugin->alerts->Trigger( 7007, array( 'EventType' => ( ! $value ) ? 'disabled' : 'enabled', ) ); break; case 'upload_space_check_disabled': $this->plugin->alerts->Trigger( 7008, array( 'EventType' => ( $value ) ? 'disabled' : 'enabled', ) ); break; case 'blog_upload_space': $this->plugin->alerts->Trigger( 7009, array( 'old_value' => sanitize_text_field( $old_value ), 'new_value' => sanitize_text_field( $value ), ) ); break; case 'upload_filetypes': $this->plugin->alerts->Trigger( 7010, array( 'old_value' => sanitize_text_field( $old_value ), 'new_value' => sanitize_text_field( $value ), ) ); break; case 'fileupload_maxk': $this->plugin->alerts->Trigger( 7009, array( 'old_value' => sanitize_text_field( $old_value ), 'new_value' => sanitize_text_field( $value ), ) ); break; } } /** * Triggered when a user accesses the admin area. */ public function EventAdminInit() { $this->old_allowedthemes = array_keys( (array) get_site_option( 'allowedthemes' ) ); } /** * Activated/Deactivated theme on network. */ public function EventAdminShutdown() { if ( is_null( $this->old_allowedthemes ) ) { return; } $new_allowedthemes = array_keys( (array) get_site_option( 'allowedthemes' ) ); // Check for enabled themes. foreach ( $new_allowedthemes as $theme ) { if ( ! in_array( $theme, (array) $this->old_allowedthemes ) ) { $theme = wp_get_theme( $theme ); $this->plugin->alerts->Trigger( 5008, array( 'Theme' => (object) array( 'Name' => $theme->Name, 'ThemeURI' => $theme->ThemeURI, 'Description' => $theme->Description, 'Author' => $theme->Author, 'Version' => $theme->Version, 'get_template_directory' => $theme->get_template_directory(), ), ) ); } } // Check for disabled themes. foreach ( (array) $this->old_allowedthemes as $theme ) { if ( ! in_array( $theme, $new_allowedthemes ) ) { $theme = wp_get_theme( $theme ); $this->plugin->alerts->Trigger( 5009, array( 'Theme' => (object) array( 'Name' => $theme->Name, 'ThemeURI' => $theme->ThemeURI, 'Description' => $theme->Description, 'Author' => $theme->Author, 'Version' => $theme->Version, 'get_template_directory' => $theme->get_template_directory(), ), ) ); } } } /** * New site added on the network. * * @param WP_Site $new_blog - New site object. */ public function EventNewBlog( $new_blog ) { $blog_id = $new_blog->blog_id; $this->plugin->alerts->Trigger( 7000, array( 'BlogID' => $blog_id, 'SiteName' => get_blog_option( $blog_id, 'blogname' ), 'BlogURL' => get_home_url( $blog_id ), ) ); } /** * Existing site archived. * * @param int $blog_id - Blog ID. */ public function EventArchiveBlog( $blog_id ) { $this->plugin->alerts->Trigger( 7001, array( 'BlogID' => $blog_id, 'SiteName' => get_blog_option( $blog_id, 'blogname' ), 'BlogURL' => get_home_url( $blog_id ), ) ); } /** * Archived site has been unarchived. * * @param int $blog_id - Blog ID. */ public function EventUnarchiveBlog( $blog_id ) { $this->plugin->alerts->Trigger( 7002, array( 'BlogID' => $blog_id, 'SiteName' => get_blog_option( $blog_id, 'blogname' ), 'BlogURL' => get_home_url( $blog_id ), ) ); } /** * Deactivated site has been activated. * * @param int $blog_id - Blog ID. */ public function EventActivateBlog( $blog_id ) { $this->plugin->alerts->Trigger( 7003, array( 'BlogID' => $blog_id, 'SiteName' => get_blog_option( $blog_id, 'blogname' ), 'BlogURL' => get_home_url( $blog_id ), ) ); } /** * Site has been deactivated. * * @param int $blog_id - Blog ID. */ public function EventDeactivateBlog( $blog_id ) { $this->plugin->alerts->Trigger( 7004, array( 'BlogID' => $blog_id, 'SiteName' => get_blog_option( $blog_id, 'blogname' ), 'BlogURL' => get_home_url( $blog_id ), ) ); } /** * Existing site deleted from network. * * @param WP_Site $deleted_blog - Deleted blog object. */ public function EventDeleteBlog( $deleted_blog ) { $blog_id = $deleted_blog->blog_id; $this->plugin->alerts->Trigger( 7005, array( 'BlogID' => $blog_id, 'SiteName' => get_blog_option( $blog_id, 'blogname' ), 'BlogURL' => get_home_url( $blog_id ), ) ); } /** * Existing user added to a site. * * @param int $user_id - User ID. * @param string $role - User role. * @param int $blog_id - Blog ID. */ public function EventUserAddedToBlog( $user_id, $role, $blog_id ) { $user = get_userdata( $user_id ); $this->plugin->alerts->TriggerIf( 4010, array( 'TargetUserID' => $user_id, 'TargetUsername' => $user ? $user->user_login : false, 'TargetUserRole' => $role, 'BlogID' => $blog_id, 'SiteName' => get_blog_option( $blog_id, 'blogname' ), 'FirstName' => $user ? $user->user_firstname : false, 'LastName' => $user ? $user->user_lastname : false, 'EditUserLink' => add_query_arg( 'user_id', $user_id, admin_url( 'user-edit.php' ) ), ), array( $this, 'MustNotContainCreateUser' ) ); } /** * User removed from site. * * @param int $user_id - User ID. * @param int $blog_id - Blog ID. */ public function EventUserRemovedFromBlog( $user_id, $blog_id ) { $user = get_userdata( $user_id ); $this->plugin->alerts->TriggerIf( 4011, array( 'TargetUserID' => $user_id, 'TargetUsername' => $user->user_login, 'TargetUserRole' => is_array( $user->roles ) ? implode( ', ', $user->roles ) : $user->roles, 'BlogID' => $blog_id, 'SiteName' => get_blog_option( $blog_id, 'blogname' ), 'FirstName' => $user ? $user->user_firstname : false, 'LastName' => $user ? $user->user_lastname : false, 'EditUserLink' => add_query_arg( 'user_id', $user_id, admin_url( 'user-edit.php' ) ), ), array( $this, 'MustNotContainCreateUser' ) ); } /** * New network user created. * * @param WSAL_AlertManager $mgr - Instance of Alert Manager. */ public function MustNotContainCreateUser( WSAL_AlertManager $mgr ) { return ! $mgr->WillTrigger( 4012 ); } }