ID);
$role = $userData->roles;
foreach ($role as $value) {
$output[] = array(
'link' => $url,
'title' => $userData->display_name,
'status' => $value,
'info' => $userData->user_registered,
'image' => esc_url(get_avatar_url($userData->ID)),
'type' => 'User'
);
}
return $output;
}
function aaskp_search_page_callback() {
$selectedKeyword = (isset($_GET['keyword'])) ? sanitize_text_field($_GET['keyword']) : '';
$selectedFilter = (isset($_GET['select'])) ? sanitize_text_field($_GET['select']) : '';
$selectedStatus = (isset($_GET['status'])) ? sanitize_text_field($_GET['status']) : '';
$selectedUser = (isset($_GET['user'])) ? sanitize_text_field($_GET['user']) : '';
$selectedMetaKey = (isset($_GET['metaKey'])) ? sanitize_text_field($_GET['metaKey']) : '';
$selectedMetaVal = (isset($_GET['metaValue'])) ? sanitize_text_field($_GET['metaValue']) : '';
$selectedMatchType = (isset($_GET['matchType'])) ? sanitize_text_field($_GET['matchType']) : '';
?>
true));
$post_types = array_values($post_types);
// get pre search results from hook
if(!empty($filters['user'])){
$user=$filters['user'];
$pre_filtered_result = apply_filters('aaskp_pre_search', $user);
if (is_array($pre_filtered_result)) {
$results = array_merge($results, $pre_filtered_result);
}
}
$object = searchclass::getInstance();
switch($filters['select']) {
case "Users":
$results=array_merge(
$results,
$object->AASKP_getUsers($postSearch,$filters,true)
);
break;
case "PostsAndPages":
$results=array_merge(
$results,
$object->AASKP_getPostsAndPages($postSearch,$filters,true)
);
break;
case "Media":
$results=array_merge(
$results,
$object->AASKP_getMedia($postSearch,$filters,true)
);
break;
case "Taxonomies":
$results=array_merge(
$results,
$object->AASKP_getTaxonomies($postSearch,$filters,true)
);
break;
case "PostMeta":
$results=array_merge(
$results,
$object->AASKP_getPostMeta($postSearch,$filters,true)
);
break;
case "Comments":
$results=array_merge(
$results,
$object->AASKP_getComments($postSearch,$filters,true)
);
break;
case "All":
case 0:
$results = array_merge(
$results, // pre search
$object->AASKP_getUsers($postSearch,$filters,true), // user results
$object->AASKP_getPostsAndPages($postSearch,$filters,true), // post types
$object->AASKP_getMedia($postSearch,$filters,true), // attachments
$object->AASKP_getTaxonomies($postSearch,$filters,true), // taxonomies
$object->AASKP_getPostMeta($postSearch,$filters,true), // post meta
$object->AASKP_getComments($postSearch,$filters,true) // comments
);
}
$post_filtered_result = apply_filters('aaskp_post_search', $postSearch);
if (is_array($post_filtered_result)) {
$results = array_merge($results, $post_filtered_result);
}
$numPerPage=10;
$numPages = ceil(count($results)/$numPerPage);
if (isset($_GET['offset'])) {
if(!empty($_GET['offset'])) {
$offset=sanitize_text_field($_GET['offset']);
}
else {
$offset=1;
}
}
else {
$offset=1;
}
$start=($offset-1)*$numPerPage;
$end=min(($offset*$numPerPage),count($results));
if(count($results) > 1){
echo 'Total '.count($results).' Search Results Found
';
}elseif(count($results) == 0){
echo 'Total '.count($results).' Search Result Found.
';
}
else{
echo 'Total '.count($results).' Search Result Found
';
}
echo "";
if(count($results)==0){ //no results found
echo "| Please refine your search |
";
}else{ //display the found results
echo "| Type | Thumbnail | Title | Status | Info |
";
for($i=$start;$i<$end;$i++){
$values=$results[$i];
if(array_key_exists("status",$values)){
$status = $values['status'];
}
else {
$status="[NO STATUS]";
}
$title = $values['title'];
$link = $values['link'];
$link='"'.$link.'"';
$info = $values['info'];
$types=$values['type'];
$image = '';
if(array_key_exists("image",$values)){
$image = $values['image'];
$images = "
";
}else{
$images="[NO IMAGE]";
}
if($status=="administrator") {
$status="admin";
}
if($title ==''){
$title="No title";
}
switch($types) {
case "User":
$type = "";
break;
case "Post":
$type = "";
break;
case "Media":
$type = "";
break;
case "Taxonomy":
$type = "";
break;
case "PostMeta":
$type = "";
break;
case "Comment":
$type = "";
break;
}
echo "| ".$type." | ".$images." | ".$title." | ".$status." | ".$info." |
";
}
echo "
";
$adminUrl= get_admin_url();
$url=$adminUrl."tools.php?page=advanced-admin-search&keyword=".$postSearch."&select=".$filters['select']."&status=".$filters['status']."&user=".$filters['user']."&metaKey=".$filters['metaKey']."&metaValue=".$filters['metaValue']."&matchType=".$filters['matchType'];
//pagination for results found
createPagination($url,$offset,$numPages);
}
}
}
}
function createPagination($url,$offset,$numPages)
{
$previousPage = $offset - 1;
$nextPage = $offset + 1;
$secondLast=$numPages-1;
if($numPages>1) {
echo "
";
}
}
?>