403 ) ); } $reports = new AdminReports(); return $reports->build_report( $input ); } function adcmdr_ability_list_ads( $input ) { if ( ! current_user_can( AdCommander::capability() ) ) { return new WP_Error( 'adcmdr_forbidden', __( 'You do not have permission to list ads.', 'ad-commander' ), array( 'status' => 403 ) ); } if ( isset( $input['ad_ids'] ) && ! empty( $input['ad_ids'] ) ) { $ad_ids = array_map( 'intval', $input['ad_ids'] ); } elseif ( isset( $input['ad_id'] ) ) { $ad_ids = intval( $input['ad_id'] ); } else { $ad_ids = array(); } $detailed = isset( $input['detailed'] ) ? (bool) $input['detailed'] : false; $include_groups = isset( $input['include_groups'] ) ? (bool) $input['include_groups'] : false; $include_campaigns = isset( $input['include_campaigns'] ) ? (bool) $input['include_campaigns'] : false; $include_advertisers = isset( $input['include_advertisers'] ) ? (bool) $input['include_advertisers'] : false; $post_statuses = isset( $input['post_statuses'] ) ? array_map( 'sanitize_text_field', $input['post_statuses'] ) : array(); return AbilitiesMethods::instance()->list_ads( $ad_ids, $post_statuses, $detailed, $include_groups, $include_campaigns, $include_advertisers ); }