Coding standards
Security in ResourceSpace
Developer reference
Database
Action functions
Admin functions
Ajax functions
Annotation functions
API functions
Collections functions
Comment functions
Config functions
CSV export functions
Dash functions
Debug functions
Encryption functions
Facial recognition functions
File functions
General functions
Language functions
Log functions
Login functions
Message functions
Migration functions
Node functions
PDF functions
Plugin functions
Render functions
Reporting functions
Request functions
Research functions
Slideshow functions
Theme permission functions
User functions
Video functions
Database functions
Metadata functions
Resource functions
Search functions
Map functions
Job functions
Tab functions
Test functions

search_get_previews()

Parameters

ColumnTypeDefaultDescription
$search
$restypes ""
$order_by "relevance"
$archive 0
$fetchrows -1
$sort "DESC"
$access_override false
$ignore_filters false
$return_disk_usage false
$recent_search_daylimit ""
$go false
$stats_logging true
$return_refs_only false
$editable_only false
$returnsql false
$getsizes array
$previewextension "jpg"

Location

include/search_functions.php lines 1870 to 1934

Definition

 
function search_get_previews($search$restypes ""$order_by "relevance"$archive 0$fetchrows = -1$sort "DESC"$access_override false$ignore_filters false$return_disk_usage false$recent_search_daylimit ""$go false$stats_logging true$return_refs_only false$editable_only false$returnsql false$getsizes = array(), $previewextension "jpg")
{
    global 
$access;

    
$structured false;
    if (
is_array($fetchrows)) {
        
$structured true;
    } elseif (!
is_array($fetchrows) && strpos((string)$fetchrows",") !== false) {
        
$fetchrows explode(","$fetchrows);
        if (
count($fetchrows) == 2) {
            
$structured true;
        } else {
            
$fetchrows 0;
        }
    }

    if (
$structured) {
        
array_map(function ($val) {
            return 
$val $val 0;
        }, 
$fetchrows);
    }

    
# Note the subset of the available parameters. We definitely don't want to allow override of permissions or filters.
    
$results do_search($search$restypes$order_by$archive$fetchrows$sort$access_overrideDEPRECATED_STARSEARCH$ignore_filters$return_disk_usage$recent_search_daylimit$go$stats_logging$return_refs_only$editable_only$returnsql);
    if (
is_string($getsizes)) {
        
$getsizes explode(","$getsizes);
    }
    
$getsizes array_map('trim'$getsizes);

    if (!
is_array($results)) {
        return 
$results;
    }

    
$total $results["total"] ?? count($results);
    
$resultset $results["data"] ?? $results;

    if (
is_array($resultset) && is_array($getsizes) && count($getsizes) > 0) {
        
$available get_all_image_sizes(true, ($access == 1));
        for (
$n 0$n $total$n++) {
            
// if using fetchrows some results may just be == 0 - remove from results array
            
if (!isset($resultset[$n]) || $resultset[$n] == 0) {
                continue;
            }

            
$access get_resource_access($resultset[$n]);
            
$use_watermark check_use_watermark();

            if (
$resultset[$n]["access"] == 2) {
                continue;
            } 
// No images for confidential resources
            
foreach ($getsizes as $getsize) {
                if (!(
in_array($getsizearray_column($available"id")))) {
                    continue;
                }
                if (
                    !
resource_has_access_denied_by_RT_size($resultset[$n]['resource_type'], $getsize)
                    && 
file_exists(get_resource_path($resultset[$n]["ref"], true$getsizefalse$previewextension, -11$use_watermark))
                ) {
                    
$resultset[$n]["url_" $getsize] = get_resource_path($resultset[$n]["ref"], false$getsizefalse$previewextension, -11$use_watermark);
                }
            }
        }
    }
    return 
$structured ? ["total" => $total"data" => $resultset] : $resultset;
}

This article was last updated 11th February 2025 18:35 Europe/London time based on the source file dated 10th February 2025 15:05 Europe/London time.