Collections functions
Encryption functions
General functions
Theme permission functions
Resource functions

collection_readable()

Description

Returns true if the current user has read access to the given collection.

Parameters

ColumnTypeDefaultDescription
$collection integer

Return

boolean

Location

include/collections_functions.php lines 436 to 479

Definition

 
function collection_readable($collection)
    {
    
# Fetch collection details.
    
if (!is_numeric($collection)) {return false;}
    
$collectiondata=get_collection($collection);

    if(
$collectiondata === false)
        {
        return 
false;
        }

    
# Load a list of attached users
    
$attached=sql_array("select user value from user_collection where collection='$collection'");
    
$attached_groups=sql_array("select usergroup value from usergroup_collection where collection='$collection'");
    global 
$userref,$usergroup;

    global 
$ignore_collection_access$collection_commenting;
    
# Access if collection_commenting is enabled and request feedback checked
    # Access if it's a public collection (or theme)
    # Access if k is not empty or option to ignore collection access is enabled and k is empty
    
if ($collection_commenting && $collectiondata['request_feedback'] == || $collectiondata["public"]==|| getval("k","")!="" || getval("k","")=="" && $ignore_collection_access)
        {
        return 
true;
        }

    
# Perform these checks only if a user is logged in
    
global $userref;
    if (
is_numeric($userref))
        {
        
# Access if:
        #    - It's their collection
        #     - It's a public collection (or theme)
        #    - They have the 'access and edit all collections' admin permission
        #     - They are attached to this collection
        #   - Option to ignore collection access is enabled and k is empty
        
if($userref==$collectiondata["user"] || $collectiondata["public"]==|| checkperm("h") || in_array($userref,$attached)  || in_array($usergroup,$attached_groups)|| /*(checkperm("R") && $request) ||*/ getval("k","")!="" || (getval("k","")=="" && $ignore_collection_access))
            {
            return 
true;
            }

        }

    return 
false;
    }

This article was last updated 9th July 2020 23:35 Europe/London time based on the source file dated 9th July 2020 17:22 Europe/London time.