Submit
Path:
~
/
home
/
getwphos
/
public_html
/
deerguard
/
wp-content
/
plugins
/
wp-security-audit-log
/
classes
/
WPSensors
/
File Content:
class-bbpress-sensor.php
<?php /** * Sensor: BBPress. * * BBPress sensor class file. * * @since 1.0.0 * * @package Wsal */ declare(strict_types=1); namespace WSAL\WP_Sensors; use WSAL\Controllers\Alert_Manager; use WSAL\Helpers\WP_Helper; use WSAL\WP_Sensors\Helpers\BBPress_Helper; // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( '\WSAL\WP_Sensors\BBPress_Sensor' ) ) { /** * Support for BBPress Forum Plugin. * * 8000 User created new forum * 8001 User changed status of a forum * 8002 User changed visibility of a forum * 8003 User changed the URL of a forum * 8004 User changed order of a forum * 8005 User moved forum to trash * 8006 User permanently deleted forum * 8007 User restored forum from trash * 8008 User changed the parent of a forum * 8011 User changed type of a forum * 8014 User created new topic * 8015 User changed status of a topic * 8016 User changed type of a topic * 8017 User changed URL of a topic * 8018 User changed the forum of a topic * 8019 User moved topic to trash * 8020 User permanently deleted topic * 8021 User restored topic from trash * 8022 User changed visibility of a topic * * @package Wsal * @subpackage Sensors */ class BBPress_Sensor { /** * Old permalink. * * @var string */ private static $oldlink = null; /** * Listening to events using WP hooks. * * @since 4.6.0 */ public static function init() { if ( BBPress_Helper::is_bbpress_active() ) { if ( \current_user_can( 'edit_posts' ) ) { \add_action( 'admin_init', array( __CLASS__, 'event_admin_init' ) ); } \add_action( 'post_updated', array( __CLASS__, 'check_forum_change' ), 10, 3 ); \add_action( 'delete_post', array( __CLASS__, 'event_forum_deleted' ), 10, 1 ); \add_action( 'wp_trash_post', array( __CLASS__, 'event_forum_trashed' ), 10, 1 ); \add_action( 'untrash_post', array( __CLASS__, 'event_forum_untrashed' ) ); \add_action( 'create_term', array( __CLASS__, 'check_tags_change' ), 10, 3 ); \add_action( 'delete_topic-tag', array( __CLASS__, 'event_topic_tag_deleted' ), 10, 4 ); \add_action( 'wp_update_term_data', array( __CLASS__, 'event_topic_tag_updated' ), 10, 4 ); } } /** * Loads all the plugin dependencies early. * * @return void * * @since 4.6.0 */ public static function early_init() { \add_filter( 'wsal_event_objects', array( BBPress_Helper::class, 'wsal_bbpress_add_custom_event_objects', ), 10, 2 ); \add_filter( 'wsal_togglealerts_obsolete_events', array( BBPress_Helper::class, 'wsal_bbpress_extension_togglealerts_obsolete_events', ) ); \add_filter( 'wsal_ignored_custom_post_types', array( BBPress_Helper::class, 'wsal_bbpress_extension_add_custom_ignored_cpt', ) ); } /** * Check for newly created topic tags. * * @param int $term_id - New term id. * @param int $tt_id - New taxonomy id. * @param string $taxonomy - Taxonomy type. * * @return int - Term id. * * @since 4.6.0 */ public static function check_tags_change( $term_id, $tt_id, $taxonomy ) { if ( 'topic-tag' === $taxonomy ) { $term = get_term( $term_id ); Alert_Manager::trigger_event( 8024, array( 'TagName' => $term->name, 'slug' => $term->slug, 'EditorLinkTag' => self::get_taxonomy_edit_link( $term_id ), ) ); } return $term_id; } /** * Check Product Tag Deletion Event. * * @param int $term_id - Term ID. * @param int $tt_id - Term taxonomy ID. * @param mixed $deleted_term - Copy of the already-deleted term, in the form specified by the parent function. WP_Error otherwise. * @param array $object_ids - List of term object IDs. * * @since 4.6.0 */ public static function event_topic_tag_deleted( $term_id, $tt_id, $deleted_term, $object_ids ) { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed if ( 'topic-tag' === $deleted_term->taxonomy ) { Alert_Manager::trigger_event( 8025, array( 'TagName' => sanitize_text_field( $deleted_term->name ), 'slug' => sanitize_text_field( $deleted_term->slug ), ) ); } } /** * Check Product Category Updated Events. * * @param array $data - Term data to be updated. * @param int $term_id - Term ID. * @param string $taxonomy - Taxonomy slug. * @param array $args - Arguments passed to wp_update_term(). * * @since 4.6.0 */ public static function event_topic_tag_updated( $data, $term_id, $taxonomy, $args ) { if ( 'topic-tag' === $taxonomy ) { // Get term data. $new_name = isset( $data['name'] ) ? $data['name'] : false; $new_slug = isset( $data['slug'] ) ? $data['slug'] : false; $new_parent_id = isset( $args['parent'] ) ? $args['parent'] : false; // New parent category. $new_parent_cat = false; if ( 0 !== $new_parent_id ) { $new_parent_cat = get_term( $new_parent_id, $taxonomy ); } // Get old data. $term = get_term( $term_id, $taxonomy ); $old_name = $term->name; $old_slug = $term->slug; // Old parent category. $old_parent_cat = false; if ( $term->parent ) { $old_parent_cat = get_term( $term->parent, $taxonomy ); } // Update if both names are not same. if ( $old_name !== $new_name ) { Alert_Manager::trigger_event( 8026, array( 'OldName' => sanitize_text_field( $old_name ), 'NewName' => sanitize_text_field( $new_name ), 'slug' => sanitize_text_field( $term->slug ), 'EditorLinkTag' => self::get_taxonomy_edit_link( $term_id ), ) ); } // Update if both slugs are not same. if ( $old_slug !== $new_slug ) { Alert_Manager::trigger_event( 8027, array( 'TagName' => sanitize_text_field( $new_name ), 'slug' => sanitize_text_field( $old_slug ), 'NewSlug' => sanitize_text_field( $new_slug ), 'EditorLinkTag' => self::get_taxonomy_edit_link( $term_id ), ) ); } } return $data; } /** * Builds category link. * * @param int $tag_id - Tag ID. * @param string $taxonomy - Taxonomy. * * @return string|null - Link. * * @since 4.6.0 */ private static function get_taxonomy_edit_link( $tag_id, $taxonomy = 'topic-tag' ) { $tag_args = array( 'post_type' => 'topic', 'taxonomy' => $taxonomy, 'tag_ID' => $tag_id, ); return ! empty( $tag_id ) ? add_query_arg( $tag_args, \network_admin_url( 'term.php' ) ) : null; } /** * Triggered when a user accesses the admin area. * * @since 4.6.0 */ public static function event_admin_init() { // Load old data, if applicable. self::retrieve_old_data(); // Check for Ajax changes. self::trigger_ajax_change(); } /** * Retrieve Old data. * * @global mixed $_POST post data * * @since 4.6.0 */ private static function retrieve_old_data() { // Filter $_POST array for security. $post_array = filter_input_array( INPUT_POST ); if ( isset( $post_array['post_ID'] ) && isset( $post_array['_wpnonce'] ) && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) { return false; } if ( isset( $post_array ) && isset( $post_array['post_ID'] ) && ! ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) && ! ( isset( $post_array['action'] ) && 'autosave' === $post_array['action'] ) ) { $post_id = intval( $post_array['post_ID'] ); self::$oldlink = get_permalink( $post_id ); } } /** * Calls event forum changes. * * @param int $post_id - Post ID. * @param stdClass $newpost - The new post. * @param stdClass $oldpost - The old post. * * @since 4.6.0 */ public static function check_forum_change( $post_id, $newpost, $oldpost ) { if ( self::check_bb_press( $oldpost ) ) { $changes = 0 + self::event_forum_creation( $oldpost, $newpost ); if ( ! $changes ) { // Change Visibility. $changes = self::event_forum_changed_visibility( $oldpost ); // Change Type. $changes = self::event_forum_changed_type( $oldpost ); // Change status. $changes = self::event_forum_changed_status( $oldpost ); // Change Order, Parent or URL. $changes = self::event_forum_changed( $oldpost, $newpost ); } } } /** * Permanently deleted. * * @param int $post_id Post ID. * * @since 4.6.0 */ public static function event_forum_deleted( $post_id ) { $post = get_post( $post_id ); if ( self::check_bb_press( $post ) ) { switch ( $post->post_type ) { case 'forum': self::event_forum_by_code( $post, 8006 ); break; case 'topic': self::event_topic_by_code( $post, 8020 ); break; } } } /** * Moved to Trash. * * @param int $post_id Post ID. * * @since 4.6.0 */ public static function event_forum_trashed( $post_id ) { $post = get_post( $post_id ); if ( self::check_bb_press( $post ) ) { switch ( $post->post_type ) { case 'forum': self::event_forum_by_code( $post, 8005 ); break; case 'topic': self::event_topic_by_code( $post, 8019 ); break; } } } /** * Restored from Trash. * * @param int $post_id Post ID. * * @since 4.6.0 */ public static function event_forum_untrashed( $post_id ) { $post = get_post( $post_id ); if ( self::check_bb_press( $post ) ) { switch ( $post->post_type ) { case 'forum': self::event_forum_by_code( $post, 8007 ); break; case 'topic': self::event_topic_by_code( $post, 8021 ); break; } } } /** * Check post type. * * @param stdClass $post Post. * * @return bool * * @since 4.6.0 */ private static function check_bb_press( $post ) { switch ( $post->post_type ) { case 'forum': case 'topic': case 'reply': return true; default: return false; } } /** * Event post creation. * * @param stdClass $old_post - The old post. * @param stdClass $new_post - The new post. * * @return bool * * @since 4.6.0 */ private static function event_forum_creation( $old_post, $new_post ) { // Filter $_POST array for security. $post_array = filter_input_array( INPUT_POST ); if ( isset( $post_array['post_ID'] ) && isset( $post_array['_wpnonce'] ) && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) { return false; } $original = isset( $post_array['original_post_status'] ) ? \sanitize_text_field( \wp_unslash( $post_array['original_post_status'] ) ) : ''; if ( 'draft' === $old_post->post_status || 'auto-draft' === $original ) { $editor_link = self::get_editor_link( $new_post ); if ( 'publish' === $new_post->post_status ) { switch ( $old_post->post_type ) { case 'forum': Alert_Manager::trigger_event( 8000, array( 'ForumName' => $new_post->post_title, 'ForumURL' => get_permalink( $new_post->ID ), $editor_link['name'] => $editor_link['value'], ) ); break; case 'topic': Alert_Manager::trigger_event( 8014, array( 'TopicName' => $new_post->post_title, 'TopicURL' => get_permalink( $new_post->ID ), $editor_link['name'] => $editor_link['value'], ) ); break; } return 1; } } return 0; } /** * Event post changed visibility. * * @param stdClass $post The post. * * @return bool $result * * @since 4.6.0 */ private static function event_forum_changed_visibility( $post ) { // Filter $_POST array for security. $post_array = filter_input_array( INPUT_POST ); if ( isset( $post_array['post_ID'] ) && isset( $post_array['_wpnonce'] ) && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) { return false; } $result = 0; $editor_link = self::get_editor_link( $post ); switch ( $post->post_type ) { case 'forum': $old_visibility = ! empty( $post_array['visibility'] ) ? \sanitize_text_field( \wp_unslash( $post_array['visibility'] ) ) : ''; $new_visibility = ! empty( $post_array['bbp_forum_visibility'] ) ? \sanitize_text_field( \wp_unslash( $post_array['bbp_forum_visibility'] ) ) : ''; $new_visibility = ( 'publish' === $new_visibility ) ? 'public' : $new_visibility; if ( ! empty( $new_visibility ) && 'auto-draft' !== $old_visibility && $old_visibility !== $new_visibility ) { Alert_Manager::trigger_event( 8002, array( 'ForumName' => $post->post_title, 'OldVisibility' => $old_visibility, 'NewVisibility' => $new_visibility, $editor_link['name'] => $editor_link['value'], ) ); $result = 1; } break; case 'topic': $old_visibility = ! empty( $post_array['hidden_post_visibility'] ) ? \sanitize_text_field( \wp_unslash( $post_array['hidden_post_visibility'] ) ) : ''; $new_visibility = ! empty( $post_array['visibility'] ) ? \sanitize_text_field( \wp_unslash( $post_array['visibility'] ) ) : ''; $new_visibility = ( 'password' === $new_visibility ) ? 'password protected' : $new_visibility; if ( ! empty( $new_visibility ) && 'auto-draft' !== $old_visibility && $old_visibility !== $new_visibility ) { Alert_Manager::trigger_event( 8022, array( 'TopicName' => $post->post_title, 'OldVisibility' => $old_visibility, 'NewVisibility' => $new_visibility, $editor_link['name'] => $editor_link['value'], ) ); $result = 1; } break; } return $result; } /** * Event post changed type. * * @param stdClass $post The post. * * @return bool $result * * @since 4.6.0 */ private static function event_forum_changed_type( $post ) { // Filter $_POST array for security. $post_array = filter_input_array( INPUT_POST ); if ( isset( $post_array['post_ID'] ) && isset( $post_array['_wpnonce'] ) && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) { return false; } $result = 0; $editor_link = self::get_editor_link( $post ); switch ( $post->post_type ) { case 'forum': $bbp_forum_type = get_post_meta( $post->ID, '_bbp_forum_type', true ); $old_type = ! empty( $bbp_forum_type ) ? $bbp_forum_type : 'forum'; $new_type = ! empty( $post_array['bbp_forum_type'] ) ? \sanitize_text_field( \wp_unslash( $post_array['bbp_forum_type'] ) ) : ''; if ( ! empty( $new_type ) && $old_type !== $new_type ) { Alert_Manager::trigger_event( 8011, array( 'ForumName' => $post->post_title, 'OldType' => $old_type, 'NewType' => $new_type, $editor_link['name'] => $editor_link['value'], ) ); $result = 1; } break; case 'topic': if ( ! empty( $post_array['parent_id'] ) ) { $post_id = \intval( $post_array['parent_id'] ); } else { $post_id = $post->ID; } $bbp_sticky_topics = maybe_unserialize( get_post_meta( $post_id, '_bbp_sticky_topics', true ) ); $fn = WP_Helper::is_multisite() ? 'get_site_option' : 'get_option'; $bbp_super_sticky_topics = maybe_unserialize( $fn( '_bbp_super_sticky_topics' ) ); if ( ! empty( $bbp_sticky_topics ) && in_array( $post->ID, $bbp_sticky_topics, true ) ) { $old_type = 'sticky'; } elseif ( ! empty( $bbp_super_sticky_topics ) && in_array( $post->ID, $bbp_super_sticky_topics, true ) ) { $old_type = 'super'; } else { $old_type = 'unstick'; } $new_type = ! empty( $post_array['bbp_stick_topic'] ) ? \sanitize_text_field( \wp_unslash( $post_array['bbp_stick_topic'] ) ) : ''; if ( ! empty( $new_type ) && $old_type !== $new_type ) { Alert_Manager::trigger_event( 8016, array( 'TopicName' => $post->post_title, 'OldType' => ( 'unstick' === $old_type ) ? 'normal' : ( ( 'super' === $old_type ) ? 'super sticky' : $old_type ), 'NewType' => ( 'unstick' === $new_type ) ? 'normal' : ( ( 'super' === $new_type ) ? 'super sticky' : $new_type ), $editor_link['name'] => $editor_link['value'], ) ); $result = 1; } break; } return $result; } /** * Event post changed status. * * @param stdClass $post The post. * * @return bool $result * * @since 4.6.0 */ private static function event_forum_changed_status( $post ) { // Filter $_POST and $_GET array for security. $post_array = filter_input_array( INPUT_POST ); $get_array = filter_input_array( INPUT_GET ); if ( isset( $post_array['post_ID'] ) && isset( $post_array['_wpnonce'] ) && ! wp_verify_nonce( $post_array['_wpnonce'], 'update-post_' . $post_array['post_ID'] ) ) { return false; } $result = 0; $editor_link = self::get_editor_link( $post ); switch ( $post->post_type ) { case 'forum': $bbp_status = get_post_meta( $post->ID, '_bbp_status', true ); $old_status = ! empty( $bbp_status ) ? $bbp_status : 'open'; $new_status = ! empty( $post_array['bbp_forum_status'] ) ? \sanitize_text_field( \wp_unslash( $post_array['bbp_forum_status'] ) ) : ''; if ( ! empty( $new_status ) && $old_status !== $new_status ) { Alert_Manager::trigger_event( 8001, array( 'ForumName' => $post->post_title, 'OldStatus' => $old_status, 'NewStatus' => $new_status, $editor_link['name'] => $editor_link['value'], ) ); $result = 1; } break; case 'topic': $old_status = ! empty( $post_array['original_post_status'] ) ? \sanitize_text_field( \wp_unslash( $post_array['original_post_status'] ) ) : ''; $new_status = ! empty( $post_array['post_status'] ) ? \sanitize_text_field( \wp_unslash( $post_array['post_status'] ) ) : ''; // In case of Ajax request Spam/Not spam. if ( isset( $get_array['action'] ) && 'bbp_toggle_topic_spam' === $get_array['action'] ) { $old_status = $post->post_status; $new_status = 'spam'; if ( isset( $get_array['post_status'] ) && 'spam' === $get_array['post_status'] ) { $new_status = 'publish'; } } // In case of Ajax request Close/Open. if ( isset( $get_array['action'] ) && 'bbp_toggle_topic_close' === $get_array['action'] ) { $old_status = $post->post_status; $new_status = 'closed'; if ( isset( $get_array['post_status'] ) && 'closed' === $get_array['post_status'] ) { $new_status = 'publish'; } } if ( ! empty( $new_status ) && $old_status !== $new_status ) { Alert_Manager::trigger_event( 8015, array( 'TopicName' => $post->post_title, 'OldStatus' => ( 'publish' === $old_status ) ? 'open' : $old_status, 'NewStatus' => ( 'publish' === $new_status ) ? 'open' : $new_status, $editor_link['name'] => $editor_link['value'], ) ); $result = 1; } break; } return $result; } /** * Event post changed (order, parent, URL). * * @param stdClass $old_post - The old post. * @param stdClass $new_post - The new post. * * @return bool $result * * @since 4.6.0 */ private static function event_forum_changed( $old_post, $new_post ) { $editor_link = self::get_editor_link( $new_post ); // Changed Order. if ( $old_post->menu_order !== $new_post->menu_order ) { Alert_Manager::trigger_event( 8004, array( 'ForumName' => $new_post->post_title, 'OldOrder' => $old_post->menu_order, 'NewOrder' => $new_post->menu_order, $editor_link['name'] => $editor_link['value'], ) ); return 1; } // Changed Parent. if ( $old_post->post_parent !== $new_post->post_parent ) { switch ( $old_post->post_type ) { case 'forum': Alert_Manager::trigger_event( 8008, array( 'ForumName' => $new_post->post_title, 'OldParent' => $old_post->post_parent ? get_the_title( $old_post->post_parent ) : 'no parent', 'NewParent' => $new_post->post_parent ? get_the_title( $new_post->post_parent ) : 'no parent', $editor_link['name'] => $editor_link['value'], ) ); break; case 'topic': Alert_Manager::trigger_event( 8018, array( 'TopicName' => $new_post->post_title, 'OldForum' => $old_post->post_parent ? get_the_title( $old_post->post_parent ) : 'no parent', 'NewForum' => $new_post->post_parent ? get_the_title( $new_post->post_parent ) : 'no parent', $editor_link['name'] => $editor_link['value'], ) ); break; } return 1; } // Changed URL. $old_link = self::$oldlink; $new_link = get_permalink( $new_post->ID ); if ( ! empty( $old_link ) && $old_link !== $new_link ) { switch ( $old_post->post_type ) { case 'forum': Alert_Manager::trigger_event( 8003, array( 'ForumName' => $new_post->post_title, 'OldUrl' => $old_link, 'NewUrl' => $new_link, $editor_link['name'] => $editor_link['value'], ) ); break; case 'topic': Alert_Manager::trigger_event( 8017, array( 'TopicName' => $new_post->post_title, 'OldUrl' => $old_link, 'NewUrl' => $new_link, $editor_link['name'] => $editor_link['value'], ) ); break; } return 1; } return 0; } /** * Trigger Event (Forum). * * @param stdClass $post - The post. * @param int $event - Event code. * * @since 4.6.0 */ private static function event_forum_by_code( $post, $event ) { $editor_link = self::get_editor_link( $post ); Alert_Manager::trigger_event( $event, array( 'ForumID' => $post->ID, 'ForumName' => $post->post_title, $editor_link['name'] => $editor_link['value'], ) ); } /** * Trigger Event (Topic). * * @param stdClass $post - The post. * @param int $event - Event code. * * @since 4.6.0 */ private static function event_topic_by_code( $post, $event ) { $editor_link = self::get_editor_link( $post ); Alert_Manager::trigger_event( $event, array( 'TopicID' => $post->ID, 'TopicName' => $post->post_title, $editor_link['name'] => $editor_link['value'], ) ); } /** * Trigger of ajax events generated in the Topic Grid. * * @global mixed $_GET Get data * * @since 4.6.0 */ public static function trigger_ajax_change() { // Filter $_GET array for security. $get_array = filter_input_array( INPUT_GET ); if ( ! empty( $get_array['post_type'] ) && ! empty( $get_array['topic_id'] ) ) { if ( 'topic' === $get_array['post_type'] ) { $post = get_post( $get_array['topic_id'] ); // Topic type. if ( isset( $get_array['action'] ) && 'bbp_toggle_topic_stick' === $get_array['action'] ) { if ( ! empty( $post->post_parent ) ) { $post_id = $post->post_parent; } else { $post_id = \sanitize_text_field( \wp_unslash( $get_array['topic_id'] ) ); } $bbp_sticky_topics = maybe_unserialize( get_post_meta( $post_id, '_bbp_sticky_topics', true ) ); $fn = WP_Helper::is_multisite() ? 'get_site_option' : 'get_option'; $bbp_super_sticky_topics = maybe_unserialize( $fn( '_bbp_super_sticky_topics' ) ); if ( ! empty( $bbp_sticky_topics ) && in_array( $get_array['topic_id'], $bbp_sticky_topics, true ) ) { $old_type = 'sticky'; } elseif ( ! empty( $bbp_super_sticky_topics ) && in_array( $get_array['topic_id'], $bbp_super_sticky_topics, true ) ) { $old_type = 'super sticky'; } else { $old_type = 'normal'; } switch ( $old_type ) { case 'sticky': case 'super sticky': $new_type = 'normal'; break; case 'normal': if ( isset( $get_array['super'] ) && 1 === $get_array['super'] ) { $new_type = 'super sticky'; } else { $new_type = 'sticky'; } break; } $editor_link = self::get_editor_link( $post ); if ( ! empty( $new_type ) && $old_type !== $new_type ) { Alert_Manager::trigger_event( 8016, array( 'TopicName' => $post->post_title, 'OldType' => $old_type, 'NewType' => $new_type, $editor_link['name'] => $editor_link['value'], ) ); } } } } if ( ! empty( $get_array['post_type'] ) && ! empty( $get_array['forum_id'] ) ) { if ( 'forum' === $get_array['post_type'] ) { $post = get_post( $get_array['forum_id'] ); // Topic type. if ( isset( $get_array['action'] ) && 'bbp_toggle_forum_close' === $get_array['action'] ) { if ( ! empty( $post->post_parent ) ) { $post_id = $post->post_parent; } else { $post_id = \sanitize_text_field( \wp_unslash( $get_array['forum_id'] ) ); } $editor_link = self::get_editor_link( $post ); $bbp_status = get_post_meta( $post->ID, '_bbp_status', true ); $old_status = ! empty( $bbp_status ) ? $bbp_status : 'open'; $new_status = ( 'closed' === $old_status ) ? 'open' : 'closed'; if ( ! empty( $new_status ) && $old_status !== $new_status ) { Alert_Manager::trigger_event( 8001, array( 'ForumName' => $post->post_title, 'OldStatus' => $old_status, 'NewStatus' => $new_status, $editor_link['name'] => $editor_link['value'], ) ); } } } } } /** * Get editor link. * * @param stdClass $post - The post. * * @return array $editor_link_array - Name and value link. * * @since 4.6.0 */ private static function get_editor_link( $post ) { $name = 'EditorLink'; switch ( $post->post_type ) { case 'forum': $name .= 'Forum'; break; case 'topic': $name .= 'Topic'; break; } $value = get_edit_post_link( $post->ID ); $editor_link_array = array( 'name' => $name, 'value' => $value, ); return $editor_link_array; } } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
Alerts
---
0755
Helpers
---
0755
.DS_Store
6148 bytes
0644
class-acf-meta-sensor.php
5398 bytes
0644
class-acf-sensor.php
18555 bytes
0644
class-bbpress-sensor.php
27193 bytes
0644
class-bbpress-system-sensor.php
3777 bytes
0644
class-bbpress-user-sensor.php
11135 bytes
0644
class-gravity-forms-sensor.php
49475 bytes
0644
class-main-wp-sensor.php
14131 bytes
0644
class-mainwp-server-sensor.php
26058 bytes
0644
class-memberpress-sensor.php
52670 bytes
0644
class-multisite-sign-up-sensor.php
3722 bytes
0644
class-rank-math-sensor.php
11911 bytes
0644
class-redirection-sensor.php
14254 bytes
0644
class-tablepress-sensor.php
17655 bytes
0644
class-termly-sensor.php
9341 bytes
0644
class-woocommerce-public-sensor.php
24098 bytes
0644
class-woocommerce-sensor-helper-second.php
103733 bytes
0644
class-woocommerce-sensor-helper-third.php
4406 bytes
0644
class-woocommerce-sensor-helper.php
98594 bytes
0644
class-woocommerce-sensor.php
48936 bytes
0644
class-wp-2fa-sensor.php
11628 bytes
0644
class-wp-comments-sensor.php
7104 bytes
0644
class-wp-content-sensor.php
58785 bytes
0644
class-wp-database-sensor.php
17912 bytes
0644
class-wp-files-sensor.php
4531 bytes
0644
class-wp-log-in-out-sensor.php
20101 bytes
0644
class-wp-menus-sensor.php
24986 bytes
0644
class-wp-metadata-sensor.php
23063 bytes
0644
class-wp-multisite-sensor.php
13562 bytes
0644
class-wp-plugins-themes-sensor.php
37203 bytes
0644
class-wp-register-sensor.php
3808 bytes
0644
class-wp-request-sensor.php
3390 bytes
0644
class-wp-system-sensor.php
45784 bytes
0644
class-wp-user-profile-sensor.php
21796 bytes
0644
class-wp-widgets-sensor.php
10878 bytes
0644
class-wpforms-sensor.php
52009 bytes
0644
class-yoast-seo-sensor.php
71603 bytes
0644
index.php
58 bytes
0644
N4ST4R_ID | Naxtarrr