function photos_access_node_access_records in Album Photos 7.3
Same name and namespace in other branches
- 8.5 photos_access/photos_access.module \photos_access_node_access_records()
- 8.4 photos_access/photos_access.module \photos_access_node_access_records()
- 6.0.x photos_access/photos_access.module \photos_access_node_access_records()
Implements hook_node_access_records().
File
- photos_access/
photos_access.module, line 446
Code
function photos_access_node_access_records($node) {
global $user;
if (variable_get('photos_access_' . $node->type, 0)) {
if (isset($node->privacy['vid'])) {
// @todo cleanup?
$acc['updateid'] = isset($node->privacy['eid']) ? $node->privacy['eid'] : 0;
$acc['viewid'] = isset($node->privacy['viewid']) ? $node->privacy['viewid'] : 0;
$acc['vid'] = $node->privacy['vid'];
}
else {
$acc = isset($_SESSION['photos_access_ac_' . $node->nid]) ? $_SESSION['photos_access_ac_' . $node->nid] : '';
}
if (isset($acc['vid']) || isset($acc['updateid'])) {
// Author has full access to all albums they create.
$grants[] = array(
'realm' => 'photos_access_author',
'gid' => $node->uid,
'grant_view' => 1,
'grant_update' => 1,
'grant_delete' => 1,
'priority' => 0,
);
// If viewid is 1:locked, only author can view it.
if ($acc['viewid'] != 1) {
// Open is 0.
$photos_access_gid = 0;
if ($acc['viewid'] != 0) {
// If not open use {node}.nid.
$photos_access_gid = $node->nid;
}
$grants[] = array(
'realm' => 'photos_access',
'gid' => $photos_access_gid,
'grant_view' => 1,
'grant_update' => 0,
'grant_delete' => 0,
'priority' => 0,
);
}
// Access for collaborators.
if (isset($acc['updateid']) && !empty($acc['updateid'])) {
$grants[] = array(
'realm' => 'photos_access_update',
'gid' => $node->nid,
'grant_view' => 1,
'grant_update' => 1,
'grant_delete' => 0,
'priority' => 0,
);
}
return $grants;
}
if (isset($_SESSION['photos_access_ac_' . $node->nid])) {
unset($_SESSION['photos_access_ac_' . $node->nid]);
}
}
}