Sindbad~EG File Manager
<?php
namespace UxBuilder\Ajax;
class Posts {
public function get_posts () {
$post_id = array_key_exists( 'id', $_GET ) ? $_GET['id'] : array();
$post_ids = array_key_exists( 'values', $_GET ) ? $_GET['values'] : array();
$option = array_key_exists( 'option', $_GET ) ? $_GET['option'] : array();
// Return an error if nonce is invalid.
check_ajax_referer( 'ux-builder-' . $post_id, 'security' );
if ( empty( $post_ids ) ) {
return wp_send_json_success( array() );
}
$posts = get_posts( array(
'numberposts' => -1,
'post__in' => is_array( $post_ids ) ? $post_ids : array( $post_ids ),
'orderby' => 'post__in',
'ignore_sticky_posts' => true,
'post_type' => isset( $option['post_type'] ) ? $option['post_type'] : get_post_types(),
'suppress_filters' => false
) );
$items = array_map( function ( $post ) {
return array(
'id' => $post->ID,
'title' => $post->post_title,
);
}, $posts );
wp_send_json_success( $items );
}
public function search_posts() {
$post_id = array_key_exists( 'id', $_GET ) ? $_GET['id'] : array();
$query = array_key_exists( 'query', $_GET ) ? $_GET['query'] : array();
$option = array_key_exists( 'option', $_GET ) ? $_GET['option'] : array();
// Return an error if nonce is invalid.
check_ajax_referer( 'ux-builder-' . $post_id, 'security' );
$posts = get_posts( array(
's' => $query,
'numberposts' => 25,
'ignore_sticky_posts' => true,
'post_type' => isset( $option['post_type'] ) ? $option['post_type'] : null,
'suppress_filters' => false
) );
// Get relative url's for all found posts.
foreach ( $posts as &$post) {
$link = parse_url( get_permalink( $post ) );
$post->permalink = $link['path'];
}
$items = array_map( function ( $post ) {
return array(
'id' => $post->ID,
'title' => $post->post_title
);
}, $posts );
wp_send_json_success( $items );
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists